MCP Rust CLI server template について
MCP Rust CLI server template は、Rust で MCP のコマンドラインサーバーを実装するためのテンプレートです。Rust で MCP サーバーを開発する開発者を対象としており、rust-rpc-router を基盤に JSON-RPC のルーティングを行います。プロンプト、リソース、ツールはコードまたは JSON テンプレートファイルで定義できます。
主な機能
- 01rust-rpc-router による JSON-RPC ルーティング
- 02プロンプト、リソース、ツールごとの個別ハンドラー
- 03プロンプトなどを定義する任意の JSON テンプレート
- 04リソース、プロンプト、ツールを一覧表示するオプション
活用シーン
- 01Rust によるカスタム MCP サーバーの雛形作成
- 02Claude Desktop でのローカルコマンドラインサーバーの利用
MCP 対応
MCP サーバーのテンプレートであり、--mcp フラグで起動すると、プロンプト、リソース、ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Rust CLI サーバーのテンプレート
Model Context Protocol(MCP)は、LLM アプリケーションと外部のデータソースやツールをシームレスに統合するオープンプロトコルです。AI を活用した IDE の構築、チャットインターフェースの強化、カスタム AI ワークフローの作成など、MCP は LLM と必要なコンテキストを接続するための標準化された方法を提供します。
mcp-rs-template は、Rust で MCP CLI サーバーを実装する方法を示すシンプルなアプリケーションテンプレートです。
テンプレートの使い方
- リポジトリをクローンします
Cargo.tomlとsrc/mcp/mod.rsのプロジェクト情報を変更します- サーバーハンドラーを変更します:
src/mcp/prompts.rs:プロンプトハンドラーsrc/mcp/resources.rs:リソースハンドラーsrc/mcp/tools.rs:ツールハンドラー
- プロンプト、リソース、ツールに json ファイルを使用する場合は、
src/mcp/templates/*.jsonを変更します
mcp-rs-template は、Rust 用の JSON-RPC ルーティングライブラリである rust-rpc-router をベースにしています。
CLI オプション
--mcp:MCP サーバーを有効にします--resources:リソースを表示します--prompts:プロンプトを表示します--tools:ツールを表示します
Claude Desktop で MCP CLI サーバーを使う方法
claude_desktop_config.jsonを編集します:Claude Desktop ->Settings->Developer->Edit Configserversセクションに次の設定を追加します:
{
"mcpServers": {
"current-time": {
"command": "mcp-rs-template",
"args": [
"--mcp"
],
"env": {
"API_KEY": "xxxx"
}
}
}
}
MCP のログを確認するには、tail -n 20 -f ~/Library/Logs/Claude/mcp*.log を使用してください。
参考資料
- MCP 仕様:https://spec.modelcontextprotocol.io/
- Model Context Protocol(MCP):https://modelcontextprotocol.io/introduction
- rpc-router:JSON-RPC ルーティングライブラリ - https://github.com/jeremychone/rust-rpc-router/
- Zed context_server:https://github.com/zed-industries/zed/tree/main/crates/context_server
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。