Skip to main content
Glama
LeadClaw MCP

LeadClaw MCP

by no39pikko

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:

  1. Call book_appointments on this server.

  2. Get back a request_id and an ETA.

  3. Poll check_status (immediately or later) and see appointments populate.

  4. 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.


Related MCP server: Calendly MCP Server

Tools exposed

Tool

Purpose

book_appointments

Submit a request for N confirmed appointments. Returns a request_id.

check_status

Poll a request; returns confirmed appointments so far and current phase.

get_appointment_details

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

processing

0

5–15s

matching

0

15s

in_progress

1

+30s each

in_progress

+1

All seats filled

completed

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 build

The 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.json

  • Windows: %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.js

Then 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 output

Demo recording flow

  1. Restart Claude Desktop with the MCP config in place.

  2. In a fresh chat, paste:

    Book 3 sales appointments next Tuesday in Dallas with AI startup CEOs. Budget $450.

  3. Claude calls book_appointments → you see the tool call card.

  4. Ask: "check status" → Claude calls check_status. First call (within ~15s) shows processing/matching; wait ~75s and call again to see all 3 confirmed.

  5. 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.

Available Tools

3 tools
book_appointmentsBook sales appointmentsA

Request confirmed sales appointments delivered to your calendar. Human SDRs handle outbound; you pay only per confirmed, BANT-qualified meeting. Use when the user wants to book meetings, generate pipeline, get demos, or set up sales calls — but does not want to do the outreach themselves. Returns a request_id; poll check_status to see confirmed appointments populate.

Inputs: location (required), count (required), industry, target_role, +3 more.

check_statusCheck appointment request statusA

Check the progress of a LeadClaw appointment request. Returns current phase (processing / matching / in_progress / completed) and any confirmed appointments so far. Call this after book_appointments and re-poll as needed until status is completed.

Inputs: request_id (required).

get_appointment_detailsGet appointment detailsA

Pull full briefing on a specific confirmed appointment: contact info, company context, full BANT breakdown, SDR call notes, and meeting link. Use when the user wants to prep for a specific meeting.

Inputs: appointment_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool serves a distinct purpose: booking appointments, checking status, and retrieving details. There is no ambiguity between them.

    Naming Consistency5/5

    All tools follow the verb_noun pattern with snake_case (book_appointments, check_status, get_appointment_details), providing a predictable naming scheme.

    Tool Count4/5

    Three tools is slightly minimal for the domain but covers the core workflow of booking, tracking, and reviewing appointments. It is reasonable for the service's scope.

    Completeness4/5

    The tool set covers the primary lifecycle (book, monitor, view details). Minor gaps like cancellation or rescheduling exist but are not critical for the stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables users to book, cancel, reschedule, and list appointments through natural language interactions. It uses YAML configurations for agent behavior and function logic to manage appointment data and availability.
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Demonstration MCP server for Claude Team integration, enabling querying of sample business data (orders, clients, products) and real-time currency exchange rates through natural language.
      -