Native MCP · Claude · Cursor · Claude Code

Drive LocalLeads from any AI stack.

We ship a native MCP server with two surfaces: a remote endpoint for Claude.ai and the Anthropic API, and a stdio package for Claude Desktop, Cursor, and Claude Code. Same tools as the REST API — no wrapper, no parsing middleware.

Two transport options

Remote MCP

Claude.ai · Anthropic API

Streamable HTTP at leads.postorbit.io/mcp. Bearer-token auth for the Anthropic API; full OAuth 2.1 discovery (RFC 9728 + RFC 8414 + RFC 7591 + PKCE) for Claude.ai custom connectors. Stateless transport — horizontal scaling works out of the box.

Stdio package

Claude Desktop · Cursor · Claude Code

Open-source npm package @localleads/mcp. Drop a one-line entry into your client's config — copy-ready snippet is in Settings → Connectors.

Tools the agent can call

All MCP handlers dispatch into the same Fastify routes as the REST API. That means credit checks, validation, error shapes, and the Quality Score logic are bit-for-bit identical — no behavioural drift between the human dashboard and the agent loop.

search_businesses

Niche × city → pre-scored rows with a Quality Score on every result. Same shape as a dashboard search, returned to your agent — no enrichment credits charged at search time.

get_lead

Fetch the full enriched record for a single business ID, including the Quality Score breakdown and contactability signals.

verify_email

Run syntax + MX + mailbox checks on an arbitrary email address. Returns the same verdict your CSV export gets.

list_searches / list_leads

Compact list ops for paging through prior searches or enrichment results from inside an agent loop.

Auth, scopes, and a confession

Claude.ai custom connectors require full OAuth 2.1 — we wired up RFC 9728 (resource metadata), RFC 8414 (server metadata), RFC 7591 (dynamic client registration), and PKCE on the auth flow. The Anthropic API uses bearer-token auth with our existing ll_* API keys.

The confession: we deliberately kept the transport stateless. The MCP server instantiates per request, the bearer token is captured at connect time, and there's no shared session table. Horizontal scaling is trivial, and a hijacked connection can't mid-stream escalate to a different user's credentials.

Plug Claude into the pipeline

The fastest way to feel it: drop the remote MCP URL into a Claude.ai custom connector or grab the stdio config from Settings → Connectors. You'll have an agent searching, scoring, and exporting leads in under five minutes.