mcpField
T
Twilio_manager_mcp

Twilio_manager_mcp

ローカル
github.com/errajibadrコミュニケーション249 週間前に更新

Twilio_manager_mcp について

Twilio Manager MCP は、Twilio のサブアカウント、電話番号、規制バンドル識別子を MCP ツールで管理します。直接接続と SSE 通信に対応し、MCP クライアントから利用できます。

主な機能

  1. 01Twilio サブアカウントの一覧表示
  2. 02サブアカウント別の番号確認
  3. 03サブアカウント間の番号移管
  4. 04規制バンドル SID の取得
  5. 05直接接続と SSE 通信

活用シーン

  1. 01Twilio サブアカウントの確認
  2. 02サブアカウントの電話番号検索
  3. 03サブアカウント間の番号移管
  4. 04規制バンドル SID の取得

MCP 対応

サブアカウント、電話番号、規制バンドル SID を扱う Twilio 管理ツールを MCP クライアントに公開します。直接接続と 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 リソースを管理するための Model Context Protocol(MCP)実装です。このパッケージは、標準化された MCP インターフェースを通じて、Twilio のサブアカウント、電話番号、規制バンドルを管理するツールを提供します。

TwilioManager MCP サーバー

特長

  • 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
プロジェクトのセットアップ
  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 ファイルを作成し、お使いのツール(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 リバースプロキシ
  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 を使用する

Traefik を使わず、Twilio Manager MCP コンテナのみを実行する場合:

  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 を使用する方法は 3 つあります:

  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_subaccountsTwilio のすべてのサブアカウントを一覧表示
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 .

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

MIT ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。