Twilio经理MCP
用于管理Twilio资源的模型上下文协议(MCP)实现。此软件包提供了通过标准化的MCP接口管理Twilio子帐户、电话号码和监管捆绑包的工具。
特性
- 列出Twilio子帐户
- 获取与子帐户关联的电话号码
- 在子账户之间转移电话号码
- 获取监管捆绑SID
- 支持直接和服务器发送事件(SSE)通信
- 与Claude Desktop、Cursor和其他MCP兼容工具集成
安装
先决条件
安装uv
在macOS上:
brew install uv在Windows上:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"在Linux上:
curl -LsSf https://astral.sh/uv/install.sh | sh项目设置
- 克隆存储库:
git clone https://github.com/yourusername/twilio_manager_mcp.git
cd twilio_manager_mcp- 使用uv安装依赖项:
uv sync配置
- 创建一个
.env根目录中的文件,其中包含您的Twilio凭据:
TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token- 通过创建一个
.cursor/mcp.json文件:
{
"mcpServers": {
"twilio_manager_mcp_abs": {
"command": "uv",
"args": ["--directory", "/path/to/twilio_manager_mcp", "run", "mcp", "run", "./twilio_manager_mcp.py"],
"env": {
"TWILIO_ACCOUNT_SID": "your_account_sid",
"TWILIO_AUTH_TOKEN": "your_auth_token"
}
},
"twilio_manager_mcp_uvx": {
"command": "uvx",
"args": [ "twilio-manager-mcp" ],
"env": {
"TWILIO_ACCOUNT_SID": "your_account_sid",
"TWILIO_AUTH_TOKEN": "your_auth_token"
}
},
"twilio_manager_mcp_sse": {
"url": "http://localhost:8000/sse"
}
}
}码头工人
您可以使用Docker运行Twilio Manager MCP,以便于部署和管理。
使用Docker Compose
该项目包括一个Docker Compose配置,用于设置:
- Twilio Manager MCP服务
- 具有自动HTTPS的Traefik反向代理
- 在您的
.env文件:
# Twilio credentials
TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token
# Domain configuration for Traefik
DOMAIN_NAME=yourdomain.com
ACME_EMAIL=user@yourdomain.com
# Address details (optional)
ADDRESS_CUSTOMER_NAME=
ADDRESS_FRIENDLY_NAME=
ADDRESS_STREET=
ADDRESS_CITY=
ADDRESS_REGION=
ADDRESS_POSTAL_CODE=
ADDRESS_ISO_COUNTRY=- 启动服务:
docker-compose up -d该应用程序将在启用HTTPS的配置域中可用。
使用Docker而不使用Docker Compose
如果您更喜欢只运行Twilio Manager MCP容器而不运行Traefik:
- 构建Docker镜像:
docker build -t twilio-manager-mcp .- 运行容器:
docker run -p 8000:8000 \
-e TWILIO_ACCOUNT_SID=your_account_sid \
-e TWILIO_AUTH_TOKEN=your_auth_token \
twilio-manager-mcpSSE端点将在 http://localhost:8000/sse.
用法
使用Cursor、Claude Desktop或其他MCP兼容工具
您有三种选择来使用此MCP:
- 直接UVX集成 (推荐):
- 使用 twilio_manager_mcp_uvx 配置 - 这是最简单的方法,与uvx一起开箱即用
- 直接UV集成:
- 使用 twilio_manager_mcp_abs 配置 - 需要指定安装的完整路径
- SSE服务器:
- 使用 twilio_manager_mcp_sse 配置 - 首先启动SSE服务器:
uvicorn twilio_manager_mcp_sse:app --host 0.0.0.0 --port 8000可用工具
| 工具名称 | 描述 |
|---|---|
list_twilio_subaccounts | 列出所有Twilio子帐户 |
get_account_phone_numbers | 获取特定子账户的电话号码 |
get_all_phone_numbers | 在子账户之间转移电话号码 |
get_regulatory_bundle_sid | 获取子帐户的监管捆绑SID |
Cursor/Claude桌面中的示例用法
配置后,您可以直接在AI助手对话中使用这些工具:
- 列出所有子账户:
# The AI will automatically use the MCP to list all subaccounts
# No need to write code - just ask "List all Twilio subaccounts"- 获取子帐户的电话号码:
# Simply ask: "Show me all phone numbers for subaccount AC..."直接使用Python
对于直接编程使用:
from mcp import ClientSession
from clients.client import MCPClient
async with MCPClient("uvx", ["twilio-manager-mcp"], env={}) as session:
# List available tools
tools = (await session.list_tools()).tools
# List all subaccounts
subaccounts = await session.invoke("list_twilio_subaccounts")
# Get phone numbers for a subaccount
numbers = await session.invoke("get_account_phone_numbers", {"account_sid": "AC..."})项目结构
twilio_manager_mcp/
├── api/
│ └── async_twilio_api.py # Async Twilio API implementation
├── clients/
│ ├── client.py # Direct MCP client implementation
│ └── client_sse.py # SSE client implementation
├── twilio_manager_mcp.py # Core MCP server implementation
├── twilio_manager_mcp_sse.py # SSE server wrapper
├── requirements.txt # Project dependencies
└── README.md # This file发展
对于开发,您可以使用uv的虚拟环境管理:
# Create a virtual environment
uv venv
# Activate the virtual environment
source .venv/bin/activate # On Unix
.venv\Scripts\activate # On Windows
# Install dependencies in development mode
uv pip install -e .贡献
欢迎投稿!请随时提交拉取请求。
许可证
MIT许可证
