第 4 章

ツール使用と MCP 連携

Claude Code が「ただのチャット AI」と異なる最大の理由は、ツールを使って実際にコンピューターを操作できることです。 この章ではファイル・コマンド・検索ツールの仕組みと、外部サービスと連携する MCP について学びます。

4.1 ツールとは

Claude Code はユーザーの指示に応じて、AI モデルが複数のツール(Tool)を自律的に呼び出します。 ツールとは「ファイルを読む」「コマンドを実行する」「Web を検索する」といった具体的なアクション単位です。

📂

ファイル操作

ファイルの読み込み・書き込み・作成・削除・検索

⚙️

コマンド実行

シェルコマンド・npm・git などをターミナルで実行

🔍

コード検索

リポジトリ内のキーワード・関数・クラスを横断検索

🌐

Web 検索・取得

最新情報の検索やドキュメントページの取得

🔌

MCP ツール

Slack・GitHub・DB など外部サービスとの連携

ℹ️
ツールは Claude が自動で選ぶ ユーザーは「〇〇して」と指示するだけで、どのツールをどの順番で使うかは Claude が自律的に判断します。 ただし、破壊的な操作(ファイル削除・コマンド実行など)は事前に確認を求めます。

4.2 ファイル操作ツール

Claude Code はローカルのファイルシステムを直接操作できます。 読み込みだけでなく、書き込み・作成・移動も可能です。

操作説明指示例
読み込みファイルの内容を読む「src/app.js を読んで説明して」
書き込み既存ファイルを編集する「auth.js にログアウト機能を追加して」
新規作成新しいファイルを作る「config/db.js を新規作成して」
一括変更複数ファイルをまとめて変更「全 .js ファイルの import 文を ES Module 形式に統一して」
構造確認ディレクトリ構造を把握する「このプロジェクトのフォルダ構成を教えて」
ファイル操作の実例
# 複数ファイルにまたがる一括変更
> src/components/ 以下の全 React コンポーネントを
  クラスコンポーネントから関数コンポーネントに書き換えて

# ファイル作成と内容の生成をセットで
> .env.example ファイルを作って、
  このプロジェクトで必要な環境変数を全て列挙して

4.3 コマンド実行ツール

Claude Code はターミナルコマンドをそのまま実行できます。 テストの実行・依存パッケージのインストール・ビルドなど、開発フロー全体をカバーします。

コマンド実行の例
# テストを実行してエラーを修正
> npm test を実行して、失敗しているテストを修正して

# 依存パッケージの追加
> axios をインストールして、src/api.js で使えるよう import して

# git 操作
> 変更ファイルを確認して、適切なコミットメッセージで git commit して

# ビルドとエラー確認
> npm run build して、ビルドエラーが出たら修正して
⚠️
コマンド実行は確認してから rm -rfgit push などの破壊的・影響範囲の大きい操作は、 実行前に Claude が内容を表示して確認を求めます。 内容をよく確認してから承認してください。

4.4 検索・解析ツール

コードベース内の横断検索や、最新情報の Web 検索ができます。

コードベース内の検索

コード検索の例
# 特定の関数・変数の使用箇所を探す
> getUserById 関数がどこで呼ばれているか全て教えて

# TODO コメントを一覧化
> プロジェクト内の TODO コメントを全て探して一覧にして

# セキュリティ上の問題を探す
> SQL インジェクションの可能性がある箇所を探して

Web 検索・ドキュメント取得

Web 検索の例
# 最新の API ドキュメントを参照して実装
> Stripe の最新の Payment Intent API を調べて、
  決済処理のコードを書いて

# エラーの原因を検索して解決
> このエラーをネットで調べて解決策を試して:
  ECONNREFUSED 127.0.0.1:5432

4.5 パーミッション制御

Claude Code はセキュリティのため、操作の種類によって確認レベルが異なります。 また設定ファイルで特定の操作を事前に許可・禁止できます。

操作の種類デフォルト動作
ファイルの読み込み確認なしで実行
ファイルの書き込み・作成内容を表示して確認
コマンドの実行内容を表示して確認
ファイルの削除確認必須
ネットワークへのアクセスツールによって異なる
💡
よく使うコマンドは許可リストに追加できる .claude/settings.jsonallowedTools に追加すると、 毎回確認なしで実行できます。詳しくは第5章で解説します。

4.6 MCP(Model Context Protocol)とは

MCP(Model Context Protocol) は、Claude Code と外部ツール・サービスを 接続するための標準プロトコルです。 MCP サーバーを追加することで、Claude Code から Slack・GitHub・データベースなどを 直接操作できるようになります。

💬

Slack

メッセージの送受信・チャンネル管理をAIから操作

🐙

GitHub

Issue・PR の作成・確認・コメントを自動化

🗄️

データベース

PostgreSQL・MySQL などへのクエリ実行

📋

Notion / Jira

ドキュメント・タスク管理ツールと連携

☁️

AWS / GCP

クラウドリソースの確認・操作

🔧

カスタムツール

自社システムの API を MCP サーバーとして公開

4.7 MCP の設定方法

MCP サーバーは ~/.claude/settings.json(グローバル設定)または プロジェクトの .claude/settings.json に追記して登録します。

~/.claude/settings.json — MCP サーバーの登録例
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
      }
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx"
      }
    }
  }
}

MCP サーバーの追加手順

  • 1

    使いたい MCP サーバーを探す

    公式の MCP サーバー一覧(github.com/modelcontextprotocol/servers)や npm で「mcp server」と検索します。

  • 2

    必要な認証情報を用意する

    GitHub なら Personal Access Token、Slack なら Bot Token など、各サービスの API キーを取得します。

  • 3

    settings.json に追記する

    ~/.claude/settings.jsonmcpServers に設定を追記します。

  • 4

    claude を再起動して確認

    設定を反映するため claude を再起動します。/status で MCP サーバーが認識されているか確認できます。

4.8 MCP 活用例

GitHub との連携

GitHub MCP の使用例
# Issue の一覧確認と対応
> GitHub の open な Issue を一覧にして、優先度順に並べて

# PR の自動作成
> 今の変更内容で GitHub に PR を作って。
  タイトルと説明文も適切に書いて

# Issue に紐づいた実装
> Issue #42 の内容を読んで実装して

データベースとの連携

DB MCP の使用例
# スキーマを確認してコードを書く
> データベースのテーブル構造を調べて、
  users テーブルの一覧取得クエリと対応するAPIを実装して

# データ確認
> 本番DBで直近1週間のエラーログを集計して

4.9 まとめ

  • Claude Code はファイル操作・コマンド実行・Web 検索などのツールを自律的に使う
  • 破壊的な操作の前には確認プロンプトが表示される
  • MCP を使うと GitHub・Slack・DB などの外部サービスと連携できる
  • MCP サーバーは settings.json に追記するだけで利用可能
🎯
次のステップ(第5章) 次の章では、プロジェクト固有のルールを定義する CLAUDE.md ファイルと、 パーミッション・モデルなどの詳細な設定方法を学びます。