项目简介
VoIPBin MCP Server 是基于 Model Context Protocol (MCP) 实现的应用后端,旨在作为AI模型(特别是大型语言模型 LLM)与 VoIPBin API 之间的标准接口。它将复杂的VoIP操作抽象为一套可由AI调用的工具,使AI能够理解并执行创建呼叫、管理座席、发送聊天消息等任务。
该服务器支持 标准输入输出 (Stdio) 和 服务器发送事件 (SSE) 两种传输模式,为AI应用提供灵活的集成方式。
主要功能点
- VoIPBin API集成: 将VoIPBin提供的丰富的语音通信和管理功能(如呼叫、座席、活动、录音、队列、会议、聊天、账单等)封装为AI可理解和调用的工具。
- AI工具集: 提供一系列预定义的工具,涵盖呼叫管理、座席管理、活动管理、录音管理、队列管理、会议管理、聊天管理、账单查询等,共计十余种操作。
- 标准协议: 实现了Model Context Protocol (MCP) 规范,通过标准化的JSON-RPC请求/响应与AI客户端通信。
- 多种传输支持: 支持通过 Stdio 或 SSE 方式与AI客户端建立连接和数据交互。
- 健壮性: 包含异步HTTP请求、类型安全处理、详细错误处理和输入验证。
- 易于部署: 提供Docker支持,简化部署流程。
安装步骤
本项目需要 Python 3.7+ 环境。
- 克隆仓库:
git clone https://github.com/nrjchnd/voipbin-mcp.git cd voipbin-mcp - 创建并激活虚拟环境:
python -m venv venv source venv/bin/activate # Windows 下使用: venv\Scripts\activate - 安装依赖:
pip install -r requirements.txt - 配置API密钥:
- 复制示例环境变量文件:'cp .env.example .env'
- 编辑 '.env' 文件,填入您的 'VOIPBIN_API_URL' 和 'VOIPBIN_API_KEY'。'PORT' 可选,默认为 '8000'。
或者,您可以使用 Docker:
- 构建并运行:
或直接使用 Docker 命令:# 构建并启动容器 docker-compose up --build # 或以后台模式运行 # docker-compose up -d# 构建镜像 docker build -t voipbin-mcp-server . # 运行容器,注意替换您的API密钥 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
服务器配置(供MCP客户端使用)
MCP客户端需要配置如何启动并连接到此MCP服务器。通常,客户端会通过一个JSON对象来存储这些配置信息。以下是配置此VoIPBin MCP服务器所需的主要参数及其说明:
- 'serverName': 服务器的标识名称。对于此项目,应设置为 '"VoIPBin MCP Server"'。
- 'command': 用于启动服务器的可执行命令。通常是运行Python脚本的命令,例如 '"python"'。
- 'args': 传递给 'command' 的参数列表。这些参数指定了要运行的脚本和传输模式。
- 对于 Stdio 模式,参数列表应为 '["src/main.py", "--transport", "stdio"]'。
- 对于 SSE 模式,参数列表应为 '["src/main.py", "--transport", "sse", "--port", "8000"]'。请确保端口与服务器实际运行的端口一致(默认为 8000)。
- 'mode': 指明使用的传输协议。设置为 '"stdio"' 或 '"sse"'。
- 'port': 仅在 'mode' 为 '"sse"' 时需要,指定服务器监听的端口号,通常是 '8000'。
- 'env': 一个键值对字典,用于设置服务器进程的环境变量。您需要在其中设置 'VOIPBIN_API_URL' 和 'VOIPBIN_API_KEY',例如:
重要: API密钥是敏感信息,请确保在配置时妥善处理,避免泄露。{ "VOIPBIN_API_URL": "https://api.voipbin.net/v1.0", "VOIPBIN_API_KEY": "您的VoIPBin API密钥" }
MCP客户端会读取这些配置信息,根据 'command' 和 'args' 启动服务器进程,并根据 'mode' 和 'port' 建立连接,然后通过配置的 'env' 传递必要的环境变量(如API密钥)。
基本使用方法
启动服务器后(无论是本地或Docker),兼容MCP协议的AI客户端即可连接到该服务器。客户端会通过标准MCP接口(如 'list_tools' 获取可用工具列表,通过 'call_tool' 调用具体工具)与服务器交互。
例如,一个AI客户端可以通过发送JSON-RPC请求调用 'create_call' 工具来发起一个呼叫,或调用 'get_calls' 工具获取当前呼叫列表。AI模型可以根据用户指令解析出所需的操作和参数,然后通过客户端将对应的MCP工具调用请求发送给此服务器。
服务器接收请求后,会根据工具定义调用内部逻辑(此处是调用VoIPBin API),并将API的响应结果按MCP规范返回给AI客户端。这样,AI就能够直接执行或查询VoIP相关的任务。
信息
分类
通信与社交