返回市场
twilio消息传递mcp服务器

twilio消息传递mcp服务器

作者:deshartman4 星标更新:2025-04-08

项目介绍

Twilio 消息 MCP 服务器

通过 Twilio API 发送短信的 MCP 服务器。此服务器提供了与 Twilio 消息 API 交互的工具、资源和提示。

功能

  • 通过 Twilio 发送短信
  • 使用 @deshartman/mcp-status-callback 增强处理从 Twilio 获取的状态回调
  • 通过模型上下文协议(MCP)集成 Claude AI
  • 无需安装即可通过 npx 运行

预备条件

  • Node.js >= 18.0.0
  • Twilio 账户,包括:
    • 账户 SID
    • API 密钥和密钥
    • Twilio 手机号码
  • ngrok 账户,包括:
    • 认证令牌
    • 自定义域名(可选)

安装

npm install @deshartman/twilio-messaging-mcp-server

或者直接使用 npx 运行:

npx @deshartman/twilio-messaging-mcp-server <accountSid> <apiKey> <apiSecret> <number>

使用 npx

该包可以直接使用 npx 运行,无需安装:

# 使用所需参数运行
npx @deshartman/twilio-messaging-mcp-server <accountSid> <apiKey> <apiSecret> <number>

# 使用环境变量设置 ngrok
env NGROK_AUTH_TOKEN=your_token NGROK_CUSTOM_DOMAIN=your_domain.ngrok.dev npx @deshartman/twilio-messaging-mcp-server <accountSid> <apiKey> <apiSecret> <number>

这是因为该包在 package.json 中包含了 "bin" 字段,使其可以通过 npx 运行。

环境变量

  • NGROK_AUTH_TOKEN: 你的 ngrok 认证令牌(用于回调处理)
  • NGROK_CUSTOM_DOMAIN: 你的自定义 ngrok 域名(可选)

使用方法

运行服务器

你可以使用提供的脚本和 .env 文件运行服务器:

# 创建一个包含你的凭证的 .env 文件
# 查看 .env.example 以获取所需的格式

# 运行服务器(不需要参数)
./run-server.sh

.env 文件应包含以下内容:

ACCOUNT_SID=YOUR_ACCOUNT_SID
API_KEY=YOUR_API_KEY
API_SECRET=YOUR_API_SECRET
TWILIO_NUMBER=YOUR_TWILIO_PHONE_NUMBER
NGROK_AUTH_TOKEN=YOUR_NGROK_AUTH_TOKEN
NGROK_CUSTOM_DOMAIN=your-domain.ngrok.dev

这种方法通过将凭证保存在 .env 文件中而不是命令历史记录中来提高安全性,并简化执行过程。

直接使用 Node.js

env NGROK_AUTH_TOKEN=your_ngrok_auth_token NGROK_CUSTOM_DOMAIN=your_domain.ngrok.dev node build/index.js <accountSid> <apiKey> <apiSecret> <number>

MCP 集成

此服务器提供以下 MCP 功能:

工具

  • send-sms: 通过 Twilio 发送短信并验证服务器就绪状态

资源

  • twilio://statuscallback: 从 Twilio 获取最新的原始状态回调数据并增强错误处理

提示

  • SendSMS: 提示使用 Twilio 消息 MCP 服务器发送短信

故障排除

ngrok 隧道问题

如果你遇到如下错误:

failed to start tunnel: The endpoint 'https://your-domain.ngrok.dev' is already online.

你可以采取以下措施之一:

  1. 先停止现有的端点
  2. 使用不同的域名
  3. 启动两个端点时使用 --pooling-enabled 来实现负载均衡

ENOTEMPTY 错误

如果你遇到类似 npm 错误:

npm ERR! code ENOTEMPTY
npm ERR! syscall rename

尝试直接使用 Node.js 运行服务器,而不是使用 npx。

许可证

MIT