VoIPBin MCP Server

VoIPBin MCP Server

一个模型上下文协议服务器,使人工智能模型能够与 VoIPBin 的 VoIP 服务进行交互,支持呼叫管理、座席管理、营销活动、电话会议和聊天功能等特性。

Category
访问服务器

README

VoIPBin MCP 服务器

一个用于 VoIPBin API 的模型上下文协议 (MCP) 服务器实现,使 AI 模型能够与 VoIP 服务交互。

免责声明

本软件按“原样”提供,不提供任何明示或暗示的保证。作者不对本软件的完整性、可靠性或准确性做出任何保证。使用本软件的风险由您自行承担。作者不对因使用本软件而造成的任何损失负责。

概述

此 MCP 服务器为 AI 模型与 VoIPBin 的 API 服务交互提供了一个标准化的接口。它实现了模型上下文协议规范,并支持 SSE 和 stdio 传输类型。

特性

  • 通过 MCP 协议完全集成 VoIPBin API
  • 支持 stdio 和 SSE 传输模式
  • 具有适当注释的全面工具定义
  • 类型安全的请求/响应处理
  • 异步 HTTP 请求
  • 适当的错误处理和验证
  • Docker 支持,便于部署

可用工具

呼叫管理

  • get_calls: 检索呼叫列表,可选择过滤
  • get_call: 获取特定呼叫的详细信息
  • create_call: 创建新呼叫
  • end_call: 结束活动呼叫

代理管理

  • get_agents: 检索代理列表
  • get_agent: 获取特定代理的详细信息
  • update_agent_status: 更新代理的状态

活动管理

  • get_campaigns: 检索活动列表
  • get_campaign: 获取特定活动的详细信息
  • create_campaign: 创建新活动

录音管理

  • get_recordings: 检索呼叫录音列表
  • get_recording: 获取特定录音的详细信息

队列管理

  • get_queues: 检索呼叫队列列表
  • get_queue: 获取特定队列的详细信息

会议管理

  • get_conferences: 检索活动会议列表
  • create_conference: 创建新会议

聊天管理

  • get_chats: 检索聊天对话列表
  • send_chat_message: 在聊天对话中发送消息

账单管理

  • get_billing_info: 检索当前账单信息
  • get_billing_history: 检索账单历史记录,可选择日期过滤

设置

本地开发设置

  1. 创建一个虚拟环境:
python -m venv venv
source venv/bin/activate  # 在 Windows 上:venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 创建一个 .env 文件:
cp .env.example .env
  1. 使用您的 VoIPBin API 凭据更新 .env 文件:
VOIPBIN_API_URL=https://api.voipbin.net/v1.0
VOIPBIN_API_KEY=your-api-key-here
PORT=8000

Docker 设置

  1. 使用 Docker Compose 构建和运行:
# 构建并启动容器
docker-compose up --build

# 在分离模式下运行
docker-compose up -d

# 停止容器
docker-compose down
  1. 或者直接使用 Docker 构建和运行:
# 构建镜像
docker build -t voipbin-mcp-server .

# 运行容器
docker run -d \
  -p 8000:8000 \
  -e VOIPBIN_API_KEY=your-api-key-here \
  -e VOIPBIN_API_URL=https://api.voipbin.net/v1.0 \
  voipbin-mcp-server

运行服务器

本地开发

标准 I/O 模式

python src/main.py --transport stdio

SSE 模式

python src/main.py --transport sse --port 8000

Docker

使用 Docker 时,服务器默认以 SSE 模式运行。容器公开端口 8000 用于 SSE 连接。

工具使用示例

创建呼叫

{
  "name": "create_call",
  "arguments": {
    "body": {
      "phone_number": "+1234567890",
      "agent_id": "agent_123",
      "campaign_id": "campaign_456"
    }
  }
}

获取呼叫详细信息

{
  "name": "get_call",
  "arguments": {
    "call_id": "call_789"
  }
}

创建会议

{
  "name": "create_conference",
  "arguments": {
    "body": {
      "name": "Team Meeting",
      "participants": ["+1234567890", "+0987654321"]
    }
  }
}

发送聊天消息

{
  "name": "send_chat_message",
  "arguments": {
    "chat_id": "chat_123",
    "body": {
      "message": "Hello, how can I help you today?"
    }
  }
}

工具注释

每个工具都包含提供有关其行为的元数据的注释:

  • readOnlyHint: 指示该工具是否仅读取数据
  • destructiveHint: 指示该工具是否修改或删除数据
  • idempotentHint: 指示重复调用是否与单次调用具有相同的效果
  • openWorldHint: 指示该工具是否在开放世界上下文中运行

错误处理

服务器包括全面的错误处理:

  • 无效的 API 凭据
  • 网络连接问题
  • 无效的请求参数
  • 速率限制
  • 服务器错误

开发

添加新工具

要添加新工具:

  1. list_tools() 函数中添加工具定义
  2. voipbin_tool() 函数中实现工具处理程序
  3. 更新文档

测试

运行测试套件:

python -m pytest tests/

安全

  • API 密钥安全地存储在环境变量中
  • 所有请求都经过身份验证
  • HTTPS 用于 API 通信
  • 对所有请求执行输入验证
  • Docker 容器以非 root 用户身份运行
  • 健康检查确保容器正常运行

贡献

  1. Fork 存储库
  2. 创建一个功能分支
  3. 提交您的更改
  4. 推送到分支
  5. 创建一个 Pull Request

许可证

本项目根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。

MIT 许可证是一个宽松的许可证,简短而切中要点。 它允许人们对代码做任何他们想做的事情,只要他们提供对您的归属,并且不追究您的责任。

您可以使用此代码做什么:

  • 用于商业用途
  • 修改它
  • 分发它
  • 私下使用它
  • 授予它子许可

你必须做什么:

  • 包括原始版权声明
  • 包括许可证文本
  • 提供对原始来源的明确归属
  • 在任何衍生作品中保持归属

你不能做什么:

  • 让作者对损害负责
  • 删除或模糊归属
  • 声称该作品是您自己的

有关 MIT 许可证的更多信息,请访问 choosealicense.com/licenses/mit/

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选