Shogi-MCP has 10 tools with Japanese descriptions and reasonable parameter schemas, but significant gaps limit production readiness. All tools have descriptions (positive), but most are lengthy (200-400+ chars) and domain-specific without LLM-optimization guidance. Parameter schemas are present with types and enums where appropriate, but lack depth in error recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear WRITE/READ_ONLY risk classifications. Output schemas are not documented. Error handling is minimal, tools return success/failure but do not guide LLM recovery paths. Composition is reasonable (each tool has one responsibility), but chaining is not optimized (e.g., load_kif requires a file path but no discovery tool lists available KIF files).
現在の対局の最後の指し手にコメント(Claudeの思考過程など)を追加する。KIFに自動保存される。
現局面の詳細な解析を行う。駒への当たり・詰み逃し・タダ捨て・頓死などの危険を検出する。
指定されたUSI表記の指し手を盤面に反映する。合法性を検証し、不正な指し手の場合は候補手を返す。
エンジンの読み筋・評価値を取得する。現局面でのエンジンの最善手と評価を返す。
エンジン側の指し手を思考させて実行する。難易度に応じた思考時間で最善手を探索し、盤面に反映する。
現在の対局状態を取得する。盤面・手番・合法手・終局状態などを返す。
KIFファイルから対局を読み込んで再開する。指定されたファイルパスの棋譜を復元し、そこから対局を続行できる状態にする。
No output schemas documented. Tools return results but LLMs cannot predict field structure, forcing parsing guesses and downstream chaining failures.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite clear WRITE vs READ_ONLY risk labels. LLMs cannot distinguish safe retry boundaries.
Descriptions are lengthy (200-400+ chars) and domain-specific (Japanese shogi terminology) without LLM-optimization guidance. Baseline is 194 chars; these exceed it significantly.
No error recovery guidance. Tools return success/failure but do not tell LLM what to do next (e.g., 'Invalid move. Call get_state() to see legal moves').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
新規対局を開始する。difficultyは1(入門)〜5(最強)、user_sideは"black"/"white"。対局中の場合は現在の対局を破棄して新規対局を開始する(直前まではKIFに自動保存済み)。model_nameは手の決定主体がClaude自身のモード(auto/discuss/brain/csa)で、Claude自身のモデル名(例:"Sonnet 5")を渡すとKIFの対局者名に含める(例:「Claude Sonnet 5(思考)」)。MCPサーバー側ではモデル名を自動判別できないため呼び出し側の自己申告に依存する。空文字(既定)なら従来どおりモデル名なしの表記のまま(§23)。mode="csa"(フェーズ24)はUSIエンジンを起動しない特殊モード:ユーザー側=CSA対応クライアント経由の人間本人(localhost:4081へのCSA接続、`wait_for_user_move`で反映)、対局相手側=Claude自身(思考モードと同じロジック)。difficultyはこのモードでは無視される(§26.6)。engine_move/engine_hintはこのモードでは使えない。
現在の対局を投了して終了する。対局はKIFに自動保存される。
ユーザー側の指し手入力を待機する。CSAモード(localhost:4081)またはClaude思考モードでユーザーが指すまでポーリングで待つ。
load_kif requires a file path but no discovery tool lists available KIF files. LLM must guess paths or fail.