VoIPBin MCP Server

MIT License
  • Linux
  • Apple

Integrations

  • Used for managing environment variables such as API credentials, with a .env file for configuration of the VoIPBin API key and URL.

  • Provides containerization support for easy deployment of the MCP server, with Docker Compose configuration and proper security practices for running the container.

  • Supports testing of the MCP server implementation with a test suite that can be run to verify functionality.

VoIPBin MCP サーバー

VoIPBin API 用のモデル コンテキスト プロトコル (MCP) サーバー実装。AI モデルが VoIP サービスと対話できるようになります。

免責事項

本ソフトウェアは「現状有姿」で提供され、明示的または黙示的な保証は一切ありません。作者は、本ソフトウェアの完全性、信頼性、または正確性について一切保証しません。本ソフトウェアの使用は、自己責任で行ってください。作者は、本ソフトウェアの使用に起因するいかなる損害についても責任を負いません。

概要

この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 : オプションの日付フィルタリングを使用して請求履歴を取得します。

設定

ローカル開発のセットアップ

  1. 仮想環境を作成します。
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  1. 依存関係をインストールします:
pip install -r requirements.txt
  1. .envファイルを作成します。
cp .env.example .env
  1. VoIPBin API 資格情報を使用して.envファイルを更新します。
VOIPBIN_API_URL=https://api.voipbin.net/v1.0 VOIPBIN_API_KEY=your-api-key-here PORT=8000

Dockerのセットアップ

  1. 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
  1. または、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 stdio

SSEモード

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認証情報
  • ネットワーク接続の問題
  • 無効なリクエストパラメータ
  • レート制限
  • サーバーエラー

発達

新しいツールの追加

新しいツールを追加するには:

  1. list_tools()関数にツール定義を追加する
  2. voipbin_tool()関数にツールハンドラを実装する
  3. ドキュメントを更新する

テスト

テスト スイートを実行します。

python -m pytest tests/

安全

  • APIキーは環境変数に安全に保存されます
  • すべてのリクエストは認証されます
  • API通信にはHTTPSが強制されます
  • すべてのリクエストに対して入力検証が実行されます
  • Dockerコンテナは非ルートユーザーとして実行されます
  • ヘルスチェックによりコンテナが適切に動作していることを確認する

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. 変更をコミットする
  4. ブランチにプッシュする
  5. プルリクエストを作成する

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

MITライセンスは、簡潔で要点を押さえた、寛容なライセンスです。MITライセンスでは、開発者に帰属を明記し、開発者に責任を負わせない限り、誰でもコードを使って自由に行動できます。

このコードでできること:

  • 商業的に利用する
  • 修正する
  • 配布する
  • プライベートで使用する
  • サブライセンスする

あなたがしなければならないこと:

  • 元の著作権表示を含める
  • ライセンステキストを含める
  • 出典を明確に示す
  • 派生作品の帰属表示を維持する

できないこと:

  • 著者に損害賠償責任を負わせる
  • 帰属表示を削除または不明瞭にする
  • 作品を自分のものとして主張する

MIT ライセンスの詳細については、 choosealicense.com/licenses/ mit/ をご覧ください。

-
security - not tested
A
license - permissive license
-
quality - not tested

AI モデルが VoIPBin の VoIP サービスと対話できるようにし、通話管理、エージェント管理、キャンペーン、会議、チャット機能などの機能をサポートするモデル コンテキスト プロトコル サーバー。

  1. Disclaimer
    1. Overview
      1. Features
        1. Available Tools
          1. Call Management
          2. Agent Management
          3. Campaign Management
          4. Recording Management
          5. Queue Management
          6. Conference Management
          7. Chat Management
          8. Billing Management
        2. Setup
          1. Local Development Setup
          2. Docker Setup
        3. Running the Server
          1. Local Development
          2. Docker
        4. Tool Usage Examples
          1. Creating a Call
          2. Getting Call Details
          3. Creating a Conference
          4. Sending a Chat Message
        5. Tool Annotations
          1. Error Handling
            1. Development
              1. Adding New Tools
              2. Testing
            2. Security
              1. Contributing
                1. License
                  1. What you can do with this code:
                  2. What you must do:
                  3. What you cannot do:
                ID: eidmvi5tei