dialsheet-mcp
v1.2.0
Published
MCP server for DialSheet — let AI agents read call transcripts and AI summaries, write daily recaps, manage leads, send emails, run sequences, and work the pipeline
Maintainers
Readme
dialsheet-mcp
MCP server for DialSheet, the power dialer and CRM. Gives an AI agent (Claude, Cursor, anything that speaks MCP) your call transcripts, AI call summaries, leads, tasks, pipeline, email and SMS.
Two ways to connect. Most people want the first one.
1. Hosted server (nothing to install)
Endpoint: https://www.dialsheet.io/api/mcp (Streamable HTTP).
claude.ai / Claude Desktop: Settings → Connectors → Add custom connector → paste the URL, leave client ID and secret empty, Connect. You sign in to DialSheet and click Allow. Disconnect by deleting the "Claude (MCP connector)" key under Settings → API Keys.
Clients without OAuth send your API key in the Authorization header:
Claude Code
claude mcp add --transport http dialsheet https://www.dialsheet.io/api/mcp \
--header "Authorization: Bearer ds_your_key"Cursor (.cursor/mcp.json)
{
"mcpServers": {
"dialsheet": {
"url": "https://www.dialsheet.io/api/mcp",
"headers": { "Authorization": "Bearer ds_your_key" }
}
}
}2. This package (stdio)
Same tools, running locally. Use it when your client cannot send a header to a remote server.
{
"mcpServers": {
"dialsheet": {
"command": "npx",
"args": ["-y", "dialsheet-mcp"],
"env": { "DIALSHEET_API_KEY": "ds_your_key" }
}
}
}Set DIALSHEET_API_URL only if you run DialSheet on your own domain.
Getting an API key
DialSheet → Settings → API Keys → Create new API key. API and MCP access are on the Pro plan.
Tools
| Tool | What it does |
|------|--------------|
| daily_recap | The day's calls grouped by prospect with AI summaries, next steps, dispositions, notes, open tasks and deals, plus totals. Built for "write my daily sales recap". |
| list_calls | Call history with transcript, AI summary, AI disposition, next steps, coaching notes and rep notes. Filter by lead, day (date + tz), range (since/until), has_transcript, disposition. |
| get_call | One call with its full transcript. |
| search_leads, get_lead, create_lead, bulk_create_leads, update_lead, delete_lead | Lead CRUD; bulk import up to 500. |
| tag_lead, untag_lead, list_tags, create_tag | Tags. |
| list_notes, create_note | Notes and call outcomes. |
| list_tasks, create_task, update_task, complete_task | Follow-ups. |
| list_opportunities, create_opportunity, update_opportunity_stage | Pipeline. |
| list_sequences, enroll_lead_in_sequence | Sequences. |
| send_sms, list_sms | SMS through your Twilio number. |
| list_email_accounts, send_email, list_emails | Email from a connected mailbox. |
| get_stats | Leads by status, pipeline by stage, tasks, call and email counts. |
There is also a daily_sales_recap prompt that walks the agent through calling daily_recap and writing the recap: numbers, who was reached, objections, follow-ups, and one concrete move per prospect toward a meeting.
Example prompts
- "Write my sales recap for today in America/Chicago time."
- "Which prospects said callback this week? Create a task for each one for tomorrow 9am."
- "Pull the transcript of my longest call today and tell me where I lost them."
- "Import these 40 contacts, tag them conference-2026, and enroll them in the Intro sequence."
- "What does the pipeline look like by stage?"
Development
Sources live in the DialSheet app under lib/mcp/ and are copied here by npm run sync (runs automatically before build). Edit them there.
npm install
npm run build
DIALSHEET_API_KEY=ds_… node dist/index.jsLicense
MIT
