MCP Server with Combined Tools について
poem フレームワークで構築された Rust 製 MCP サーバーです。カウンター、整数の加算、IP アドレスの検証ツールを提供し、SSE エンドポイント経由で接続する MCP クライアントを対象とします。
主な機能
- 01カウンターの増減
- 02現在のカウンター値の取得
- 032つの整数の加算
- 04IPv4 アドレスの検証
- 05CIDR 範囲内の IP 判定
活用シーン
- 01MCP クライアント経由でカウンターを操作・参照
- 022つの整数の加算
- 03IPv4 アドレス文字列の検証
- 04IP が CIDR 範囲内か確認
MCP 対応
`/sse` の SSE エンドポイントを通じて、カウンター、加算、IPv4 検証、CIDR 判定のツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ツールを組み合わせた MCP サーバー
このプロジェクトは、poem フレームワークを使用して Rust で Model Context Protocol(MCP)サーバーを実装します。このサーバーは、カウンターの管理、数値の加算、IP アドレスの検証、IP アドレスが CIDR 範囲内にあるかどうかの確認を行う複数のツールを提供します。これらのツールは Server-Sent Events(SSE)エンドポイントを介して公開され、クライアントはサーバーとリアルタイムでやり取りできます。
機能
-
カウンター:
- カウンターの値を増加、減少させ、現在の値を取得します。
-
加算器:
- 2 つの整数を加算します。
-
IP バリデーター:
- 指定された文字列が有効な IPv4 アドレスかどうかを検証します。
-
CIDR チェッカー:
- IP アドレスが指定された CIDR 範囲内にあるかどうかを確認します。
エンドポイント
/sse:ツールをリアルタイムで公開する Server-Sent Events(SSE)エンドポイントです。
ツール
- 増加:カウンターを 1 増やします。
- 減少:カウンターを 1 減らします。
- 値の取得:現在のカウンターの値を取得します。
- 加算:2 つの数値を加算します。
- 有効な IPv4 かどうか:文字列が有効な IPv4 アドレスかどうかを確認します。
- IP が CIDR 内にあるかどうか:IP アドレスが CIDR 範囲内にあるかどうかを確認します。
セットアップ
要件
- Rust 1.60 以降
- Cargo(Rust のパッケージマネージャー兼ビルドシステム)
インストール
-
リポジトリをクローンします:
git clone https://github.com/yourusername/mcp-server.git cd mcp-server -
プロジェクトをビルドします:
cargo build --release -
サーバーを実行します:
cargo run
サーバーが起動し、http://127.0.0.1:8000 でリッスンします。
依存関係
poem:Rust 用の Web フレームワークです。poem_mcpserver:ツールと SSE エンドポイントを備えた MCP サーバーを実装するためのライブラリです。tokio:Rust 用の非同期ランタイムです。
使用例
サーバーの実行中に、SSE クライアントを介して /sse エンドポイントに接続できます。以下は、ブラウザーで JavaScript を使用する例です。
const eventSource = new EventSource('http://127.0.0.1:8000/sse');
eventSource.onmessage = function(event) {
console.log('Received data:', event.data);
};
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。