拡張機能(Hooks & MCP)
Hooks(自動処理)と MCP(外部ツール連携)で Claude Code の機能を拡張します。
Hooks: 自動化
Hooks は、Claude Code のツール実行前後に自動処理を追加する仕組みです。.claude/settings.json に設定します。
| Hook | タイミング | 用途 |
|---|---|---|
| PreToolUse | ツール実行前 | 実行の許可/拒否 |
| PostToolUse | ツール実行後 | 自動フォーマット、検証 |
| Notification | 通知送信時 | カスタム通知 |
例: ファイル保存時の自動フォーマット
json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"command": "prettier --write \"$CLAUDE_FILE_PATH\""
}
]
}
}環境変数 $CLAUDE_FILE_PATH(操作対象ファイル)と $CLAUDE_TOOL_NAME(ツール名)が利用可能です。
Hooks のその他の例
ESLint の自動修正
json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"command": "eslint --fix \"$CLAUDE_FILE_PATH\" 2>/dev/null || true"
}
]
}
}特定ファイルの編集防止(PreToolUse)
PreToolUse の終了コードで動作が変わります:
- 0: 自動承認 / 2: ブロック / その他: 通常フロー
MCP: 外部ツール連携
MCP(Model Context Protocol)は、Claude Code を外部サービスと連携させるプロトコルです。.claude/settings.json に設定します。
json
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-slack"],
"env": { "SLACK_BOT_TOKEN": "xoxb-your-token" }
}
}
}主要なサーバー: Slack, GitHub, Filesystem 等。/mcp で接続状態を確認できます。
セキュリティ上の注意
- 最小権限の原則に従い、必要な権限だけを付与する
- API トークンは
~/.claude/settings.jsonに記載(.gitignoreで除外) - 読み取り専用トークンの利用を検討する
カスタムコマンド
.claude/commands/ にマークダウンファイルを配置すると、スラッシュコマンドとして呼び出せます。
my-project/.claude/commands/review.md → /project:reviewもっと詳しく知りたい方へ