Twilio MCP Server

项目简介

Twilio MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它将 Twilio 的全套 API 接口以标准化的 MCP 协议形式暴露出来,使得支持 MCP 协议的 LLM 客户端能够轻松调用 Twilio 的各项服务。该项目基于 OpenAPI 规范构建,能够动态加载和解析 OpenAPI 定义文件,并将其转换为 MCP 服务器所需要的资源和工具。

主要功能点

  • Twilio API 接入: 将 Twilio 丰富的 API 接口转化为 LLM 可调用的工具,涵盖 SMS、Voice、通话记录、账户管理等多种 Twilio 服务。
  • 动态工具发现: 通过解析 OpenAPI 规范,自动发现和注册 Twilio API 接口为 MCP 工具,无需手动配置。
  • 参数化工具调用: 支持 OpenAPI 中定义的请求参数,LLM 客户端可以根据工具的输入 schema 传递参数,灵活调用 Twilio API。
  • 基于 OpenAPI: 利用 OpenAPI 规范的强大描述能力,为 LLM 提供结构化的 API 信息,包括接口描述、参数定义、请求方式等。
  • 可配置服务和标签过滤: 允许通过服务名称和标签来过滤暴露的 Twilio API 接口,方便用户根据需要选择加载特定的 API 功能。
  • 支持 Basic Authentication: 可以通过配置 Twilio Account SID、API Key 和 API Secret 进行身份验证,安全访问 Twilio API。

安装步骤

  1. 克隆仓库

    git clone https://github.com/twilio-labs/mcp.git
    cd mcp
  2. 安装依赖

    npm install
  3. 构建项目

    npm run build

服务器配置

MCP 客户端需要配置 'mcpServers' 来连接 Twilio MCP Server。以下是一个配置示例,请根据你的 Twilio 账户信息进行修改:

{
  "mcpServers": {
    "twilio": {
      "command": "npx",
      "args": [
        "-y",
        "@twilio-alpha/mcp",
        "YOUR_ACCOUNT_SID/YOUR_API_KEY:YOUR_API_SECRET"
      ]
    }
  }
}

参数说明:

  • '"twilio"': 服务器名称,可以自定义。
  • '"command": "npx"': 启动服务器的命令,这里使用 'npx' 运行 '@twilio-alpha/mcp' 包。
  • '"args"': 传递给服务器启动命令的参数数组。
    • '"-y"': 'npx' 参数,自动确认安装包。
    • '"@twilio-alpha/mcp"': 要运行的 npm 包,即 Twilio MCP Server。
    • '"YOUR_ACCOUNT_SID/YOUR_API_KEY:YOUR_API_SECRET"': 需要替换为你的 Twilio 账户凭据
      • 'YOUR_ACCOUNT_SID': 你的 Twilio Account SID.
      • 'YOUR_API_KEY': 你的 Twilio API Key.
      • 'YOUR_API_SECRET': 你的 Twilio API Secret.
      • 你也可以选择不在这里配置,而在运行 'init' 命令后,将凭据保存在本地。

获取 Twilio API 凭据:

请访问 Twilio API Keys 文档 了解如何查找或创建你的 API Key 和 Secret。

更多配置选项:

你还可以通过以下参数来自定义服务器行为:

  • '--services <service1,service2,...>': 指定要暴露的 Twilio 服务列表,例如 '--services=verify_v2,messaging_v1'。留空则默认加载 'twilio_api_v2010' 服务。
  • '--tags <tag1,tag2,...>': 指定要包含的 OpenAPI 操作标签列表,用于更细粒度地过滤 API 接口。

基本使用方法

  1. 启动 MCP 服务器: 在 MCP 客户端配置好上述 'mcpServers' 后,客户端会自动启动 Twilio MCP Server。或者,你也可以在 'mcp' 仓库目录下手动运行以下命令启动服务器(需要替换凭据):

    npx -y @twilio-alpha/mcp YOUR_ACCOUNT_SID/YOUR_API_KEY:YOUR_API_SECRET
  2. 在 MCP 客户端中使用工具: 启动服务器后,MCP 客户端可以发现并调用 Twilio API 工具。工具名称通常会包含 OpenAPI 的 'operationId' 和一个随机 ID。

示例:发送短信

假设你希望使用 LLM 调用 Twilio API 发送短信,客户端可能会提供一个工具列表,其中包含类似 'createMessage---xxxxxx' 的工具('xxxxxx' 是随机 ID)。你可以选择这个工具,并根据其 'inputSchema' 提供的参数(例如 'To', 'From', 'Body' 等)填写参数值,即可调用 Twilio 的短信发送 API。

初始化凭据 (可选)

你也可以先运行 'init' 命令来交互式设置 Twilio 凭据,凭据将被安全地存储在本地,后续运行服务器时无需在命令行中显式提供:

node packages/mcp/src/index.js init

根据提示输入你的 Twilio Account SID, API Key 和 API Secret。

服务器信息