結論から言うと、Claude Codeの真価はHooksとMCPにあります。素のClaude Codeでも十分すごいですが、この2つを設定するかしないかで生産性が3〜10倍変わります。実際にYappliでは技術仕様書の作成時間が「数時間→1時間未満」に短縮され(Yappli Tech Blog)、Okhlopkovの事例では30ページのレポート作成が「1週間→一晩」になりました(Okhlopkov)。ただし、設定をミスると「動いてるように見えて何も起きてない」サイレント障害に悩まされることになります。このガイドでは、HooksとMCPそれぞれの仕組み・設定方法・現場で踏んだ地雷まで一気通貫で解説します。
MCPとは何か——「USB-C」に喩えられる理由
MCPはModel Context Protocolの略で、2024年11月にAnthropicが発表したオープンプロトコルです。LLMと外部ツール・データソースをつなぐ汎用コネクタとして設計されました。よく「USB-Cのようなもの」と説明されますが、まさにその通りで、従来はツールごとにバラバラだった接続方式を1つの規格に統一しようという試みです。
で、この規格がどれくらい広まったかというと、数字が物語っています。
| 指標 | 数値 | 備考 |
|---|---|---|
| 月間SDKダウンロード数 | 9,700万回 | Python + TypeScript合計 |
| 公開MCPサーバー数 | 9,652 | MCP.so等で検索可能 |
| GitHub関連リポジトリ | 15,926 | 個人・企業の実装含む |
| エンタープライズ導入率 | 41% | 本番環境で稼働中の企業 |
| 四半期成長率 | +58% | 3四半期連続 |
2025年12月にはLinux Foundation傘下のAAIF(AI Alliance Infrastructure Foundation)に寄贈され、OpenAIやBlockも参加しています(Linux Foundation発表)。正直、ここまで来るとデファクトスタンダードと言って差し支えないでしょう。
MCPの設定方法——最初の5分で動かす
MCPサーバーの追加は claude mcp add コマンドが最速です。
# Figma MCPサーバーを追加する例
claude mcp add figma -- npx -y @anthropic/figma-mcp-server
# 設定ファイルを直接編集する場合
claude mcp add-json my-server '{"command":"npx","args":["-y","@example/mcp-server"]}'
設定は ~/.claude/settings.json(グローバル)またはプロジェクトルートの .claude/settings.json(プロジェクト単位)に保存されます。
最初にハマるポイント:設定キーの変更
ここが地雷です。v0.2.0以降、設定ファイルのキー名が server から mcpServers に変わっています(markaicode.com)。古い解説記事やLLMの回答をそのままコピペすると接続に失敗します。エラーメッセージも「サーバーが見つかりません」とだけ表示されるので、キー名が原因だと気づきにくいです。
もう1つ。SSEトランスポートは2025年3月に非推奨になり、HTTP Streamableに移行しています(aquallc.jp)。古い設定をそのまま使っていると突然接続が切れる原因になるので、心当たりがあればトランスポート設定を確認してください。
現場で使われているMCPサーバー構成
ぶっちゃけ、MCPサーバーは「何を入れるか」より「入れすぎないこと」のほうが大事です。Okhlopkovの検証では、20個以上のMCPサーバーを同時接続するとコンテキスト汚染が起き、レスポンス品質が明らかに劣化したと報告されています(Okhlopkov)。
おすすめは目的別に5〜8個を厳選することです。Yappliの事例では以下の3つを組み合わせて技術仕様書作成を自動化しました(Yappli Tech Blog)。
- Confluence MCP: 社内ドキュメントの検索・参照
- Aurora MySQL MCP: データベーススキーマの直接確認
- Figma MCP: デザインカンプからの仕様抽出
この3つだけで、仕様書に必要な情報(設計書・DB構造・UI仕様)がClaude Codeから直接アクセスできるようになりました。従来は「Confluenceを開いて検索→DBクライアントでスキーマ確認→Figmaでデザイン確認→手動で仕様書を書く」というマルチウィンドウ作業だったのが、Claude Code上で完結します。
Hooksとは何か——MCPとの違い
MCPが「外部ツールとの接続」なら、Hooksは**「Claude Codeの動作にフックして自動処理を差し込む」仕組み**です。イベント駆動型のコールバック機構で、「ツール実行の前にバリデーションを走らせる」「ターン終了後にキャッシュをクリアする」といった制御ができます。
MCPとHooksを混同する人が多いですが、役割は明確に違います。
| MCP | Hooks | |
|---|---|---|
| 役割 | 外部データ・ツールへのアクセス | Claude Codeの動作制御・自動化 |
| 実行タイミング | Claudeがツールを呼んだとき | 指定イベントの前後 |
| 設定場所 | mcpServers | hooks |
| 典型的な用途 | DB参照、API連携、ファイル操作 | 自動フォーマット、テスト実行、ログ記録 |
Hooksの6つのイベント——全部使う必要はない
Hooks 2026年時点で利用できるイベントは以下の6つです(The Prompt Shelf、note.com/kyutaro15)。
| イベント | 発火タイミング | 実用例 |
|---|---|---|
| PreToolUse | ツール実行の直前 | 危険なコマンドのブロック、入力バリデーション |
| PostToolUse | ツール実行の直後 | 自動フォーマット、テスト実行、ログ出力 |
| PermissionRequest | 権限確認ダイアログ表示時 | 特定操作の自動承認ルール設定 |
| Stop | ターン完了時 | キャッシュクリア、後処理 |
| SubagentStop | サブエージェント完了時 | トークン使用量の追跡、リソース解放 |
| Notification | 通知発行時 | モニタリング、ログ集約 |
正直、最初に使うのは PreToolUse と PostToolUse の2つだけで十分です。この2つでカバーできる範囲はかなり広いです。
設定例:PostToolUseで自動フォーマット
{
"hooks": {
"PostToolUse": [
{
"matcher": {
"tool_name": "write"
},
"command": "prettier --write $CLAUDE_FILE_PATH"
}
]
}
}
ファイル書き込みのたびにPrettierが走ります。地味ですが、これだけで「Claudeが生成したコードのフォーマットが崩れている」問題がゼロになります。
Hooksで踏む地雷——3つの典型的な失敗
失敗1:chmod +x を忘れてサイレント失敗
シェルスクリプトをHookに指定した場合、実行権限がないと何のエラーも出ずに無視されます(The Prompt Shelf)。「設定したのに動かない」の原因の大半がこれです。
# 忘れがちだけど必須
chmod +x .claude/hooks/my-hook.sh
失敗2:Matcherの大文字小文字
matcher でツール名を指定するとき、大文字小文字が完全一致でないとマッチしません。たとえば multiEdit と MultiEdit は別物として扱われます(The Prompt Shelf)。Claude Codeが内部で使うツール名を正確に確認してから設定してください。
失敗3:PreToolUseのフィールド名混同
PreToolUseイベントだけ hookSpecificOutput.permissionDecision という特殊なフィールドを持っています。他のイベントとは出力フォーマットが違うのに、ドキュメントでは同列に説明されていることが多いです。コピペでHookを量産していると、このフィールドの違いで動作が壊れます(The Prompt Shelf)。
現場のリアル——導入企業の声
LINEヤフー:PR準備の自動化で週6時間削減
LINEヤフーではClaude Codeを活用したPRレビュー準備の自動化に取り組み、週あたり6時間の工数削減を実現しました(LINEヤフー Tech Blog)。MCPでコードベースとJIRAチケットを接続し、Hooksでレビュー前の自動チェックを走らせる構成です。
Yappli:技術仕様書が1時間未満で完成
前述のYappliでは、Confluence MCP + Aurora MySQL MCP + Figma MCPの3点セットで技術仕様書作成のワークフローを構築しました。従来は複数ツールを行き来しながら数時間かかっていた作業が1時間未満で完了するようになりました(Yappli Tech Blog)。
個人開発者Okhlopkov:SQL分析が20分に
30ページのレポート(15のチャート、40以上のSQLクエリ)を作成するタスクで、手作業なら1週間かかるところを一晩で完了しました。特にSQL分析は3〜4時間かかっていたものが20分に短縮されています(Okhlopkov)。とはいえ、これは「MCPでDBに直接アクセスできる環境」が前提なので、本番DBへの接続にはセキュリティ面の検討が必要です。
HooksとMCPを組み合わせる実践パターン
単体でも便利ですが、HooksとMCPを組み合わせると真価を発揮します。
パターン1:自動テスト+DB検証 PostToolUseでコード変更後に自動テストを実行し、MCPでテスト用DBのデータを検証します。テストが落ちたら原因をDBスキーマから自動で調査します。
パターン2:PR作成の完全自動化 Stopイベントでタスク完了を検知 → MCPでJIRAのステータスを更新 → Hooksでコミットメッセージの自動生成 → PR作成。LINEヤフーの事例はこのパターンに近いです。
パターン3:セキュリティガード
PreToolUseで危険なコマンド(rm -rf、本番DBへのWRITE操作など)をブロックします。これはHooksならではの使い方で、MCPだけでは実現できません。
ONIを使えば、こうしたHooks+MCPの組み合わせパターンをGUIで設定できます。CLIでJSONを手書きするのが辛い人は、ワークフロー機能でビジュアルに組み立てるほうが早いです。
まとめ——MCPは「接続」、Hooksは「制御」
MCPとHooksは補完関係にあります。MCPで外部ツールとの接続を広げ、Hooksで品質と安全性を担保する。どちらか一方だけでも効果はありますが、両方を組み合わせたときに初めて「Claude Codeが自律的に動く」状態になります。
最後に、設定で失敗しないためのチェックリストです。
- 設定キーは
mcpServers(v0.2.0以降)を使っているか - SSEではなくHTTP Streamableトランスポートを指定しているか
- MCPサーバーは20個以下に絞っているか
- Hookスクリプトに
chmod +xしているか - Matcherのツール名は大文字小文字を正確に指定しているか
地味なチェック項目ばかりですが、現場で「動かない」と悩む原因の8割はここに集約されます。設定さえ正しければ、Claude Codeは想像以上に頼もしい相棒になります。ONIのワークフロー機能と合わせて、ぜひ自分の開発環境を最適化してみてください。
出典・参考リンク
- LINEヤフー Tech Blog - Claude CodeによるPRレビュー準備の自動化
- Yappli Tech Blog - Claude Code + MCPで技術仕様書作成を効率化
- Okhlopkov - Claude Code Setup: MCP, Hooks, Skills 2026
- The Prompt Shelf - Claude Code Hooks Complete Reference 2026
- markaicode.com - Claude Code MCP Integration Guide
- aquallc.jp - Claude Code MCP Guide
- note.com/kyutaro15 - Hooks完全ガイド
- note.com/yamamon_ai - MCPで別のツールになった
- note.com/ai_jissennkai - MCP設定と使用サーバー5選
- note.com/kamechan_usagi - Hooks試してみた