项目简介

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+ 环境。

  1. 克隆仓库:
    git clone https://github.com/nrjchnd/voipbin-mcp.git
    cd voipbin-mcp
  2. 创建并激活虚拟环境:
    python -m venv venv
    source venv/bin/activate  # Windows 下使用: venv\Scripts\activate
  3. 安装依赖:
    pip install -r requirements.txt
  4. 配置API密钥:
    • 复制示例环境变量文件:'cp .env.example .env'
    • 编辑 '.env' 文件,填入您的 'VOIPBIN_API_URL' 和 'VOIPBIN_API_KEY'。'PORT' 可选,默认为 '8000'。

或者,您可以使用 Docker:

  1. 构建并运行:
    # 构建并启动容器
    docker-compose up --build
    # 或以后台模式运行
    # docker-compose up -d
    或直接使用 Docker 命令:
    # 构建镜像
    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',例如:
    {
      "VOIPBIN_API_URL": "https://api.voipbin.net/v1.0",
      "VOIPBIN_API_KEY": "您的VoIPBin API密钥"
    }
    重要: 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相关的任务。

信息

分类

通信与社交