VoIPBin MCP服务器
VoIPBin MCP服务器
VoIPBin API的模型上下文协议(MCP)服务器实现,使AI模型能够与VoIP服务交互。
免责声明
本软件按“原样”提供,不作任何明示或暗示的保证。作者不保证此软件的完整性、可靠性或准确性。使用此软件的风险由您自行承担。作者对使用本软件造成的任何损害不承担责任。
概述
该MCP服务器为人工智能模型提供了一个标准化接口,以与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:使用可选的日期过滤检索账单历史记录
设置
地方发展设置
- 创建虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 创建一个
.env文件:
cp .env.example .env- 更新
.env使用您的VoIPBin API凭据文件:
VOIPBIN_API_URL=https://api.voipbin.net/v1.0
VOIPBIN_API_KEY=your-api-key-here
PORT=8000Docker设置
- 使用Docker Compose构建和运行:
# Build and start the container
docker-compose up --build
# Run in detached mode
docker-compose up -d
# Stop the container
docker-compose down- 或者直接使用Docker构建和运行:
# Build the image
docker build -t voipbin-mcp-server .
# Run the container
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 stdioSSE模式
python src/main.py --transport sse --port 8000码头工人
使用Docker时,服务器默认以SSE模式运行。容器暴露了用于SSE连接的端口8000。
工具使用示例
创建通话
{
"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凭据无效
- 网络连接问题
- 无效的请求参数
- 速率限制
- 服务器错误
发展
添加新工具
要添加新工具,请执行以下操作:
- 在中添加工具定义
list_tools()函数 - 在中实现工具处理程序
voipbin_tool()函数 - 更新文档
测试
运行测试套件:
python -m pytest tests/安全
- API密钥安全地存储在环境变量中
- 所有请求都经过身份验证
- API通信强制使用HTTPS
- 对所有请求执行输入验证
- Docker容器以非root用户身份运行
- 健康检查确保容器正常运行
贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 创建拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
MIT许可证是一种简短而中肯的许可证。它允许人们对代码做任何他们想做的事情,只要他们向你提供归因,并且不让你承担责任。
你可以用这段代码做什么:
- 商业化使用
- 修改它
- 分发它
- 私下使用
- 再授权
你必须做什么:
- 包含原始版权声明
- 包含许可证文本
- 提供原始来源的明确归属
- 在任何衍生作品中保持归因
你不能做的:
- 要求作者承担损害赔偿责任
- 删除或模糊归因
- 声称这项工作是你自己的
有关MIT许可证的更多信息,请访问 chooselicense.com/licenses/mit/.
