mcpField
T
Twilio_manager_mcp

Twilio_manager_mcp

本地服务
github.com/errajibadr通信协作249 周前更新

关于 Twilio_manager_mcp

Twilio Manager MCP 通过 MCP 工具管理 Twilio 子账户、电话号码和监管捆绑包标识符,适合使用 Twilio 的团队。它支持直接连接和 SSE 通信。

主要功能

  1. 01列出 Twilio 子账户
  2. 02查看子账户电话号码
  3. 03在子账户间转移号码
  4. 04获取监管捆绑包 SID
  5. 05支持直接和 SSE 通信

适用场景

  1. 01查看 Twilio 子账户
  2. 02查找子账户的电话号码
  3. 03在子账户间转移号码
  4. 04获取监管捆绑包 SID

MCP 相关

向 MCP 客户端提供 Twilio 账户管理工具,包括子账户、电话号码和监管捆绑包 SID 操作,并支持直接连接和 SSE 通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"twilio_manager_mcp": {
"command": "uvx",
"args": [
"twilio-manager-mcp"
],
"env": {
"TWILIO_ACCOUNT_SID": "<TWILIO_ACCOUNT_SID>",
"TWILIO_AUTH_TOKEN": "<TWILIO_AUTH_TOKEN>"
}
}
}
}
启动命令uvx twilio-manager-mcp
需要配置的环境变量
TWILIO_ACCOUNT_SID
TWILIO_AUTH_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypitwilio-manager-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Twilio Manager MCP

用于管理 Twilio 资源的模型上下文协议(MCP)实现。此软件包通过标准化的 MCP 接口提供管理 Twilio 子账户、电话号码和法规套件的工具。

TwilioManager MCP 服务

功能

  • 列出 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、Claude Desktop 等)配置 MCP,创建 .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

你可以使用 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
[email protected]

# 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 Compose 的 Docker 方式

如果你只想运行 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 Desktop 中的使用示例

配置完成后,你可以在 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 .

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。