FR
Copied
Integration

MCP — Model Context Protocol

Drive outsend from Claude, Cursor, Claude Code or any MCP client. Your subscription, your tokens — live at https://outsend.xyz/mcp.

Status: live. The MCP server is in production. Ask your AI assistant for "1,000 plumbers in Lyon with emails" and it drives outsend for you.

The MCP server exposes outsend as a remote MCP server (Streamable HTTP, stateless) that any MCP-compatible client can connect to: Claude.ai (custom connectors), Claude Desktop, Claude Code, Cursor, the Anthropic API, or any future client that speaks the protocol.

You authenticate with an API key (osk_…) created in Settings → API keys. During the alpha, accounts are invitation-based: start here — the invitation code is applied for you. The AI client then calls outsend on your behalf — using your own LLM subscription, with zero outsend-side LLM cost.

Connect

Endpoint: https://outsend.xyz/mcp — auth via Authorization: Bearer osk_… (or X-API-Key).

Claude Code:

claude mcp add outsend --transport http https://outsend.xyz/mcp \
  --header "Authorization: Bearer osk_YOUR_KEY"

Cursor (~/.cursor/mcp.json):

{ "mcpServers": { "outsend": { "url": "https://outsend.xyz/mcp",
  "headers": { "Authorization": "Bearer osk_YOUR_KEY" } } } }

Clients without header configuration (e.g. Claude.ai custom connectors): use the secret-URL variant — treat the URL itself as a password and don't share it:

https://outsend.xyz/mcp/k/osk_YOUR_KEY

If the key leaks, revoke it in Settings → API keys; the URL dies with it.

Tools

Tool What it does
list_modules Catalog of data modules (needs/produces/when to use)
get_pipeline_schema Machine contract for building pipelines
estimate_scrap Cost (EF) and volume of an extraction, without launching
create_scrap_job Start a Google Maps extraction (async, supports stop_at)
create_enrichment_job Enrich a finished job: emails, reviews, socials, verify, techstack…
get_job Status, counters, download URL
get_job_results Preview rows (≤ 50/call) + total + CSV download link
list_jobs Recent jobs
create_pipeline Create and start a multi-step pipeline
list_pipelines Pipelines with status
create_veille / list_veilles Recurring monitoring on a job or pipeline
get_events Account event feed (job.completed…)

Jobs are asynchronous: the assistant creates a job, polls get_job, then fetches a preview with get_job_results — full data always goes through the download URL, never inline in the chat.

Scope and limits

The MCP server inherits the key's normal permissions:

BYOK vs MCP

Pattern Where the chat lives Who pays the LLM tokens
BYOK Inside outsend.xyz The user, via a pasted API key
MCP Inside the user's existing AI client The user, via their subscription

The two patterns coexist. Pick BYOK if the assistant should live in the outsend UI; pick MCP if it should live wherever you already work.

What's next