MCP(Model Context Protocol)とは何か、なぜ重要なのかを基礎から解説。仕組み、設定手順、Claude CodeでのMCP活用例まで、初中級エンジニア向けにわかりやすく紹介します。
使い方ガイド
公開: by ToolCraft Lab 約10分で読めます

MCP(Model Context Protocol)入門 — AIエージェントの「手足」を理解する【2026年版】

MCP(Model Context Protocol)とは何か、なぜ重要なのかを基礎から解説。仕組み、設定手順、Claude CodeでのMCP活用例まで、初中級エンジニア向けにわかりやすく紹介します。

#MCP#Claude#AIコーディング

MCPとは? AIに「外部ツールを使う力」を与えるプロトコル

AIコーディングツールを使っていて「ファイルを読めない」「DBに接続できない」「ブラウザで検索できない」と感じたことはありませんか? MCP(Model Context Protocol)は、まさにその壁を取り払うために生まれたオープンプロトコルです。

MCP は Anthropic が2024年末に発表したオープン標準で、AIモデルと外部ツール・データソースを安全に接続するための仕組みです。筆者自身、MCPを導入してから開発ワークフローが劇的に変わりました。「AIに調べさせて、結果をコピペして…」という作業がほぼゼロになったのは大きいです。従来、AIアシスタントが外部のリソースにアクセスするには、ツールごとにカスタムの統合コードを書く必要がありました。MCPはその接続部分を標準化し、「USBポート」のように統一されたインターフェースを提供します。

MCPが解決する課題

  • ツール統合のコスト: APIごとに個別実装していたものを、共通プロトコルで統一
  • セキュリティ: AIが外部ツールを使う際の権限管理と承認フローを標準化
  • 再利用性: 一度作ったMCPサーバーは、対応するどのAIクライアントからでも利用可能
  • エコシステム: コミュニティで共有されたサーバーをすぐに使い始められる

MCPの基本アーキテクチャ

MCPは クライアント-サーバーモデル を採用しています。全体像を把握しておくと、設定やトラブルシューティングが格段にスムーズになります。

3つの登場人物

コンポーネント役割具体例
MCPホストユーザーが操作するアプリケーションClaude Code, Claude Desktop, Cursor
MCPクライアントホスト内でサーバーとの通信を管理ホストに内蔵(通常は意識しない)
MCPサーバー特定のツールやデータソースを提供ファイルシステム、GitHub、PostgreSQL など

通信の流れ

ユーザーの指示

MCPホスト(Claude Code など)

MCPクライアント(プロトコル処理)
    ↓  JSON-RPC 2.0
MCPサーバー(ツール提供)

外部リソース(ファイル、DB、API...)

MCPサーバーは ローカルプロセス(stdio通信)として動作するものと、リモートサーバー(HTTP + SSE通信)として動作するものがあります。ローカルのほうがセットアップが簡単で、初めての方にはおすすめです。どんなサーバーがあるかはMCPサーバーおすすめ一覧で用途別に紹介しています。


MCPサーバーが提供する3つの機能

MCPサーバーは、以下の3種類の機能をAIに公開できます。

1. ツール(Tools)

AIが「アクション」を実行するための機能です。ファイルの読み書き、API呼び出し、コマンド実行などが該当します。

{
  "name": "read_file",
  "description": "指定されたパスのファイルを読み取る",
  "inputSchema": {
    "type": "object",
    "properties": {
      "path": { "type": "string" }
    }
  }
}

ツールの実行にはユーザーの 明示的な承認 が必要です。AIが勝手にファイルを削除する、といったことは起きません。

2. リソース(Resources)

AIが「読み取り専用」でアクセスできるデータです。設定ファイル、ドキュメント、DBのスキーマ情報などが該当します。

3. プロンプト(Prompts)

MCPサーバーが提供するテンプレート化されたプロンプトです。特定のタスクに最適化された指示テンプレートをサーバー側で定義できます。


MCPを体験してみよう — 最速セットアップ

まずはもっともシンプルな方法で、MCPを動かしてみましょう。ここでは Claude Code を使った手順を紹介します。

前提条件

  • Node.js 18以上がインストール済み
  • Claude Code がインストール済み(npm install -g @anthropic-ai/claude-code
  • Claude Pro または Max プランに加入済み

ステップ1: MCPサーバーを追加する

Claude Code には claude mcp add コマンドが用意されています。試しに ファイルシステムサーバー を追加してみましょう。

# ファイルシステムMCPサーバーを追加
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory

このコマンドにより、Claude Code の設定ファイル(~/.claude.json または プロジェクトの .mcp.json)にサーバー情報が書き込まれます。

ステップ2: サーバーの動作を確認する

# 登録済みのMCPサーバー一覧を表示
claude mcp list

正常に登録されていれば、filesystem サーバーが一覧に表示されます。

ステップ3: Claude Codeから使ってみる

# プロジェクトディレクトリでClaude Codeを起動
claude

# Claude Code内で指示を出す
> /path/to/allowed/directory にあるファイル一覧を教えて

Claude Code がMCPサーバー経由でファイルシステムにアクセスし、一覧を返してくれます。初回はツール実行の承認を求められるので、内容を確認して許可してください。


実践: よく使うMCPサーバーの設定例

GitHub連携

# GitHub MCPサーバーを追加
claude mcp add github -- npx -y @modelcontextprotocol/server-github

# 環境変数でトークンを設定
export GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxxxxxxxxxx

これにより、Claude Code から以下のような操作が可能になります。

  • リポジトリの検索・閲覧
  • Issueの作成・更新
  • PRの内容確認

Web検索連携

# Brave Search MCPサーバーを追加
claude mcp add brave-search -- npx -y @modelcontextprotocol/server-brave-search

# APIキーを環境変数に設定
export BRAVE_API_KEY=your_api_key_here

Web検索をAIに使わせることで、最新のドキュメントやエラーメッセージの解決策を自動で調べてくれるようになります。

メモリ(永続記憶)

# Memory MCPサーバーを追加
claude mcp add memory -- npx -y @modelcontextprotocol/server-memory

会話をまたいで情報を記憶させたい場合に便利です。プロジェクトのコンテキストや意思決定の経緯を保存できます。


MCPの設定ファイルを理解する

Claude Code でMCPサーバーを追加すると、設定は JSON ファイルに保存されます。設定ファイルの場所と構造を把握しておくと、手動での編集やチーム共有がスムーズです。

プロジェクトスコープ(.mcp.json

プロジェクトルートに配置する設定ファイルです。チームで共有するサーバーはここに定義します。

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "./src"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": ""
      }
    }
  }
}

ユーザースコープ(~/.claude.json

個人のグローバル設定です。すべてのプロジェクトで使いたいサーバーはここに定義します。

# ユーザースコープにサーバーを追加(-s user オプション)
claude mcp add -s user memory -- npx -y @modelcontextprotocol/server-memory

MCPのセキュリティモデル

MCPは外部ツールへのアクセスを伴うため、セキュリティ設計が重要です。以下のポイントを理解しておきましょう。

ツール実行の承認フロー

  1. AIがツールの実行を提案する
  2. ユーザーに承認を求める(ツール名、引数が表示される)
  3. ユーザーが許可した場合のみ実行される
  4. 結果がAIに返される

権限の最小化

MCPサーバーには 必要最小限のアクセス権 だけを与えるのがベストプラクティスです。

# 良い例: 特定のディレクトリだけを許可
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ./src

# 避けるべき例: ルートディレクトリ全体を許可
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /

信頼できるサーバーのみを使う

MCPサーバーは任意のコードを実行できるため、公式リポジトリやコミュニティで信頼されたサーバー のみを使用してください。npmパッケージのダウンロード数やGitHubのスター数を確認するのも有効です。


MCPが変えるAI開発ワークフロー

MCPの導入によって、AI開発のワークフローは大きく変わります。

Before: MCP導入前

  1. AIに質問する
  2. 回答をコピーする
  3. 手動でファイルを編集する
  4. 手動でgit操作する
  5. 手動でデプロイする

After: MCP導入後

  1. AIに指示する
  2. AIがファイルを読み、編集し、gitにコミットし、テストを実行する
  3. ユーザーは結果を確認して承認するだけ

特に Claude Code + MCP の組み合わせは強力で、ターミナルから離れることなく、外部サービスとの連携まで含めた複雑なタスクを処理できます。


トラブルシューティング

MCPサーバーの設定でつまずきやすいポイントをまとめます。

サーバーが起動しない

# サーバーの状態を確認
claude mcp list

# サーバーを再起動
claude mcp reset

npx のキャッシュが古い場合は、パッケージを明示的にインストールしてみてください。

npm install -g @modelcontextprotocol/server-filesystem

環境変数が読み込まれない

MCPサーバーに渡す環境変数は、設定ファイルの env フィールドか、シェルの環境変数として設定する必要があります。.env ファイルは自動で読み込まれないので注意してください。

ツールが表示されない

サーバーは起動しているのにツールが見つからない場合、サーバーのバージョンが古い可能性があります。

# パッケージを最新に更新
npx -y @modelcontextprotocol/server-filesystem@latest /path/to/directory

まとめ

MCP(Model Context Protocol)は、AIモデルと外部ツールをつなぐオープン標準です。

  • 標準化されたプロトコル により、ツール統合のコストが大幅に下がる
  • クライアント-サーバーモデル で、セキュリティと拡張性を両立
  • Claude Code との組み合わせで、ターミナルからAIにあらゆる外部操作を任せられる
  • エコシステム が急成長中で、すぐに使えるサーバーが豊富

まずは1つのMCPサーバーを追加して、AIの「手足」が広がる体験をしてみてください。MCPの具体的な業務活用パターンはMCP実践活用ガイドで、Claude CodeでのMCP設定はClaude Code MCP設定ガイドで詳しく解説しています。


関連リンク