Docs › Build
AI & MCP
Handset is built to be operated by agents: an MCP server that gives any AI a phone system, a skill that teaches coding agents the integration patterns, and machine-readable docs.
The MCP server
One config line gives Claude Code, Claude Desktop, or Cursor the whole surface — send texts, place calls, read live transcripts and AI summaries, buy numbers, provision tenants:
# Claude Code
claude mcp add handset -e HANDSET_API_KEY=hs_test_… -- npx -y @handset/mcp{
"handset": {
"command": "npx",
"args": ["-y", "@handset/mcp"],
"env": { "HANDSET_API_KEY": "hs_test_…" }
}
}Fifteen curated tools: send_message, make_call,
get_transcript, start_transcription,
search_numbers, buy_number,
create_tenant, and the rest of what an agent actually reaches
for.
Safe by default
Use your test-mode key: the agent gets free instant
numbers and simulated calls — it can provision, text, and dial with zero
real-world consequence, which makes it the fastest way to feel the API.
The server refuses live keys unless
HANDSET_ALLOW_LIVE=1 is set, and outward-facing tools carry
confirm-first warnings in their descriptions.
The agent skill
A companion skill teaches coding agents the patterns that make Handset integrations correct — test-mode-first, the tenant model, idempotent sends, webhooks vs realtime, magic numbers:
mkdir -p .claude/skills/handset npx -y @handset/mcp --skill > .claude/skills/handset/SKILL.md
Machine-readable docs
Point an agent at /llms.txt for the
index, or /llms-full.txt for every
guide page as plain text in one file.
Building a voice agent?
MCP tools cover control; for the audio itself, attach a media stream — fork or bidirectional raw call audio over WebSockets — and drive your own speech loop. The realtime event stream carries transcripts and lifecycle the moment they happen.