项目简介
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。
安装步骤
-
克隆仓库
git clone https://github.com/twilio-labs/mcp.git cd mcp -
安装依赖
npm install -
构建项目
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 接口。
基本使用方法
-
启动 MCP 服务器: 在 MCP 客户端配置好上述 'mcpServers' 后,客户端会自动启动 Twilio MCP Server。或者,你也可以在 'mcp' 仓库目录下手动运行以下命令启动服务器(需要替换凭据):
npx -y @twilio-alpha/mcp YOUR_ACCOUNT_SID/YOUR_API_KEY:YOUR_API_SECRET -
在 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。
信息
分类
通信与社交