クロードコードのツールAPI詳細が明らかに

Claude CodeのツールAPI構造
RedditユーザーがClaude Codeとの会話を通じて、その内部ツールAPIについて記録しました。AIアシスタントは、環境との相互作用の具体的な詳細を明らかにしています。
ツールのカテゴリーと機能
ファイルシステムツール:
Read— 絶対パスでファイルを読み取り、行番号付きで内容を返します(cat -nスタイル)。画像、PDF、Jupyterノートブックをサポート。Write— ファイルを上書きまたは新規作成します。既存ファイルを書き込む前にReadが必要です。Edit— 文字列の精密な置換を実行します。old_stringがファイル内で一意である必要があり、そうでない場合は失敗します。事前にReadが必要です。Glob— パターン(例:*.py)でファイルを検索し、変更時間でソートします。Grep— ripgrepベースのコンテンツ検索。正規表現、ファイルタイプフィルター、コンテキスト行をサポート。
実行ツール:
Bash— シェルコマンドを実行します。デフォルトタイムアウトは2分(最大10分まで可能)。作業ディレクトリは呼び出し間で保持されますが、シェルの状態は引き継がれません(環境変数、エイリアスなどは保持されない)。run_in_backgroundオプションあり。
ウェブツール:
WebFetch— URLコンテンツを取得します。WebSearch— ウェブを検索します。
AIエージェント:
Agent— サブエージェント(汎用、Explore、Planなど)を生成します。各エージェントは独自のツールアクセスとコンテキストを持ち、バックグラウンドで実行可能です。完了時に単一のメッセージを返します。
特殊ツール:
Skill— 名前付き「スキル」(/commitなどのスラッシュコマンド)を呼び出し、完全なプロンプトに展開します。ToolSearch— 「遅延ツール」(名前は知られているがスキーマが取得されるまで呼び出せないツール)のスキーマを取得します。
主要な実装詳細
ツール呼び出し構造: Claude Codeはツールをトリガーする特別なトークンを使用しません — 標準的な関数呼び出しAPIです。レスポンスには構造化されたツール呼び出しブロックが含まれ、結果はツール結果メッセージとして返されます。
ツール呼び出し形式: ブロックはXMLライクな構文を使用し、antml:function_callsラッパー内に1つ以上のantml:invoke要素(ツール名を属性として持つ)を含みます。各パラメータはantml:parameter要素で、name属性と値(テキストコンテンツ)を持ちます。
Bash呼び出しの例:
- 外側タグ:
antml:function_calls - 内側タグ:
antml:invoke、属性name="Bash" - パラメータタグ:
antml:parameter、name="command"、コマンドテキストを含む
運用上の動作
- リンターとの相互作用: ファイルを編集する際、gitフックや設定された「フック」がツール呼び出し後に自動的に実行され、ファイルをさらに変更することがあります。ツール結果は「ファイルが別のプロセスによって変更されました」と表示し、再度編集する前に再読み込みが必要です。
- ツール呼び出しの可視性: すべてのツール呼び出しは、ユーザーの承認のためにターミナルに表示されます(許可モードに依存)。ユーザーは任意のツール呼び出しを拒否できます。
- 並列実行: 複数のツール呼び出しを単一のレスポンスで発行し、同時に実行できます。複数のファイルを一度に読み取る際に有用です。
- コンテキスト管理: 長い会話は自動的に圧縮されます — 初期のメッセージは要約され、コンテキストを解放します。メモリの永続性はディレクトリ構造を通じて行われます:
/home/tpreal/.claude/projects/...
📖 Read the full source: r/ClaudeAI
👀 See Also

Prism MCP v2.1は、Claudeセッションに永続メモリを追加します。
Prism MCP v2.1.0「マインドパレス」は、Claudeに永続的なセッションメモリを提供し、プロジェクトのコンテキストを毎回再説明する必要をなくします。ローカルのSQLiteストレージ、視覚的なメモリブラウザ、状態のロールバック、クライアント間のコンテキスト同期などの機能を備えています。

latexnav: LaTeXファイルのLLMと人間によるナビゲーションツール
latexnavは、定理、定義、セクション、ラベル、相互参照、依存関係などの構造要素を抽出し、行番号付きの要約を提供することで、大規模な原稿を効率的にナビゲートするための、無料のオープンソースPythonツールです。これにより、LLMと人間の両方がLaTeXファイルを効果的に扱えるよう支援します。

アルフレッド・ベータ版リリース:非技術ユーザーのための簡易OpenClaw代替ツール
Alfredは、OpenClawの機能の約70%を、大幅に削減された複雑さで提供する新しいベータツールです。アプリ接続、メモリ、使用モード、インフラストラクチャに関するシンプルなデフォルト設定を備えながら、カスタマイズも可能です。

graphify-ts: ローカルMCPサーバーがClaude CodeのPRレビュートークンを63Kから8.7Kに削減
graphify-ts は、tree-sitter AST + Louvain コミュニティ検出 + BM25 + オプションの ONNX 再ランク付けを使用してコードベースのローカル知識グラフを構築し、MCP stdio 経由で公開します。本番環境でのテストでは、コードクエリの入力トークンが 2.6 倍、レイテンシが 2.8 倍削減され、PR レビューのプロンプトが 63K トークンから 8.7K トークンに削減されました。