LeadSync

me.leadsyncPublished by leadsync.mev0.1.1Updated Oct 30, 2026

Manage Facebook and Instagram lead ad delivery: CRMs, alerts, autoresponders and test leads.

Overview

AI-generated overview

LeadSync MCP server that lets an assistant set up and troubleshoot Facebook and Instagram lead ad delivery to CRMs, alerts and autoresponders.

What you can do
  • Inspect the account, its API key scope and limits, and find other accounts with an admin key
  • Review sources, pages, lists, destination connections and their autoresponders
  • Read recent leads with per-destination delivery status, plus the sent-email log
  • Refresh a page's Meta lead forms and read their questions for field mapping
  • Attach a form to a connection, set or clear field mappings, and pause or resume a list
  • Create email autoresponders, resend failed or held lead deliveries, and send a test lead
When to use it
Useful when you run LeadSync to route Meta lead ad forms into CRMs, Google Sheets or email, and want an assistant to configure mappings, add autoresponders, or diagnose why a lead did not arrive.
Requirements
Runs locally over stdio, typically via npx @leadsync/mcp, so Node.js is needed. Requires a LeadSync API key in LEADSYNC_API_KEY, either set in the environment or saved to ~/.leadsync/.env by the LeadSync skills login command. Optional LEADSYNC_API_BASE overrides the API host; LEADSYNC_ACCOUNT is for LeadSync staff. Network access to the LeadSync API is required.
Before you install
The API key grants access to the LeadSync account and is stored in a local .env file if you use the login command. Several tools write or send: attaching a form can replay up to 7 days of leads, set_mapping replaces the whole mapping, autoresponders email the customer's prospects, resend_lead can create irreversible duplicates, and send_test_lead reaches real destinations and may email the customer. Admin keys can act on other accounts, so confirm the target account first.

Installation

In SourceWeft

  1. Open LeadSync in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@leadsync/mcp

The MCP server for the LeadSync API. It lets Claude and other MCP clients set up and troubleshoot LeadSync lead delivery: connect Meta lead forms to destinations, map fields, add autoresponders, send test leads and check what happened to a lead.

Most people install it with the installer, which also adds the LeadSync skills:

bash
npx @leadsync/skills --claude    # or --cursor, --codexnpx @leadsync/skills login

To run it by hand in any MCP client, use the command npx -y @leadsync/mcp. The full guide, the tools list and the safety rules are in the repository README.

Settings

The server reads each setting from the environment first, then from ~/.leadsync/.env (one KEY=value per line, written by npx @leadsync/skills login).

VariableWhat it does
LEADSYNC_API_KEYRequired. Your API key, from Account, Settings, API keys in LeadSync. Never written to logs or tool output.
LEADSYNC_API_BASEOptional. Defaults to https://leadsync.me.
LEADSYNC_ACCOUNTOptional. LeadSync staff only.

Licence: MIT.

Source: packages/mcp/README.md at commit 04ff954

Tools

14

get_me

Returns the account (id, email, username, plan level, subscription), the key (name, scope, can_write_accounts, can_test_lead), acting_on_other_account and limits; no balance. Use it first to confirm which account you are working on.

Parametersaccount_id

find_accounts

Admin keys only. Matches email, username or page name, up to 20 accounts, so you can pick an account_id to act on.

Parametersqrequiredaccount_id

get_connections

Returns the sources (pages) -> lists graph (each list with `active`, `mapping_set` and its destinations) plus the account's connections with their autoresponders. A source's LeadSync page id is `page.id`; its Facebook id is `page.page_fb_id`. Use it to find a page_id, list_id or connection_id. It cannot show a list's current mapping, only whether one is set.

Parametersaccount_id

get_destination_fields

Returns the fields a destination connection accepts, for building a field mapping. For Google Sheets pass sheet_id, the exact TAB NAME inside the spreadsheet, not the spreadsheet id. Ask the human for it (new Google Sheets often use "Sheet1", but a sheet created another way may be "Untitled"); a destination_error with a sheet_id usually means the tab name is wrong, check that before suggesting a reconnect.

Parameterssheet_idaccount_idconnection_idrequired

list_autoresponders

Lists the account's autoresponders and the connection each is attached to. Every lead through a connection gets every autoresponder on it.

Parametersaccount_id

list_leads

Lists recent leads, newest activity first, with the delivery status for each destination. The first stop for "why didn't my lead arrive": check for failed, pending or held deliveries. `since` defaults to 7 days ago and the response echoes the value used as `since_used`; `limit` defaults to 50 (max 200). A lead counts as "never reached LeadSync" only when the window covered its time (pass `since` earlier than the lead's time) and fewer than `limit` rows came back; otherwise narrow with list_id, status or since, or escalate.

Parameterslimitsincestatuslist_idaccount_id

list_email_log

Lists emails LeadSync sent (lead notifications, autoresponders, system mail). The first stop for "why didn't my lead arrive" when the destination is an email address, or to check an autoresponder fired.

Parameterstypelimitsincelist_idaccount_id

refresh_forms

Re-reads the page's lead forms from Meta so newly created forms appear and attached ones are marked; each form's leads_count shows whether it is live, and forms[].questions[] lists its questions (key, label and type): use each key as the form field key when mapping. Takes the LeadSync page id (sources[].page.id from get_connections).

Parameterspage_idrequiredaccount_id

attach_form

Attaches a lead form to a destination connection by creating a list. Send mapping AND settings in this same call: a NEW list immediately replays up to 7 days of that form's leads using the mapping given here, so mapping afterwards delivers the replay unmapped. Idempotent on page, form and connection (an existing list comes back with created false, mapping_applied false and a hint; its mapping is untouched). form_id "catch_all" catches every form on the page; Google Sheets needs settings.sheet_id, the TAB NAME. Gated: on another account, or a live form, wait for the human's yes first. override_limits is admin-only and audited.

Parametersform_idrequiredmappingpage_idrequiredsettingsform_nameaccount_idconnection_idrequiredoverride_limits

set_list_active

Pauses or resumes delivery for one list. Resuming can use a source slot and is refused if another active list covers the same form and connection.

Parametersactiverequiredlist_idrequiredaccount_idoverride_limits

set_mapping

Sets an EXISTING list's field mapping and/or per-list settings. Replaces the whole mapping with what you send; settings keys are merged. Send `settings` alone to leave the mapping untouched. An empty mapping object clears it. No tool can read the current mapping, so on a list with mapping_set true never send `mapping` unless the human has given the complete mapping; otherwise the change is made in the LeadSync UI. Send at least one of mapping or settings. For a new list, put the mapping in attach_form instead.

Parameterslist_idrequiredmappingsettingsaccount_id

create_autoresponder

Creates an email autoresponder on a connection. A gated write on another account: it starts emailing the customer's prospects, so wait for the human's yes (on another account there may be no 409 warning). Every lead through the connection receives every autoresponder on it; a 409 lists what is already attached, ask the human before acknowledging.

Parametersnamerequiredcontentrequiredsubjectrequiredfrom_nameaccount_idreply_emailconnection_idrequiredcontent_formatoverride_limitsacknowledge_shared_connection

resend_lead

Requeues a Meta lead's failed or held deliveries. Meta leads only, only failed or held legs, refused while the lead is still in flight; duplicates are irreversible so check list_leads first. Delivery is asynchronous (about a minute); poll list_leads.

Parameterslist_idaccount_idleadgen_idrequired

send_test_lead

Asks Meta to create a test lead for a list's form. The test lead goes to the list's real destinations; on another account it may email the customer, so ask the human before setting acknowledge_customer_impact. Without it on another account the API answers 400 customer_impact_not_acknowledged.

Parameterslist_idrequiredaccount_idacknowledge_customer_impact

Version history

1
  1. v0.1.1LatestOct 30, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts