MCP server
Drive SendClaw from inside Claude. JSON-RPC over HTTP, Bearer auth, four tools.
SendClaw exposes a Model Context Protocol server at /api/mcp. Connect Claude (Desktop or any MCP-aware client) and you get four tools for working with your documents and leads, all without leaving the chat.
The wedge use case: "Hey Claude, gate this artifact." One tool call, public share URL in the response, lead capture wired up.
Endpoint
POST https://app.sendclaw.io/api/mcp
Content-Type: application/json
Authorization: Bearer sclw_pat_...JSON-RPC 2.0. Supports the standard initialize, tools/list, and tools/call methods. A GET /api/mcp returns a friendly description for curl tests.
Auth
Bearer auth using a Personal Access Token. Get one in Settings → Developer → Create token.
Tools
list_documents(limit?: number)
List the documents in your active organisation. Defaults to the most recent 20.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_documents",
"arguments": { "limit": 50 }
}
}Returns a list of { id, name, type, shareUrl, isActive, leadCount, createdAt } objects.
get_document(documentId: string)
Fetch a single document by id with its gate config and most recent leads. Useful when you want Claude to summarise how a doc is performing.
list_leads(documentId?: string, limit?: number)
List leads across the org, optionally filtered by document id. Defaults to the most recent 50.
Returns { id, email, phone, firstName, lastName, company, custom, document, capturedAt, status }.
gate_artifact({ html?: string, url?: string, name?: string, heading?: string })
The wedge. Create a new document, gate it with sensible defaults, and return the public share URL.
- Pass
htmlto paste raw HTML (Claude artifact source). - Or pass
urlto embed an existing URL. For a Claude artifact, a plain share URL (claude.ai/public/artifacts/<id>) redirects to Claude after the gate, while the artifact's embed URL (claude.site/public/artifacts/<id>/embed) renders it live inline (the artifact's Allowed domains must include your share host). nameandheadingare optional. We auto-fill from the artifact<title>(for HTML) or the provider title (for URL).
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "gate_artifact",
"arguments": {
"html": "<!doctype html><html>...</html>",
"name": "Pricing calculator v3"
}
}
}Response:
{
"documentId": "doc_01HQ...",
"shareUrl": "https://app.sendclaw.io/abc12345",
"editUrl": "https://app.sendclaw.io/g/documents/doc_01HQ..."
}The doc is created in Draft state. Visit editUrl to customise the gate and publish.
Wiring it up in Claude Desktop
In your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"sendclaw": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://app.sendclaw.io/api/mcp"],
"env": {
"AUTHORIZATION": "Bearer sclw_pat_your_token_here"
}
}
}
}Restart Claude Desktop. The four tools should show up in the tool picker.
Rate limits
The MCP route inherits the per-org single-flight limit from the AI prefill route. If two tool calls land on the same Lambda for the same org at the same time, the second gets a 429. Retry it.