Twilio短信MCP服务器

一个通过Twilio API发送短信的MCP服务器,提供与Twilio Messaging API交互的工具、资源和提示。

  • by deshartman
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 deshartman/twilio-messaging-mcp-server

使用说明

Twilio消息MCP服务器

MCP服务器,用于通过Twilio API发送SMS消息。该服务器提供与TwilioMessaging API交互的工具、资源和提示。

特性

  • 通过Twilio发送短信
  • 通过增强处理从Twilio获取状态回调 @deshartman/mcp-status-callback
  • 通过模型上下文协议(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执行,无需安装:

# Run with required parameters
npx @deshartman/twilio-messaging-mcp-server <accountSid> <apiKey> <apiSecret> <number>

# With environment variables for 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 文件:

# Create a .env file with your credentials
# See .env.example for the required format

# Run the server (no arguments needed)
./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

这种方法通过将凭据排除在命令历史记录之外来提高安全性,并简化了执行过程。

直接使用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。

许可证

麻省理工学院