crimson-crab-mcp-template について
crimson-crab-mcp-templateは、crimson-crab SDK経由でAnthropicのClaude APIを利用するMCPサーバー向けRustスターターテンプレートです。プロンプト送信、複数ターンのチャット、トークン数の計算、モデル情報取得のツールを備えています。
主な機能
- 01Claudeへの単発リクエスト
- 02複数ターンの会話
- 03モデル別のトークン数計算
- 04利用可能なClaudeモデルの一覧
- 05モデルの制限とメタデータ取得
活用シーン
- 01RustでClaude対応MCPサーバーを始める
- 02プロンプト送信と会話履歴の継続
- 03API呼び出し前の入力トークン見積もり
- 04APIキーで使えるモデルの確認
MCP 対応
サーバーはstdioでMCPクライアントと通信し、Claudeへのリクエスト、チャット、トークン数計算、モデル情報取得の5つのツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Rust 製の Claude 対応 MCP サーバー(スターターテンプレート)
Anthropic の Claude API をcrimson-crab SDK 経由で利用する、Rust 製の最小構成ながら本番環境にも対応したモデルコンテキストプロトコル
(MCP)サーバーです。5 つのツールを公開します。ask_claude(プロンプトを送信して Claude の応答を取得)、chat(複数ターンの会話)、count_tokens(プロンプトを実行せずに料金を見積もる)、list_models
(API キーで利用できるモデルを一覧表示)、get_model(特定モデルの制限とメタデータ)です。
Rust で Claude 対応の独自 MCP ツールを構築するための参考用スターターとしてご利用ください。
このテンプレートを使用する
GitHub の Use this template をクリックするか、
cargo generate を使って新しいプロジェクトを生成します。
cargo generate --git https://github.com/singhpratech/crimson-crab-mcp-template
クローンすることもできます。
git clone https://github.com/singhpratech/crimson-crab-mcp-template
クイックスタート
export ANTHROPIC_API_KEY=sk-ant-...
cargo run
サーバーは stdio 経由で通信するため、直接実行すると MCP クライアントが接続するまで待機します。すべてのログは stderr に出力され、stdout は MCP プロトコル用に確保されています。より詳細なログを出力するには、RUST_LOG=debug を設定します。
クライアントから指定できる最適化済みバイナリをビルドするには、次のコマンドを実行します。
cargo build --release
# -> target/release/crimson-crab-mcp-template
Claude Desktop に接続する
ビルドしたバイナリを指定し、環境変数経由で API キーを渡すエントリを、Claude Desktop の MCP 設定ファイル
(claude_desktop_config.json)に追加します。
{
"mcpServers": {
"claude-via-crimson-crab": {
"command": "/absolute/path/to/target/release/crimson-crab-mcp-template",
"env": {
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
Claude Desktop を再起動すると、ask_claude、chat、count_tokens、
list_models、get_model の各ツールを利用できるようになります。
ツール
ask_claude
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
prompt | string | はい | Claude に送信するプロンプトです。 |
system | string | いいえ | 任意のシステムプロンプトです。 |
Claude Messages リクエストを構築し(デフォルトでは claude-opus-5 モデルを使用)、API を呼び出して、Claude の応答テキストを連結して返します。
chat
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
messages | array | はい | これまでの会話を古い順に指定します。形式は {role, content} で、role は "user" または "assistant" に制限された列挙型です。最後は必ずユーザーの発話にしてください。 |
system | string | いいえ | 任意のシステムプロンプトです。 |
model | string | いいえ | モデル ID(デフォルトは ask_claude のモデル)です。 |
max_tokens | integer | いいえ | 生成するトークンの最大数(デフォルトは 1024)です。 |
メッセージ履歴全体を Claude に送信し、次の応答を返します。呼び出し元がターンをまたいでコンテキストを保持する必要がある場合は、ask_claude の代わりに使用してください。
count_tokens
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
prompt | string | はい | トークン数を調べるプロンプトです。 |
system | string | いいえ | トークン数に含める任意のシステムプロンプトです。 |
model | string | いいえ | トークン数を計算するモデル ID です(トークン数はモデルごとに異なります)。 |
プロンプトを実行せずに、入力トークン数を返します。高額な API 呼び出しの前にコストを見積もるのに役立ちます。
list_models
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
limit | integer | いいえ | 返すモデルの最大数です。 |
設定された API キーで利用可能な各 Claude モデルの ID、表示名、リリース日を返します。
get_model
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | 照会するモデル ID です(例:claude-opus-5)。 |
モデルの表示名、リリース日、コンテキストウィンドウ
(max_input_tokens)、最大出力トークン数を返します。
すべてのツールで発生したエラーは、パニックを起こすのではなく、MCP ツールエラーとして返されます。 Claude クライアントは起動時に一度だけ作成され、各呼び出しで再利用されます。
crimson-crab で構築
このテンプレートは、Anthropic の Claude API 用の本番環境向け Rust SDK、
crimson-crab を使用して構築されています。ソース:
https://github.com/singhpratech/crimson-crab。
ライセンス
以下のいずれかのライセンスが適用されます。
- MIT ライセンス(LICENSE-MIT)
- Apache License, Version 2.0(LICENSE-APACHE)
お好きな方をお選びください。
crimson-crab は独立したオープンソースプロジェクトであり、Anthropic とは提携していません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。