VoIPBin MCP サーバー
VoIPBin API 用のモデル コンテキスト プロトコル (MCP) サーバー実装。AI モデルが VoIP サービスと対話できるようになります。
免責事項
本ソフトウェアは「現状有姿」で提供され、明示的または黙示的な保証は一切ありません。作者は、本ソフトウェアの完全性、信頼性、または正確性について一切保証しません。本ソフトウェアの使用は、自己責任で行ってください。作者は、本ソフトウェアの使用に起因するいかなる損害についても責任を負いません。
Related MCP server: MCP Boilerplate
概要
このMCPサーバーは、AIモデルがVoIPBinのAPIサービスと連携するための標準化されたインターフェースを提供します。モデルコンテキストプロトコル仕様を実装し、SSEとstdioの両方のトランスポートタイプをサポートしています。
特徴
MCPプロトコルによる完全なVoIPBin API統合
stdio と SSE トランスポートモードの両方をサポート
適切な注釈付きの包括的なツール定義
型安全なリクエスト/レスポンス処理
非同期HTTPリクエスト
適切なエラー処理と検証
簡単に導入できるDockerサポート
利用可能なツール
通話管理
get_calls: オプションのフィルタリングを使用して通話リストを取得しますget_call: 特定の通話の詳細を取得するcreate_call: 新しい通話を作成するend_call: アクティブな通話を終了する
エージェント管理
get_agents: エージェントのリストを取得するget_agent: 特定のエージェントの詳細を取得するupdate_agent_status: エージェントのステータスを更新する
キャンペーン管理
get_campaigns: キャンペーンのリストを取得するget_campaign: 特定のキャンペーンの詳細を取得するcreate_campaign: 新しいキャンペーンを作成する
録音管理
get_recordings: 通話録音のリストを取得するget_recording: 特定の録画の詳細を取得する
キュー管理
get_queues: コールキューのリストを取得するget_queue: 特定のキューの詳細を取得する
会議管理
get_conferences: アクティブな会議のリストを取得するcreate_conference: 新しい会議を作成する
チャット管理
get_chats: チャット会話のリストを取得するsend_chat_message: チャット会話でメッセージを送信する
請求管理
get_billing_info: 現在の請求情報を取得するget_billing_history: オプションの日付フィルタリングを使用して請求履歴を取得します。
設定
ローカル開発のセットアップ
仮想環境を作成します。
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate依存関係をインストールします:
pip install -r requirements.txt.envファイルを作成します。
cp .env.example .envVoIPBin API 資格情報を使用して
.envファイルを更新します。
VOIPBIN_API_URL=https://api.voipbin.net/v1.0
VOIPBIN_API_KEY=your-api-key-here
PORT=8000Dockerのセットアップ
Docker Compose を使用してビルドおよび実行します。
# Build and start the container
docker-compose up --build
# Run in detached mode
docker-compose up -d
# Stop the container
docker-compose downまたは、Docker を直接使用してビルドして実行します。
# Build the image
docker build -t voipbin-mcp-server .
# Run the container
docker run -d \
-p 8000:8000 \
-e VOIPBIN_API_KEY=your-api-key-here \
-e VOIPBIN_API_URL=https://api.voipbin.net/v1.0 \
voipbin-mcp-serverサーバーの実行
地域開発
標準I/Oモード
python src/main.py --transport stdioSSEモード
python src/main.py --transport sse --port 8000ドッカー
Dockerを使用する場合、サーバーはデフォルトでSSEモードで実行されます。コンテナはSSE接続用にポート8000を公開します。
ツールの使用例
通話の作成
{
"name": "create_call",
"arguments": {
"body": {
"phone_number": "+1234567890",
"agent_id": "agent_123",
"campaign_id": "campaign_456"
}
}
}通話の詳細を取得する
{
"name": "get_call",
"arguments": {
"call_id": "call_789"
}
}会議の作成
{
"name": "create_conference",
"arguments": {
"body": {
"name": "Team Meeting",
"participants": ["+1234567890", "+0987654321"]
}
}
}チャットメッセージの送信
{
"name": "send_chat_message",
"arguments": {
"chat_id": "chat_123",
"body": {
"message": "Hello, how can I help you today?"
}
}
}ツール注釈
各ツールには、その動作に関するメタデータを提供する注釈が含まれています。
readOnlyHint: ツールがデータの読み取りのみを行うかどうかを示しますdestructiveHint: ツールがデータを変更または削除するかどうかを示しますidempotentHint: 繰り返し呼び出しが1回の呼び出しと同じ効果を持つかどうかを示しますopenWorldHint: ツールがオープンワールドのコンテキストで動作するかどうかを示します
エラー処理
サーバーには包括的なエラー処理が含まれています。
無効なAPI認証情報
ネットワーク接続の問題
無効なリクエストパラメータ
レート制限
サーバーエラー
発達
新しいツールの追加
新しいツールを追加するには:
list_tools()関数にツール定義を追加するvoipbin_tool()関数にツールハンドラを実装するドキュメントを更新する
テスト
テスト スイートを実行します。
python -m pytest tests/安全
APIキーは環境変数に安全に保存されます
すべてのリクエストは認証されます
API通信にはHTTPSが強制されます
すべてのリクエストに対して入力検証が実行されます
Dockerコンテナは非ルートユーザーとして実行されます
ヘルスチェックによりコンテナが適切に動作していることを確認する
貢献
リポジトリをフォークする
機能ブランチを作成する
変更をコミットする
ブランチにプッシュする
プルリクエストを作成する
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
MITライセンスは、簡潔で要点を押さえた、寛容なライセンスです。MITライセンスでは、開発者に帰属を明記し、開発者に責任を負わせない限り、誰でもコードを使って自由に行動できます。
このコードでできること:
商業的に利用する
修正する
配布する
プライベートで使用する
サブライセンスする
あなたがしなければならないこと:
元の著作権表示を含める
ライセンステキストを含める
出典を明確に示す
派生作品の帰属表示を維持する
できないこと:
著者に損害賠償責任を負わせる
帰属表示を削除または不明瞭にする
作品を自分のものとして主張する
MIT ライセンスの詳細については、 choosealicense.com/licenses/ mit/ をご覧ください。
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.