Multi-Provider MCP Server について
Multi-Provider MCP Server は、複数のプロバイダーのツールに対応する MCP サーバーで、現在は WhatsApp のメッセージ送信とグループ管理向けに Evolution API を実装しています。モジュール構成、集中設定、CLI テスト機能を備え、プロバイダーの拡張やツールの検証に利用できます。
主な機能
- 01モジュール式プロバイダー構成
- 02設定の一元管理
- 03Evolution API ツール
- 04CLI によるツールの直接テスト
- 05エラー処理とログ記録
活用シーン
- 01WhatsApp メッセージの送信
- 02WhatsApp グループの管理
- 03CLI からのプロバイダーツールのテスト
- 04新しいツールプロバイダーの拡張と登録
MCP 対応
標準化された MCP インターフェースを通じて AI モデルに各プロバイダーのツールを公開します。現在は WhatsApp のメッセージ送信とグループ管理を行う Evolution API ツールに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
マルチプロバイダー MCP サーバー
複数のツールプロバイダーに対応した、堅牢で拡張性の高い Model Context Protocol(MCP)サーバーです。このサーバーを使用すると、AI モデルは標準化されたインターフェースを通じて、さまざまなサービスプロバイダーのツールを利用できます。
特長
- 新しいプロバイダーを簡単に追加できるモジュール式アーキテクチャ
- 一元化された構成管理
- プロバイダー固有のツール実装
- ツールを直接テストできる CLI モード
- 包括的なエラー処理とログ記録
対応プロバイダー
現在、サーバーは以下のプロバイダーに対応しています。
- Evolution API:WhatsApp のメッセージ送信とグループ管理のためのツール
はじめに
前提条件
- Node.js 14.x 以降
- npm または yarn
インストール
- リポジトリをクローンします
- 依存関係をインストールします:
npm install - テンプレートから
.envファイルを作成します:cp .env.example .env .envファイルで環境変数を設定します
サーバーの実行
開発モードでサーバーを起動します:
npm run dev
または、本番環境で実行します:
npm start
ツールのテストに CLI モードを使用する
次のコマンドを実行すると、任意のツールを直接テストできます:
npm run tool <tool_name> '<json_args>'
例:
npm run tool envia_mensagem '{"number":"5511999999999","mensagem":"Hello world!"}'
新しいプロバイダーの追加
src/providersディレクトリにBaseProviderを継承した新しいプロバイダークラスを作成します- 必要なツールとそのハンドラーを実装します
src/providers/index.jsにプロバイダーを登録しますsrc/config/index.jsにプロバイダーの設定を追加します- 新しい変数を
.env.exampleに追加します
プロバイダーテンプレート
const BaseProvider = require('../core/BaseProvider');
class MyNewProvider extends BaseProvider {
constructor(config) {
super('provider-name', config);
this._registerTools();
}
_registerTools() {
// Register your tools here
}
}
module.exports = MyNewProvider;
アーキテクチャ
├── src/
│ ├── config/ # Configuration settings
│ ├── core/ # Core server functionality
│ │ ├── BaseProvider.js # Base class for providers
│ │ ├── MCPServer.js # MCP server implementation
│ │ └── ProviderManager.js # Manages all providers
│ ├── providers/ # Provider implementations
│ │ ├── EvolutionProvider.js # Evolution API provider
│ │ └── index.js # Provider exports
│ ├── utils/ # Utility functions
│ │ ├── httpClient.js # HTTP client wrapper
│ │ └── logger.js # Logging utility
│ └── index.js # Application entry point
├── .env # Environment variables
├── .env.example # Environment variables template
└── package.json # Project metadata
ライセンス
ISC
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。