LeadClaw MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LeadClaw MCPBook 3 sales appointments next Tuesday in Dallas with AI startup CEOs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LeadClaw MCP (demo)
Demo MCP server for LeadClaw — a service for booking confirmed sales appointments through Claude. Human freelance SDRs handle the outbound; AI handles matching, quality, billing, and reporting. Customers pay only per BANT-qualified meeting that lands on their calendar.
This server is the showcase implementation used for the demo video and concept pitch. It returns realistic fake data so Claude Desktop calls feel live without any real SDR plumbing behind them yet.
What this demo proves
In Claude Desktop you can say:
Book 3 sales appointments next Tuesday in Dallas with AI startup CEOs. Budget $450.
…and Claude will:
Call
book_appointmentson this server.Get back a
request_idand an ETA.Poll
check_status(immediately or later) and see appointments populate.Pull full BANT briefings with
get_appointment_details.
Nothing real happens on the SDR side — but the customer experience is identical to what the real product will feel like.
Tools exposed
Tool | Purpose |
| Submit a request for N confirmed appointments. Returns a |
| Poll a request; returns confirmed appointments so far and current phase. |
| Full briefing for one appointment: contact, company, BANT, SDR notes, meeting link. |
Status progression (demo simulation)
Status advances based on wall-clock time since the request was created — no background workers needed:
Elapsed | Phase | Confirmed |
0–5s |
| 0 |
5–15s |
| 0 |
15s |
| 1 |
+30s each |
| +1 |
All seats filled |
| N |
So a 3-seat request is fully completed ~75 seconds after book_appointments. Tunable in src/tools/status.ts.
Setup
Requirements: Node.js 18+ (this repo was developed against Node 24).
npm install
npm run buildThe compiled server entrypoint is dist/index.js. Data persists to data/store.json (auto-created).
Connect to Claude Desktop
Edit your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"leadclaw": {
"command": "node",
"args": ["C:\\absolute\\path\\to\\leadclaw-mcp\\dist\\index.js"]
}
}
}Replace the path with the absolute path to your built dist/index.js. On macOS/Linux use forward slashes.
Restart Claude Desktop. The three LeadClaw tools should appear in the tool list.
Quick smoke test (without Claude Desktop)
node dist/index.jsThen paste the following on stdin (one JSON object per line):
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"smoke","version":"1.0"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}You should see three tools advertised.
Project layout
leadclaw-mcp/
├── src/
│ ├── index.ts MCP server entrypoint (stdio transport)
│ ├── tools/
│ │ ├── book.ts book_appointments
│ │ ├── status.ts check_status (time-based phase simulation)
│ │ └── details.ts get_appointment_details
│ ├── mock/
│ │ ├── companies.ts fake AI/SaaS company pool
│ │ ├── people.ts fake names + default role pool
│ │ └── generator.ts appointment + BANT + meeting-time synthesis
│ └── db/
│ └── store.ts JSON file persistence
├── data/
│ └── store.json auto-generated on first request (gitignored)
└── dist/ build outputDemo recording flow
Restart Claude Desktop with the MCP config in place.
In a fresh chat, paste:
Book 3 sales appointments next Tuesday in Dallas with AI startup CEOs. Budget $450.
Claude calls
book_appointments→ you see the tool call card.Ask: "check status" → Claude calls
check_status. First call (within ~15s) shows processing/matching; wait ~75s and call again to see all 3 confirmed.Optional: "give me the full briefing on the first one" → Claude calls
get_appointment_details.
For the 30-second video cut, edit out the wait between calls.
What's intentionally not in this build
Real SDR matching / phone integration
Stripe / billing
OAuth (stdio is local-only)
Web dashboard
Anthropic Connectors Directory submission
These come after the concept lands.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/no39pikko/leadclaw-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server