ModsCode日本語ブログ Claude から Mod のコード例を探す

ModsCode / 日本語ブログ / Mod・フック・スキル・MCP の違いと選び方(Claude Code)

Mod・フック・スキル・MCP の違いと選び方(Claude Code)

Claude Code の拡張手段である Mod、設定フック、スキル、MCP サーバーの違いを表で整理し、やりたいことから最適な手段を選ぶ判断基準と、組み合わせ方を公式ドキュメントに沿って解説します。

Claude Code を自分好みに変える方法は、いくつもあります。Mod、設定ファイルのフック(設定フック)、スキル、MCP サーバーです。どれも「Claude Code に何かを足す」ものなので、初めは違いが分かりにくいはずです。この記事では、公式ドキュメントの比較をもとに、やりたいことから逆引きで選べるように整理します。

先に結論

  • 画面に何かを描きたい、独自の /コマンド を足したい、イベントを書き換えたい:Mod
  • すでにあるスクリプトで、ツール呼び出しを止める・許可する・記録したい:設定フック
  • 毎回同じ指示を貼っている:スキル
  • Claude に外部のシステムを触らせたい:MCP サーバー
  • 固定のコマンドやパスを許可・拒否するだけ:コードは不要で、権限ルール(例:Bash(npm test))

4 つの違い

公式ドキュメントの比較表を、日本語にしたものです。

Mod設定フックスキルMCP サーバー
何かプラグインの中の関数。Claude Code が自分のプロセスの中で呼ぶイベントごとに Claude Code が動かす、シェルコマンド・HTTP リクエスト・プロンプトClaude が読む、指示を書いた SKILL.mdClaude にツールを与える外部のプロセスやサービス
変えられるものツール呼び出し、プロンプト、コマンド、ターン、画面の描画ツール呼び出しやプロンプトを通すか、ツール呼び出しの引数と結果、Claude に足す文脈Claude の知識と振る舞いClaude が使えるツール
画面に描けるか描ける描けない描けない描けない
何で書くかJavaScript / TypeScriptスクリプトと settings.json の記述Markdown任意の言語のサーバー
選ぶときペイン、プロンプト上の帯、独自コマンドが欲しい。またはイベントを書き換えたいすでにあるスクリプトで、イベントを止める・許可する・記録したい同じ指示を何度も貼っているClaude が外部のシステムに届く必要がある

表の「フック」の言葉に注意してください。Claude Code は、Mod の関数も、設定ファイルのフックも、どちらも「フック」と呼びます。公式ドキュメントでは、Mod の関数を単に「フック」、設定ファイルの方を「設定フック」と区別しています。

Mod にしかできないこと

設定フック、スキル、MCP サーバーは、Claude Code の外側から働きかけます。スクリプトを動かすか、Claude に文章かツールを渡すかです。Mod は Claude Code の内側で動くので、次のことができます。

  • ペインや、プロンプトの上の帯に、タブ、ボタン、入力欄を描く
  • ツール呼び出しの行、スピナー、質問ダイアログなど、Claude Code が自分で描く画面を作り替える
  • ツール呼び出しを、ユーザーに確認するまで止める、または実行せずに答える
  • Claude を介さずに動く /コマンド を足す
  • フック同士で変数を共有し、片方の記録をもう片方が表示する

画面に関わることがなければ、設定フックで足りることが多いです。たとえば「危険なコマンドを止める」だけなら、スクリプトと設定ファイルで済みます。Mod を選ぶなら、「止めるついでに、確認ダイアログの形を変えたい」「止めた回数を画面に出したい」といった理由が目安です。

逆引き表

やりたいこと向いている手段
現在の Git ブランチを画面に出したいMod(プロンプトの下の 1 行や帯)
使ったトークンを表示するパネルが欲しいMod(ペイン)
rm -rf を止めて、Claude に別の方法を伝えたいMod か設定フック。画面の確認ダイアログを変えたいなら Mod
決まったコマンド(npm test など)を毎回許可したい権限ルール
作業のたびに同じ手順書を貼っているスキル
課題管理システムのチケットを Claude に読ませたいMCP サーバー
ファイルを編集したら、フォーマッタを自動で動かしたい設定フック
自分用の /standup コマンドを足したいMod
会話を始める前に、リポジトリの状態を Claude に伝えたいMod(プロンプトに文脈を足す)またはスキル

迷ったときは、4 つの質問に順に答えてください。画面に描く必要があるなら Mod です。Claude が外のシステムに届く必要があるなら MCP です。手順や知識を伝えたいだけならスキルです。すでにあるスクリプトで足りるなら設定フックです。

権限ルールで足りることもある

固定のコマンドやパスを許可・拒否するなら、コードを書かずに、権限ルールを使えます。たとえば Bash(npm test) のように書きます。判断が「その時点で何が真か」に依存するとき(今の Git ブランチが main のときだけ git push を拒否する、など)に、tool.check を扱う Mod が出番です。この Mod の例は 危険なコマンドを止める Mod で扱います。

組み合わせる

1 つのプラグインに、これらをまとめて入れられます。たとえば、課題管理の MCP サーバーと、使い方を教えるスキルと、状況を画面に出す Mod を、1 つのプラグインとして配ることができます。配る側にとっては、利用者がインストールするものが 1 つで済みます。

組織で使うときの違い

管理者の視点では、4 つの扱いが違います。管理設定に書かれた PreToolUse の設定フックは、どの Mod よりも先に動き、その遮断は最終です。Mod は、allowManagedModsOnly で、ユーザーが持ち込む分だけを止められます。このとき、ユーザーの設定フックやステータスラインは動き続けます。詳しくは 組織で Mods を管理する をご覧ください。

注意:Mod は権限が大きい

どれを選んでも、他人が作ったものを入れるときは、中身を確かめてください。特に Mod は、あなたの権限で動き、サンドボックスもありません。プロンプトもツール呼び出しもすべて見られ、書き換えられます。スキルは文章、MCP サーバーは外部のプロセス、設定フックは自分で書いたスクリプトという性質の違いから、リスクの種類も違います。Mod を入れる前の確認は 安全チェック にまとめました。

まとめ

画面に描く、イベントを書き換える、独自コマンドを足す、のどれかが必要なら Mod を選びます。そうでなければ、軽い手段(権限ルール、スキル、設定フック、MCP)で足ります。全体像は Mods とは に、用語は 用語集 にあります。公式の比較は 概要ページ をご覧ください。