ExMCP Test Server について
ExMCP Test Server は、MCP プロトコルを試すための Elixir 実装です。JSON-RPC 2.0 処理に加え、スキーマ駆動の検証とミドルウェアを備え、OpenRPC 仕様も含みます。
主な機能
- 01JSON-RPC 2.0 準拠サーバー
- 02標準 MCP メソッドに対応
- 03検証とミドルウェアの差し替え
- 04スキーマ駆動のリクエスト・レスポンス検証
- 05OpenRPC 仕様を収録
活用シーン
- 01Elixir での MCP の試行
- 02スキーマ検証付き MCP リクエストのテスト
- 03サーバーの OpenRPC 仕様の確認
MCP 対応
MCP の初期化、プロンプトとリソースの一覧取得、ツールの一覧取得と呼び出しを実装し、MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ExMCP テストサーバー
プロトコルを試すためのテスト実装を提供する、Elixir 製の MCP(Model Context Protocol)サーバー実装です。
機能
- JSON-RPC 2.0 準拠のサーバー実装
- 標準 MCP プロトコルメソッドをサポート
- プラグイン可能なバリデーションおよびミドルウェアパイプライン
- スキーマ駆動のリクエスト/レスポンスのバリデーション
- OpenRPC 仕様を同梱
アーキテクチャ
サーバーは以下を使用して構築されています。
- RPC レイヤーには
PhxJsonRpc - スキーマのバリデーションには
ExJsonSchema - JSON のエンコード/デコードには
Jason
使用方法
サーバーをローカルで実行します。
mix run --no-halt
設定
モデルを実行する最善の方法は、リリースを生成して
mix release
それを claude_desktop_config.json に追加することです。
{
"mcpServers": {
"ex-mcp-test": {
"command": "path/to/your/realease/bin/my_app",
"args": [
"start"
]
}
}
}
開発
必要要件:
- Elixir 1.14+
- Mix
依存関係をインストールします。
mix deps.get
テストを実行します。
mix test
API ドキュメント
サーバーは以下の MCP メソッドを実装しています。
initialize - Initialize the server
notifications/initialized - Handle initialization notification
prompts/list - List available prompts
resources/list - List available resources
tools/list - List available tools
tools/call - Call a specific tool
OpenRPC 仕様は priv/static/mcp-openrpc.json にあります。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。