@davoxi/mcp服务器
MCP(模型上下文协议)服务器 达沃西 AI语音代理平台。让人工智能助手通过对话管理语音业务、专业代理、呼叫日志、网络挂钩、使用分析、账单和API密钥。
适用于 克劳德代码, 克劳德桌面版, 光标, 帆板运动,以及任何兼容MCP的客户端。
安装
选项1:npx(推荐,零安装)
无需安装。只需将配置添加到您的AI工具中,它就会自动运行。
选项2:全局安装
npm install -g @davoxi/mcp-server选项3:来源
git clone https://github.com/MabrokaMedia/davoxi-mcp-server.git
cd davoxi-mcp-server
npm install && npm run build认证
浏览器登录(推荐)
最简单的身份验证方法-不需要API密钥复制存储:
npx @davoxi/mcp-server auth login这将打开您的浏览器,进入Davoxi仪表板,您可以在其中登录并单击“授权”。API密钥将自动创建并保存到 ~/.davoxi/mcp.json.
其他身份验证命令:
npx @davoxi/mcp-server auth status # Check current auth state
npx @davoxi/mcp-server auth logout # Clear saved credentials手动API密钥
或者,从您的 达沃西仪表板 并将其设置为环境变量。
关键分辨率顺序: DAVOXI_API_KEY 谁是 > ~/.davoxi/mcp.json (从浏览器登录)
连接到您的AI工具
先决条件
- 验证:运行
npx @davoxi/mcp-server auth login(或手动获取API密钥) - Node.js 20+ 安装在您的计算机上
克劳德代码
在终端中运行以下命令:
claude mcp add davoxi -- npx -y @davoxi/mcp-server然后在环境中设置API密钥。或添加到 .mcp.json 在您的项目中:
{
"mcpServers": {
"davoxi": {
"command": "npx",
"args": ["-y", "@davoxi/mcp-server"],
"env": {
"DAVOXI_API_KEY": "sk_your_key_here"
}
}
}
}克劳德桌面版
添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"davoxi": {
"command": "npx",
"args": ["-y", "@davoxi/mcp-server"],
"env": {
"DAVOXI_API_KEY": "sk_your_key_here"
}
}
}
}光标
添加 .cursor/mcp.json 在项目根目录中:
{
"mcpServers": {
"davoxi": {
"command": "npx",
"args": ["-y", "@davoxi/mcp-server"],
"env": {
"DAVOXI_API_KEY": "sk_your_key_here"
}
}
}
}帆板运动
添加 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"davoxi": {
"command": "npx",
"args": ["-y", "@davoxi/mcp-server"],
"env": {
"DAVOXI_API_KEY": "sk_your_key_here"
}
}
}
}环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
DAVOXI_API_KEY | 否\* | - | 您的API密钥(以开头 sk_).\*如果您使用,则不需要 auth login |
DAVOXI_API_URL | 没有 | https://api.davoxi.com | 自定义API端点(必须是HTTPS或localhost) |
可用工具(27)
企业(5种工具)
| 工具 | 说明 |
|---|---|
list_businesses | 列出您帐户上的所有企业 |
get_business | 获取特定业务的详细信息(语音配置、主配置、电话号码) |
create_business | 通过语音模式、语言、个性和温度设置创建新业务 |
update_business | 更新企业名称、电话号码、语音配置、主配置或每个企业的LLM模型+梯形图覆盖(llm_config) |
delete_business | 永久删除企业及其所有代理(需要 confirm=true) |
代理(7个工具)
| 工具 | 说明 |
|---|---|
list_agents | 列出企业的所有专业代理 |
get_agent | 获取代理详细信息,包括系统提示、工具、知识来源和统计数据 |
create_agent | 使用系统提示、工具、知识源和触发标签创建专业代理 |
update_agent | 更新代理的配置(描述、提示、工具、标签、已启用) |
delete_agent | 永久删除代理(需要 confirm=true) |
duplicate_agent | 复制现有代理——对于安全地创建变体或测试更改非常有用 |
通话记录(2个工具)
| 工具 | 说明 |
|---|---|
list_call_logs | 使用筛选器列出调用:日期范围、状态(已完成/未完成/失败)、代理、分页 |
get_call_log | 获取完整的通话详细信息:通话记录、录音URL、持续时间、摘要 |
代理测试(1个工具)
| 工具 | 说明 |
|---|---|
test_agent_chat | 向已部署的企业发送测试消息,就像你是一个真正的WhatsApp呼叫者一样,并得到每一个回复。锻炼大脑→ 总指挥→ 仪表板测试聊天使用的相同WebSocket上的专业代码路径——不发送真正的Twilio消息。通过相同 caller_id 要求多转弯连续性。 |
Webhooks(4个工具)
| 工具 | 说明 |
|---|---|
list_webhooks | 列出企业的所有Webhook |
create_webhook | 订阅活动(call.started、call.comcomplete、agent.invoked等) |
update_webhook | 更新webhook URL、事件或启用状态 |
delete_webhook | 删除webhook(需要 confirm=true) |
电话号码(1个工具)
| 工具 | 说明 |
|---|---|
list_phone_numbers | 列出所有有业务任务和能力的电话号码 |
分析和计费(4个工具)
| 工具 | 说明 |
|---|---|
get_usage | 按资源列出的详细使用情况(通话次数、分钟数、每个业务/代理的成本) |
get_usage_summary | 当前计费周期的汇总使用情况摘要 |
get_subscription | 当前计划、状态、计费周期、取消状态 |
list_invoices | 所有带有金额、状态和PDF下载URL的发票 |
账户(4个工具)
| 工具 | 说明 |
|---|---|
get_profile | 当前用户资料(ID、电子邮件、姓名) |
list_api_keys | 列出API密钥(仅限前缀,从未显示完整密钥) |
create_api_key | 创建一个新的API密钥(完整密钥只显示一次-保存它!) |
revoke_api_key | 永久吊销API密钥(需要 confirm=true) |
示例工作流
与代理商建立新业务
You: Create a business called "Acme Support" with voice "nova", language "en-US",
and personality "You are a friendly, professional customer service agent."
You: Create an agent for that business:
- Description: "Handles appointment scheduling"
- System prompt: "You help callers schedule, reschedule, or cancel appointments.
Always confirm the date, time, and service before booking."
- Trigger tags: ["appointment", "schedule", "booking", "reschedule", "cancel"]
You: Create another agent for billing questions with trigger tags ["billing", "invoice", "payment"]
You: List all agents for Acme Support to verify everything looks good监控通话活动
You: Show me all calls for business biz_abc123 from the last 7 days
You: How many calls were missed vs completed this week?
You: Show me the details and transcript for call call_xyz789设置webhook通知
You: Create a webhook for business biz_abc123 that sends to
https://hooks.example.com/davoxi with events: call.completed, call.missed
You: List all webhooks for that business to verify在没有WhatsApp的情况下对代理进行端到端测试
You: I just deployed agent agent_xyz on biz_abc123 — try asking it
"what's your weekend availability?" and tell me what it replies
You: Now follow up with "great, can I book Saturday at 2pm?" using the
same caller_id so it remembers the prior turntest_agent_chat 穿过同一个大脑→ 真正的Twilio流量的专家链,所以你得到的回复正是真正的呼叫者会收到的。大脑可能会发出填充物(“请稍等……”),然后是专家的最终答案——两者都会在 replies 数组,按顺序排列。
复制和修改代理
You: Duplicate the appointment booking agent from Acme Support
You: Update the copy's system prompt to handle Spanish-speaking callers
and change trigger tags to ["cita", "reservar", "cancelar"]
You: Enable the new agent安全
认证
- 所有API调用都需要一个有效的
DAVOXI_API_KEY(不记名代币) - API密钥的范围是您的帐户-它们只能访问您的业务、代理和数据
- 按键以开头
sk_前缀便于识别 - 完整的API密钥只在创建时显示一次-安全存储
浏览器登录安全
- CSRF保护 --回调时验证随机64字符状态参数
- 本地主机回调 --临时服务器绑定到
127.0.0.1仅(无法从网络访问) - 一次性使用 --回调服务器在收到一个响应后立即关闭
- 5分钟超时 --放弃的登录流会自动清理
- 文件权限 —
~/.davoxi/mcp.json用mode创建0o600(仅限所有者读/写) - 没有打开重定向 --登录重定向已验证,以开始
/
运输安全
- 强制HTTPS --服务器验证
DAVOXI_API_URL使用HTTPS(http://localhost仅允许开发) - 标准运输 -MCP服务器通过stdin/stdout进行通信,而不是通过网络进行通信。您的API密钥不会离开您的计算机,除非通过身份验证的API调用Davoxi
- 无开放端口 --服务器不监听任何网络端口
数据保护
- 返回API密钥前缀以进行标识,但创建后不会重新导出完整密钥
- SSRF保护 --验证代理工具端点以防止对私有/内部IP的调用(127。*, 10.*, 192.168.*, 169.254.*等等)
- IPv6专用范围被阻止 (:1,fe80:,fc00:,fd00:)
- 被阻止的主机名:localhost、ip6 localhost(在工具端点验证中)
破坏性操作安全
所有破坏性操作都需要明确 confirm=true 参数:
delete_business--警告有关代理、电话分配和Webhook的级联删除delete_agent--建议禁用(enabled=false是可逆的)revoke_api_key--警告集成立即失去访问权限delete_webhook--确认永久移除
最佳实践
- 使用单独的API密钥 适用于不同的环境(生产、暂存、开发)
- 命名您的API密钥 (
create_api_key随着name参数),便于识别 - 定期旋转按键 --创建新密钥,更新集成,然后撤销旧密钥
- 在轮询中使用webhooks --订阅事件,而不是重复调用
list_call_logs - 删除前禁用 --使用
update_agent随着enabled=false在永久删除之前
Webhook安全
- Webhook响应包括
secret创建时的字段——使用它来验证有效载荷签名 - 端点必须在10秒内以2xx响应
- 失败的交付最多可重试3次,并采用指数回退
- 只接受HTTPS webhook URL
发展
npm run dev # Watch mode (recompiles on change)
npm run build # Production build
npm start # Run the server
npm test # Run tests许可证
麻省理工学院
