Administrador de Twilio MCP
Implementación del Protocolo de Contexto de Modelo (MCP) para la gestión de recursos de Twilio. Este paquete proporciona herramientas para gestionar subcuentas, números de teléfono y paquetes regulatorios de Twilio mediante una interfaz MCP estandarizada.
Características
Lista de subcuentas de Twilio
Obtener números de teléfono asociados a subcuentas
Transferir números de teléfono entre subcuentas
Obtenga SID del paquete regulatorio
Soporte para comunicación directa y eventos enviados por el servidor (SSE)
Integración con Claude Desktop, Cursor y otras herramientas compatibles con MCP
Related MCP server: Twilio MCP Server
Instalación
Prerrequisitos
Instalar uv
En macOS:
brew install uvEn Windows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"En Linux:
curl -LsSf https://astral.sh/uv/install.sh | shConfiguración del proyecto
Clonar el repositorio:
git clone https://github.com/yourusername/twilio_manager_mcp.git
cd twilio_manager_mcpInstalar dependencias usando uv:
uv syncConfiguración
Cree un archivo
.enven el directorio raíz con sus credenciales de Twilio:
TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_tokenConfigure MCP para su herramienta (Cursor, Claude Desktop, etc.) creando un archivo
.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"
}
}
}Estibador
Puede ejecutar Twilio Manager MCP usando Docker para facilitar la implementación y la administración.
Uso de Docker Compose
El proyecto incluye una configuración de Docker Compose que configura:
El servicio MCP de Twilio Manager
Un proxy inverso de Traefik con HTTPS automático
Configure las variables de entorno en su archivo
.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=Iniciar los servicios:
docker-compose up -dLa aplicación estará disponible en su dominio configurado con HTTPS habilitado.
Usar Docker sin Docker Compose
Si prefiere ejecutar solo el contenedor MCP de Twilio Manager sin Traefik:
Construya la imagen de Docker:
docker build -t twilio-manager-mcp .Ejecute el contenedor:
docker run -p 8000:8000 \
-e TWILIO_ACCOUNT_SID=your_account_sid \
-e TWILIO_AUTH_TOKEN=your_auth_token \
twilio-manager-mcpEl punto final SSE estará disponible en http://localhost:8000/sse .
Uso
Con Cursor, Claude Desktop u otras herramientas compatibles con MCP
Tiene tres opciones para utilizar este MCP:
Integración directa con UVX (recomendada):
Utilice la configuración
twilio_manager_mcp_uvxEste es el método más simple y funciona de inmediato con uvx.
Integración UV directa :
Utilice la configuración
twilio_manager_mcp_absRequiere especificar la ruta completa a su instalación
Servidor SSE :
Utilice la configuración
twilio_manager_mcp_sseInicie primero el servidor SSE:
uvicorn twilio_manager_mcp_sse:app --host 0.0.0.0 --port 8000
Herramientas disponibles
Nombre de la herramienta | Descripción |
| Listar todas las subcuentas de Twilio |
| Obtener números de teléfono para una subcuenta específica |
| Transferir números de teléfono entre subcuentas |
| Obtener el SID del paquete regulatorio para una subcuenta |
Ejemplo de uso en Cursor/Claude Desktop
Una vez configurado, puedes usar las herramientas directamente en las conversaciones de tu asistente de IA:
Enumere todas las subcuentas:
# The AI will automatically use the MCP to list all subaccounts
# No need to write code - just ask "List all Twilio subaccounts"Obtener números de teléfono para una subcuenta:
# Simply ask: "Show me all phone numbers for subaccount AC..."Uso directo de Python
Para uso programático directo:
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..."})Estructura del proyecto
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 fileDesarrollo
Para el desarrollo, puede utilizar la gestión del entorno virtual de 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 .Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Licencia
Licencia MIT