Twilio_manager_mcp について
Twilio Manager MCP は、Twilio のサブアカウント、電話番号、規制バンドル識別子を MCP ツールで管理します。直接接続と SSE 通信に対応し、MCP クライアントから利用できます。
主な機能
- 01Twilio サブアカウントの一覧表示
- 02サブアカウント別の番号確認
- 03サブアカウント間の番号移管
- 04規制バンドル SID の取得
- 05直接接続と SSE 通信
活用シーン
- 01Twilio サブアカウントの確認
- 02サブアカウントの電話番号検索
- 03サブアカウント間の番号移管
- 04規制バンドル SID の取得
MCP 対応
サブアカウント、電話番号、規制バンドル SID を扱う Twilio 管理ツールを MCP クライアントに公開します。直接接続と SSE 通信に対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Twilio Manager MCP
Twilio リソースを管理するための Model Context Protocol(MCP)実装です。このパッケージは、標準化された MCP インターフェースを通じて、Twilio のサブアカウント、電話番号、規制バンドルを管理するツールを提供します。
特長
- Twilio のサブアカウントを一覧表示
- サブアカウントに関連付けられた電話番号を取得
- サブアカウント間で電話番号を移行
- 規制バンドルの SID を取得
- 直接通信と Server-Sent Events(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ファイルを作成し、お使いのツール(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
デプロイと管理を簡単にするため、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
[email protected]
# 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 Compose を使わずに Docker を使用する
Traefik を使わず、Twilio Manager MCP コンテナのみを実行する場合:
- 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-mcp
SSE エンドポイントは http://localhost:8000/sse で利用できます。
使用方法
Cursor、Claude Desktop、その他の MCP 対応ツールで使用する
この MCP を使用する方法は 3 つあります:
-
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 Desktop での使用例
設定が完了すると、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 ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。