项目简介

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。

信息

分类

通信与社交