这是一个用于管理Twilio资源的Model Context Protocol (MCP)实现。该包提供了通过标准化的MCP接口来管理Twilio子账户、电话号码和监管捆绑包的工具。
<a href="https://glama.ai/mcp/servers/@errajibadr/twilio_manager_mcp"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=281295214,3024635505&fm=3081&app=3_081&f=PNG?w=760&h=400" alt="TwilioManager MCP服务器" /> </a>在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 sync
.env文件,并添加您的Twilio凭证:TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token
.cursor/mcp.json文件配置您的工具(如Cursor、Claude Desktop等)的MCP:{
"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配置,它设置了:
.env文件中配置环境变量:# Twilio凭证
TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token
# Traefik的域名配置
DOMAIN_NAME=yourdomain.com
ACME_EMAIL=user@yourdomain.com
# 地址详情(可选)
ADDRESS_CUSTOMER_NAME=
ADDRESS_FRIENDLY_NAME=
ADDRESS_STREET=
ADDRESS_CITY=
ADDRESS_REGION=
ADDRESS_POSTAL_CODE=
ADDRESS_ISO_COUNTRY=
docker-compose up -d
应用程序将在您配置的域上可用,并启用HTTPS。
如果您希望仅运行Twilio Manager MCP容器而不使用Traefik:
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-mcp
SSE端点将在http://localhost:8000/sse可用。
您有三种方式使用此MCP:
直接UVX集成(推荐):
twilio_manager_mcp_uvx配置直接UV集成:
twilio_manager_mcp_abs配置SSE服务器:
twilio_manager_mcp_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 |
一旦配置好,您可以在AI助手对话中直接使用这些工具:
# AI会自动使用MCP列出所有子账户
# 不需要编写代码 - 只需询问“列出所有Twilio子账户”
# 简单询问:“显示子账户AC...的所有电话号码”
对于直接编程使用:
from mcp import ClientSession
from clients.client import MCPClient
async with MCPClient("uvx", ["twilio-manager-mcp"], env={}) as session:
# 列出可用工具
tools = (await session.list_tools()).tools
# 列出所有子账户
subaccounts = await session.invoke("list_twilio_subaccounts")
# 获取子账户的电话号码
numbers = await session.invoke("get_account_phone_numbers", {"account_sid": "AC..."})
twilio_manager_mcp/
├── api/
│ └── async_twilio_api.py # 异步Twilio API实现
├── clients/
│ ├── client.py # 直接MCP客户端实现
│ └── client_sse.py # SSE客户端实现
├── twilio_manager_mcp.py # 核心MCP服务器实现
├── twilio_manager_mcp_sse.py # SSE服务器包装器
├── requirements.txt # 项目依赖项
└── README.md # 此文件
对于开发,您可以使用uv的虚拟环境管理:
# 创建虚拟环境
uv venv
# 激活虚拟环境
source .venv/bin/activate # 在Unix上
.venv\Scripts\activate # 在Windows上
# 在开发模式下安装依赖项
uv pip install -e .
欢迎贡献!请随时提交Pull Request。
MIT许可证