
Callmcp
ai.callmcp由 callmcp.ai 发布v0.1.2更新于 Oct 24, 2026
One MCP tool contract for telephony — any call provider, hosted, local, or BYOK.
概览
为助手提供统一的电话通信工具契约:通话、短信、录音、转写以及电话号码开通。
- 可以做什么
- CallMCP 以一套 14 个工具、相同 schema 的契约覆盖呼出与呼入电话业务:发起和结束通话、发送短信、获取录音与转写,以及搜索、购买、配置和列出电话号码。同一契约可由不同后端提供(托管、本地或自带密钥),因此更换服务商只是配置变更,无需重写代码。工具按驱动能力开放:要么存在且可用,要么不出现在工具列表中。联系外部号码的呼出操作需要审批标识或匹配白名单。
- 适用场景
- 适合希望助手通过稳定工具接口拨打电话、发送短信或管理电话号码的场景,也适合需要在不改动代理代码的前提下更换通话后端的情况。需要助手处理通话录音、转写或号码开通的工作流同样适用。
- 运行要求
- 作为本地 Node.js 进程运行,通过 npx 从 npm 包 @callmcp/server 启动。配置来自 callmcp.config.json 文件,其路径由 CALLMCP_CONFIG 指定;若省略则完全通过环境变量配置。CALLMCP_DEFAULT_DRIVER 指定工具调用未指明驱动时使用的驱动。必须配置驱动,否则服务器会拒绝启动,模拟驱动仅在显式沙箱配置下可用。根据所选驱动,需要相应的服务商账号或密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 Callmcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
One MCP server. Any call provider. Fully local, fully hosted, or bring your own frontier model.
CallMCP is a single Model Context Protocol server that defines one tool contract — 14 tools, identical schemas, identical error shapes — for outbound/inbound telephony: calls, SMS, recordings, transcripts, and phone-number lifecycle. Point it at a hosted backend, a fully local backend, or a bring-your-own-key composed backend, and your agent code doesn't change. What changes is which tools are present (via capability-gated dynamic discovery), never the shape of a tool that's there.
The normative reference is SPEC.md. This README is the pitch; the spec is the contract.
Before connecting a real provider, run npx -y @callmcp/server doctor.
For a safe local walkthrough, run npx -y @callmcp/server --sandbox.
The server fails closed when no driver is configured; the mock driver is only
available through explicit sandbox configuration.
See examples/ for ready-to-paste Claude Desktop / Claude Code configs for each of the three legs below.
Three structural claims
This isn't "a Twilio wrapper with a marketing page." Three things are actually built into the contract, not bolted on:
1. Provider-neutral, multi-backend contract
Every driver — hosted, local, or BYOK — implements the same 14 tools defined in SPEC.md. Driver-specific behavior lives exclusively inside a namespaced options.<driver_id> passthrough object. There is no make_call_twilio or make_call_kaicalls. A tool either exists for your configured driver (and works, fully, per spec) or it's absent from tools/list — never present-but-broken. Swapping your call backend is a config change, not a rewrite.
2. x402-funded autonomous provisioning to production
search_numbers, buy_number, configure_number, and list_numbers are never human-approval-gated — they don't contact a third party, they contact your own provider account. That includes settling cost via x402 machine payments when a driver requires prepayment (INSUFFICIENT_FUNDS embeds a full x402 challenge an agent can settle and retry). An agent can search for a number, pay for it, configure it, and go live — autonomously, in production, with real money — without a human clicking anything. This is a deliberate contrast with vendor MCPs whose autonomous/self-serve paths are trial- or sandbox-scoped only.
3. Human-in-the-loop outbound approval as designed consent architecture
make_call and send_sms — anything that contacts a phone number that isn't the calling agent's own infrastructure — structurally require a valid approval_id or a standing allowlist match before they act. This isn't a policy suggestion layered on top; it's enforced in the server core, so no driver implementation can bypass it. Primary path is MCP elicitation; the fallback for non-elicitation clients is a single-use out-of-band approval URL — the gate is designed to never silently block forever and never silently open. Read as a TCPA-consent posture: the contract makes "who approved contacting this number, and when" a first-class, auditable object (request_call_approval / list_approvals), not an assumption baked into application code you have to get right yourself.
CallMCP vs. single-vendor MCPs vs. DIY
Every "(unverified, recheck before publishing)" cell is a placeholder, not a claim — we do not put a number or a fact about a competitor's product in this table without a citation behind it. If you're reading this before that recheck has happened, treat those cells as unknown, not as "no."
Who builds this, and what's actually free
CallMCP is built and maintained by CallMCP / KaiCalls. Full transparency, because hiding this costs more credibility than stating it:
- This OSS server is not a loss-leader funnel with the real functionality locked behind a paywall. It routes to any configured driver — hosted, local, or BYOK — with no markup and no artificial capability gating. A self-hosted Dograh driver or a BYOK Twilio+LLM driver gets the exact same 14-tool contract as the KaiCalls driver.
- KaiCalls is the hosted default — the path of least resistance if you want a call backend running in minutes with nothing to self-host. It is not the only supported path, and the spec and conformance suite exist precisely so that claim stays true as the driver ecosystem grows.
- The driver interface is public and the conformance suite runs in CI. Any driver — including ones we didn't write — can claim conformance, and community PRs are held to the same bar KaiCalls' own driver is held to (see
SPEC.md§6).
If any of the above stops being true, that's a bug in this README, not a hidden asterisk — open an issue.
Driver capability matrix
Capability is expressed by presence, not by runtime errors (see SPEC.md §2.2). This table mirrors the spec's degradation appendix (SPEC.md §7) — the honest state of the wider backend landscape at spec-writing time (2026-07-09), not a ceiling on what CallMCP itself can do.
Launch drivers (this repo)
Known gaps across the wider backend landscape (context for driver authors)
A driver claiming a capability it can't demonstrate against the conformance suite fails CI (see SPEC.md §6.2) — this table is a snapshot, not a promise about backends CallMCP doesn't control, and any driver author whose backend's real capability differs from this snapshot updates their own manifest, not this README.
Repo shape
Packages
Contributing a driver
Implement the interface in @callmcp/driver-interface, ship a callmcp.manifest.json per SPEC.md §6.1, and run the conformance suite. A capability your manifest doesn't claim true simply results in that tool being absent from tools/list — that's the whole mechanism, not a workaround.
License
MIT for this repository's code. SPEC.md is released under Apache-2.0 as documented in its own header, specifically so anyone can implement a conformant driver without asking permission.
来源:README.md,提交 613339b
工具
0版本历史
1- v0.1.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分