SuperAPI AI 工具集

callcenter.js-mcp

CallCenter.js MCP + CLI 是一个基于 VoIP/SIP 与 OpenAI 实时语音 API 的AI语音代理连接器,提供 MCP 服务器、命令行工具和 TypeScript API,让 AI 助手或命令行代你拨打电话并处理通话对话。项目为作者周末开发,未设置访问护栏,MCP 客户端可能拨打任意号码,文档明确不建议用于任何专业场景,配置仅在 AVM Fritz!Box 上实测,其他 SIP 配置未验证。

访问官网

工具介绍

用途

CallCenter.js MCP + CLI 是一个 MCP Server、CLI 工具和 API,使用 VoIP 代你拨打电话。只需告诉 Claude 你想完成的事情,它就会拨号并处理对话。它本质上是 OpenAI 实时语音 API(Real-Time Voice API)与本地 VoIP 连接之间的桥接,用于代人拨打电话。

主要能力

  • MCP Server:可直接在 Claude Code 或任意 MCP 客户端中使用(最常用方式)。
  • CLI 工具:命令行直接拨打电话。
  • TypeScript API:用于构建语音应用的编程库。
  • 多编解码器支持:G.722 宽带(16kHz),并以 G.711 作为回退;内置预编译 G.722 WebAssembly 编解码器,npx 用户无需编译工具即可获得宽带音频,也提供原生插件以追求最高性能。
  • AI 对话:实际通话使用 OpenAI 实时语音 API 与 gpt-realtime 模型(2025年8月28日发布),指令生成使用 o3-mini。
  • 自动语言检测:根据通话简报检测对话语言并相应配置转写。
  • 自动语音选择:新增 auto 模式,由 o3-mini 根据通话上下文选择合适音色;支持 OpenAI Realtime API 全部 10 种语音,感知性别与性格。
  • 扩展 SIP 支持:提供常见 SIP 提供商配置(Fritz!Box 已测试,其他为实验性)。
  • 智能配置:自动检测提供商需求并优化设置。
  • 企业级特性:支持高级 SIP 功能(STUN/TURN、会话定时器、传输回退)。
  • 连接管理:自动重连与智能错误处理。
  • 内置校验:配置校验与网络测试。
  • 提供商配置档案:主流 SIP 系统的预置设置。
  • 通话简报处理:使用 o3-mini 将自然语言通话指令转为结构化 JSON 输出。
  • 可选通话录音:立体声 WAV,呼叫方与 AI 分声道。

使用方式

安装与运行

方式一:用 npx 即时运行(无需安装),也可使用 .env 文件。高品质 G.722 音频以预编译 WebAssembly 模块形式随包提供,因此无编译器的机器也能使用 npx;若想要更快的原生插件,克隆后运行 npm run build:native(或 npm run build:all)。 方式二:本地安装。可选依赖:Python 3.x + C/C++ 构建工具(仅在重建原生插件时需要)。macOS 需 Xcode Command Line Tools(xcode-select --install),Windows 需 Visual Studio Build Tools,Linux 需 build-essential。 配置:编辑 config.json 填入设置。

MCP Server(Claude Code 集成)

可用 MCP 客户端 CLI(最简单),需将占位值替换为实际 SIP 凭据和 OpenAI API 密钥,否则服务器无法连接;也可手动配置,或在本地开发/本地安装时配置 Claude Code。 可用 MCP 工具:simple_call(自动生成指令拨打电话)、advanced_call(可细粒度控制参数)。

命令行界面

使用 --brief 而非 --instructions 效果更好。--brief 会用 o3-mini 根据简单描述生成精细指令;--instructions 则直接发送文本给实时语音 API,而后者为速度而非精细度优化,故 --brief 通常带来更好的通话结果。

编程 API

  • makeCall(options: CallOptions): Promise<CallResult>
  • createAgent(config, options?): Promise<VoiceAgent>

配置与优先级

所有配置项均可通过环境变量设置(便于 npx 使用)。优先级:CLI 参数 > 配置文件 > 环境变量。

快速成功检查

  1. 配置校验;2. 给 Fritz!Box 用户自己的测试呼叫;3. 预期表现:配置正常则音频清晰、AI 响应正常、挂断干净;网络问题会出现连接失败错误(检查防火墙/STUN);认证问题为 401 Unauthorized(核对 SIP 凭据);编解码问题为音质差(G.722 编译可能失败)。建议测试呼叫先用 --duration 30。

配置校验内容

配置语法与必填字段、提供商特定要求、到 SIP 服务器的网络连通性、STUN 服务器可达性、编解码器可用性(G.722/G.711)、提供商兼容性评分。

SIP 提供商兼容性

已实际测试:AVM Fritz!Box(内置 VoIP/SIP 电话系统的德国路由品牌,唯一实测可用)。未测试(基于研究的配置):Asterisk PBX(含 FreePBX、Elastix 等)、Cisco CUCM、3CX Phone System、通用 SIP 提供商(符合标准的 SIP 中继)。

配置示例文件

config.example.json(AVM Fritz!Box,家庭/中小企业默认)、config.asterisk.example.json、config.cisco.example.json、config.3cx.example.json、config.generic.example.json。

音频质量与编解码器

优先级与协商:G.722(首选,16kHz 宽带,音质更佳)、G.711 μ-law(回退,8kHz 窄带,通用兼容)、G.711 A-law(回退,8kHz 窄带,欧洲标准)。G.722 实现:预编译 WebAssembly 编解码器随包分发,原生 C++ 插件可通过 npm run build:native 启用;基于 CMU 与 Sippy Software 参考实现;加载失败自动回退 G.711;实时低延迟编解码。可选通话录音:立体声 WAV,呼叫方左声道、AI 右声道,可指定文件名,音频流同步对齐,以原生采样率录制高品质 PCM。

AI 通话简报处理

实时语音 API 为速度而非精细度优化,擅长自然对话但难以应对缺少具体指令的复杂目标型任务。系统用 o3-mini 推理模型从简单简报自动生成详细指令:分析目标、创建对话状态与流程逻辑、为各阶段生成具体指令、处理语音信箱/异议/替代方案等边缘情况、按上下文调整语言与语气、提供回退策略。o3-mini 会从简报检测语言并用该语言生成指令,处理文化语境,生成含真实短语的示例,提供无人接听时的语音信箱脚本。

何时用哪种方式

95% 的通话用 --brief,更简单且效果更好,适合预订、预约、商务通话、客服;仅当需要非常具体、自定义的行为时用 --instructions,适合高度专业化场景、测试或提示词已经打磨完善时。

语音选择

支持 OpenAI Realtime API 的 10 种语音,默认 auto 模式由 o3-mini 根据通话上下文智能选择最佳语音,也可手动指定。可在配置文件或环境变量设置默认语音。自动模式考虑:正式程度(高:cedar、marin、sage;中:alloy、verse;低:echo、coral、shimmer)、行业语境(医疗:sage、shimmer;金融:cedar、sage;零售:coral、echo;科技:alloy、ash)、目标类型(需要权威:cedar、sage;友好:coral、shimmer;高效:marin、alloy)、语言(语音随简报检测到的语言适配)。MCP 集成强烈推荐 auto 模式但支持手动覆盖。

高级特性

智能连接管理:自动重连(指数退避与提供商特定错误处理)、传输回退(UDP → TCP → TLS)、按提供商区分的错误恢复策略、适应网络变化。增强 SIP 协议支持:STUN/TURN 集成用于 NAT 穿透、会话定时器(RFC 4028)、PRACK 支持(RFC 3262)、多传输。

适用场景与限制

适用场景:通过 Claude Code 或 MCP 客户端让 AI 代打电话(例如订餐、预订、预约、商务通话、客服);用 CLI 直接拨号;用 TypeScript API 构建语音应用。 限制与风险:该文档明确标注为“Vibe-coded”周末副项目,不设任何护栏,MCP 客户端可能在你未要求时拨打任意号码(测试期间曾在夜间拨打随机号码播放低沉噪音并声称打的是作者号码),明确不建议在任何专业场景使用,不提供任何保证。仅在 Fritz!Box(德国内置 VoIP 的路由器)上开发和测试,其他提供商配置基于研究但未测试。需要自备 OpenAI API 密钥与 SIP/VoIP 凭据。具体价格、许可证、支持渠道等事实本文档暂未提供。