Claude Code カスタムツール Mod:Claude に新しいツールを
Claude Code カスタムツール Mod は、Claude Code 内の JavaScript で書かれた新しいツールを Claude が呼び出せるように登録します。MCP サーバーを動かすより手軽な選択肢です。
このカテゴリにはまだ検証済みの Mod がありません。良い Mod をご存じなら、ぜひ投稿してください。
Claude Code カスタムツール Mod は、Claude がターン中に呼び出せる新しいツールを追加します。たとえばプロジェクト専用の検索、課題管理システムでの照会、あるいはあなたのコードベースが扱う何かのための計算機などです。ツールは Mod の中で JavaScript として書かれ、Claude Code の中で動くので、別のサーバープロセスを起動する必要はありません。
Claude Code カスタムツール Mod はどのようにツールを追加するのですか?
Mod は、名前と Claude が読む説明、そして受け付ける入力を指定して $.tool.register(...) を呼び出します。Claude がそのツールを使うと決めると、呼び出しは組み込みツールと同じように tool.call イベントを通過し、Mod は { result } を返して応答します。$.tool.list() で利用可能なツールを確認でき、$.tool.call() を使えば Mod 自身がツールを呼び出せます。
ほかにも重要なイベントが 2 つあります。tool.describe は、ツールの説明が最初に Claude へ送られるときに発火します。Mod はここで説明文を書き換えたり、ツールを遅延読み込みに指定して必要になるまでコンテキストを使わないようにしたりできます。agent.offer と $.agent.register は、サブエージェントの種類について同じ役割を果たします。$.tool と $.agent のメソッドは API リファレンスに記載されています。
インストール前に何を確認すべきですか?
ツール Mod には コマンド・ツールを追加が表示されます。残りのバッジは、そのツールが何にアクセスできるかを示しています。Web API に問い合わせるツールには ネットワークが、ファイルを検索するツールには ファイルを読み取るが、リンターを実行するツールには コマンドを実行が表示されます。ツールをいつ呼び出すかは Claude が決めるので、これらの機能はあなたが頼んだときだけでなく、どのターンでも使われる可能性があります。Claude が直接アクセスできるものとして見直してください。
エラーの報告方法も確認しましょう。よいツールは例外を投げるのではなく、分かりやすいエラーメッセージを結果として返すので、Claude はそこから立て直せます。
ツール Mod と MCP サーバーはどう違うのですか?
MCP サーバーは Claude にツールを与えるための標準的な方法で、多くのクライアントで動作します。ツール Mod はそれより用途が狭く、Claude Code でしか動きません。その代わり、プラグイン以外のインストール手順が不要で、セッションと同時に起動し、Mod のほかの部分と状態を共有できます。たとえば、そのツールが何回使われたかをステータスラインに表示するといったことが可能です。
よくある質問
- ツール Mod と MCP サーバーのどちらを作るべきですか?
- ツールをほかのクライアントでも使う必要がある場合や、独立したサービスとして動かす場合は MCP サーバーを使いましょう。Claude Code と数行の JavaScript だけで済むツールなら、ツール Mod のほうがシンプルです。
- カスタムツールを追加するとトークンの消費は増えますか?
- ツールの説明はすべて Claude に送られるので、ツールごとにコンテキストが少しずつ増えます。Mod は tool.describe を使ってツールを遅延読み込み(deferred)に指定でき、そうすると説明は必要になったときにだけ読み込まれます。
- ツール Mod は私のほかのツール呼び出しを見られますか?
- tool.call にもフックしている場合だけです。$.tool.register でツールを登録するだけでは、Mod がほかのツールを監視することはできません。ツール呼び出しを横取りするかどうかは、権限バッジで分かります。