Twilio资源管理协议

一个用于管理Twilio资源的Model Context Protocol (MCP)实现,提供管理子账户、电话号码和监管包的工具。

  • by errajibadr
  • Python
  • 混合部署
  • 2 星标
  • 更新于
在 GitHub 查看 errajibadr/twilio_manager_mcp

使用说明

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

项目设置

  1. 克隆存储库:
git clone https://github.com/yourusername/twilio_manager_mcp.git
cd twilio_manager_mcp
  1. 使用uv安装依赖项:
uv sync

配置

  1. 创建一个 .env 根目录中的文件,其中包含您的Twilio凭据:
TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token
  1. 通过创建一个 .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反向代理
  1. 在您的 .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=
  1. 启动服务:
docker-compose up -d

该应用程序将在启用HTTPS的配置域中可用。

使用Docker而不使用Docker Compose

如果您更喜欢只运行Twilio Manager MCP容器而不运行Traefik:

  1. 构建Docker镜像:
docker build -t twilio-manager-mcp .
  1. 运行容器:
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.

用法

使用Cursor、Claude Desktop或其他MCP兼容工具

您有三种选择来使用此MCP:

  1. 直接UVX集成 (推荐):

    • 使用 twilio_manager_mcp_uvx 配置
    • 这是最简单的方法,与uvx一起开箱即用
  2. 直接UV集成:

    • 使用 twilio_manager_mcp_abs 配置
    • 需要指定安装的完整路径
  3. 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助手对话中使用这些工具:

  1. 列出所有子账户:
# The AI will automatically use the MCP to list all subaccounts
# No need to write code - just ask "List all Twilio subaccounts"
  1. 获取子帐户的电话号码:
# 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许可证