AI総合研究所

SHARE

X(twiiter)にポストFacebookに投稿はてなブックマークに登録URLをコピー

MCP(Model Context Protocol)とは?仕組みや使い方、実装方法を解説!

この記事のポイント

  • MCPは、AIモデルと外部ツール・データソースを接続するためのオープンプロトコルで、複数ベンダーのクライアントから共通利用できる
  • ローカルMCPサーバーはファイル操作やGit連携などのPC内タスクに、リモートMCPサーバーはSaaSやDB連携などの共有タスクに適している
  • Agent SkillsやAgents SDKと組み合わせることで、ツールの接続とタスク実行ロジックを分離したスケーラブルなエージェント基盤を構築可能
  • 天気予報APIを例にしたハンズオンを通じて、Pythonでのサーバー実装からデスクトップクライアントへの接続までの具体的な手順を解説
  • 企業導入時は、権限設計やログ監査、PIIのマスキングといったセキュリティ・ガバナンス設計をPoC段階から組み込むことが推奨される
坂本 将磨

監修者プロフィール

坂本 将磨

XでフォローフォローするMicrosoftMVP

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。


Anthropicが提唱した「Model Context Protocol(MCP)」は、AIモデルと外部データソースやツールを接続するためのオープンな標準プロトコルとして、OpenAIやMicrosoftを含む業界全体での採用が進んでいます。
従来のAPI連携とは異なり、ツール定義やリソース参照のインターフェースを共通化することで、一度構築したMCPサーバーを複数のAIクライアントから再利用できる点が大きな特徴です。

本記事では、MCPの基本概念からアーキテクチャ、具体的なサーバー構築手順、そして企業導入時のセキュリティ設計までを、2025年12月時点の最新動向を交えて体系的に解説します。

目次

MCP(Model Context Protocol)とは?

MCPが標準化する「Model Context」とは?

主要ベンダーとOSSエコシステムのMCP対応(2025年時点)

標準化の動き:Agentic AI Foundation(AAIF)での位置づけ

MCPの仕組みとアーキテクチャ:ホスト・クライアント・サーバー

MCPホスト・クライアント・サーバーの役割

JSON-RPCとトランスポート(stdio / Streamable HTTP)

MCPが扱う3つのプリミティブ:ツール・リソース・プロンプト

MCPの使い方【主要クライアント別】

Claude Desktop / Claude CodeでのMCP活用

OpenAI CodexとAgents SDKでのMCP連携

ChatGPT(Connectors・Deep Research)とMCP

クライアント別の比較表(どこから試すかの目安)

MCPサーバーの種類と代表例:ローカルとリモートの使い分け

ローカルMCPサーバー:PC内の作業をAIに開放する

リモートMCPサーバー:SaaSや業務システムとのハブ

OSSエコシステムと「Awesome MCP Servers」

ハンズオン:Claude Desktop+天気予報MCPサーバーを動かしてみる

前提条件と開発環境の準備

weather MCPサーバーの構成とポイント

claude_desktop_config.jsonの設定と接続テスト

MCPと周辺コンポーネント:Agent Skills・Agents SDK・MCO

Agent Skills:エージェント用の「スキル定義フォルダ」

Agents SDKとMCP:エージェント本体とツール接続の分担

MCO(Model Context Operator):オーケストレーション層の構想

レイヤーごとの整理:どこに何を書くか

セキュリティとガバナンス:MCP導入時に押さえたいポイント

権限設計とアイデンティティ管理

ログ・監査・コード実行サンドボックス

社内ポリシーと運用ルール

MCPのユースケースと活用イメージ

日常業務の自動化(情報収集・レポート作成)

ソフトウェア開発・SRE・データ基盤運用

既存RAGとの組み合わせ

FAQ:MCP(Model Context Protocol)でよくある質問

まとめ:MCPを「AIエージェント基盤の共通レイヤー」として捉える

MCP(Model Context Protocol)とは?

MCP(Model Context Protocol)は、「AIモデルと外部ツール・データソースをつなぐためのオープンプロトコル」です。

AIから見ると、ファイル・データベース・SaaSなどにアクセスするための**共通インターフェース(ポート)**に相当します。アクセス方法をMCPで揃えることで、次のような狙いがあります。

  • ツールの再利用性を高める
  • ベンダーごとの独自仕様によるロックインを避ける
  • セキュリティや権限設計を1つのレイヤーに集約する

MCPとは
MCPの全体イメージ

最初の仕様と実装はAnthropicから公開されましたが、プロトコル自体はオープンでベンダーニュートラルです。
現在は、複数社のAIクライアントやエージェント基盤から同じMCPサーバーを共有できる「共通レイヤー」として扱われつつあります。

MCPが標準化する「Model Context」とは?

MCPが標準化する「Model Context」とは?

ここでいう「Model Context(モデルのコンテキスト)」は、モデルが推論に利用できる「作業環境」一式を指します。代表的には次のような要素が含まれます。

  • 呼び出し可能なツール(関数・API)
  • 参照できるデータリソース(ファイル、DB、HTTPエンドポイントなど)
  • それらにアクセスするためのメタデータや設定情報


MCPは、この外部環境とモデルのあいだでやり取りされる情報を、共通フォーマットで扱えるようにするプロトコルです。具体的には、次のような項目が標準化の対象になります。

  • ツールのインターフェース(引数・戻り値・説明文など)
  • データリソース(ファイル・DB・HTTPエンドポイントなど)の扱い方
  • モデルとサーバー間のメッセージ形式(JSON-RPC ベースのリクエスト/レスポンス)
  • 通信方式(標準入力/標準出力(stdio)、HTTPベースのストリーミングなど)

この標準化により、次のような分離がしやすくなります。

「ツールやデータソースの実装(MCPサーバー)」

「それを利用するクライアント(各社のチャットUIやIDE拡張、エージェント基盤など)」

クライアントを入れ替えても、MCPサーバー側は作り直さず再利用しやすくなる、という設計思想です。

主要ベンダーとOSSエコシステムのMCP対応(2025年時点)

主要ベンダーとOSSエコシステムのMCP対応(2025年時点)

2025年12月時点で、MCPを正式に採用・サポートしている主なプレイヤーは次のとおりです。

プレイヤー 位置づけ 代表的なMCP対応
Anthropic(Claude) 提唱者・リファレンス実装 DesktopアプリやIDEから、ローカル/リモートMCPサーバーに接続できる実装とドキュメントを提供。
OpenAI(ChatGPT / Codex / Agents SDK) SaaS / 開発者向け基盤 ChatGPTコネクタ(Apps)やDeep Research、Agents SDKからリモートMCPサーバーをツールとして共通利用可能。
Microsoft(Azure MCP / Azure AI Foundry / GitHub Copilot) クラウド・エンタープライズ向け Azure MCP ServerとAzure AI Foundry/GitHub CopilotからMCPツールを利用できるエンタープライズ向け環境を提供。
OSSエコシステム / コミュニティ 実装とユースケースの供給源 「Awesome MCP Servers」「mcpservers.org」などを中心に、多様なOSS MCPサーバー実装が公開・共有されている。

標準化の動き:Agentic AI Foundation(AAIF)での位置づけ

2025年には、Anthropic がMCPを Linux Foundation 配下の Agentic AI Foundation(AAIF) に寄贈し、Blockの「goose」やOpenAIの「AGENTS.md」と並ぶファウンディングプロジェクトとして管理される形になりました。

これにより、MCPは特定ベンダーの所有物ではなく、エージェント関連技術のオープン標準として業界横断で育てていくプロジェクトという性格がより明確になっています。

Agentic AI Foundation(AAIF)での位置づけ


こうした ベンダー採用+標準化の動き を踏まえると、MCPは 「当面の事実上の標準プロトコルのひとつ」 と見なしておくと、実務上の判断がしやすくなります。


MCPの仕組みとアーキテクチャ:ホスト・クライアント・サーバー

ここからは、MCPのアーキテクチャを構成要素ごとに整理します。
イメージとしては、一般的なクライアント/サーバー構成をAIエージェント向けに再定義したものです。

MCPホスト・クライアント・サーバーの役割

MCPホスト・クライアント・サーバーの役割

MCPでは、構成要素を大きく3種類に分けて考えます。

それぞれが異なる責務を持ち、連携することで「モデル+ツール+外部システム」全体の振る舞いが決まります。

MCPホスト

  • ユーザーと対話するアプリケーション本体
  • 例:チャットUI、デスクトップアプリ、IDE拡張、CLIツールなど
  • モデルへのプロンプト生成やツール呼び出しのオーケストレーションを担当

MCPクライアント

  • ホストの内部(または近く)で動作し、MCPサーバーとの通信を担当するコンポーネント
  • JSON-RPC メッセージやコンテンツ配列(text / image / resource など)のフォーマットを処理

MCPサーバー

  • 外部システムへの具体的なアクセス(DB、ファイルシステム、SaaSのAPIなど)を担う
  • 「ツール」「リソース」「プロンプトテンプレート」を定義し、呼び出しに応じて実処理を行う


この3者の関係性は、抽象的に聞くと少しつかみにくいかもしれません。
後半のハンズオンでは、これらの役割がそれぞれ「デスクトップクライアント」と「天気予報MCPサーバー」にどう対応するかを具体的に確認していきます。


以降では、

  • 抽象的な役割分担(ホスト/クライアント/サーバー)
  • 具体的な実装例(デスクトップクライアント+weatherサーバー)

を行き来しながら見ていく形にします。

JSON-RPCとトランスポート(stdio / Streamable HTTP)

JSON-RPCとトランスポート(stdio / Streamable HTTP)
MCPはメッセージフォーマットとして JSON-RPC を採用しています。
そのうえで、実際の通信路(トランスポート)としては、現行の公式SDKでは主に次の2種類が使われています。

  • stdio(標準入力/標準出力)

    • MCPサーバーをサブプロセスとして起動し、プロセス間通信でリクエスト/レスポンスをやり取りする方式。
    • ローカルの CLI やデスクトップクライアントとの連携に向きます。

  • Streamable HTTP(SSEを含むHTTPストリーミング)

    • HTTP上でストリーミング通信を行う方式。
    • リモートMCPサーバーやマルチテナント構成のサーバー実装に適しています。


以前はドキュメント上で「SSEサーバー」と表現されることも多くありましたが、現在のPython SDKでは SSE を含む「Streamable HTTP」クライアント として整理されつつあります。

実装用ライブラリとしては、Python製の FastMCP や TypeScript製のフレームワークなどが用意されています。自社の言語スタックに合わせて選択するとよいでしょう。

後述のハンズオンでは、これらの仕組みのうち「stdio+サブプロセス起動」のパターンを実際に触っていきます。

MCPが扱う3つのプリミティブ:ツール・リソース・プロンプト

MCP公式ドキュメントでは、サーバーがクライアントに公開する要素として、主に次の3種類が定義されています。

ツール・リソース・プロンプト:MCPが扱う3つのプリミティブ

  • ツール(tools)

    • モデルから呼び出せる「関数」に相当します。
    • 例:「get_weather」「search_docs」「run_sql」など。

  • リソース(resources)

    • ファイルやDBレコードなど、参照可能なデータのエントリです。
    • 一覧取得・詳細取得・ストリーミング配信などに対応します。

  • プロンプト(prompts)

    • よく使う指示やテンプレートをまとめたものです。
    • エージェントが高品質なプロンプトを再利用できるようにします。


これらを組み合わせることで、たとえば次のような複数ステップのワークフローを表現できます。
「ファイルを検索 → 中身を読む → 要約する → 別システムに登録する」のワークフロー

「ファイルを検索 → 中身を読む → 要約する → 別システムに登録する」


MCPサーバー側でツールを定義しておけば、エージェント側ではそれらを順番に呼び出すだけで処理フローを構成できます。

この「ツール定義をサーバー側に寄せる」という考え方が、後述するAgents SDKやAgent Skillsとの相性の良さにもつながっています。


MCPの使い方【主要クライアント別】

同じMCPサーバーであっても、「どのクライアントから利用するか」によって体験は大きく変わります。

ここでは、代表的なクライアントごとの位置づけを整理します。

MCPの使い方【主要クライアント別】

Claude Desktop / Claude CodeでのMCP活用

Claude Desktop は、ローカルファイルやGitリポジトリ、SQLite へのアクセスと相性の良いクライアントです。
設定ファイル「claude_desktop_config.json」 にサーバーの起動コマンドを追記するだけで、チャットからMCPツールを呼び出せるようになります。

claude_desktop_config.json
Claude Desktopの MCP 設定画面(既存キャプチャを再利用)


Claude Code と組み合わせることで、次のような 開発向けMCPツール を構築できます。

  • リポジトリ検索・コードナビゲーション
  • テスト実行・結果の要約
  • LSPサーバーとの連携による型情報・補完の活用


「ローカル環境の資産をエージェントに解放する窓口」として位置づけると、設計の方針が立てやすくなります。

OpenAI CodexとAgents SDKでのMCP連携

OpenAIは開発者向けドキュメントで、「ChatGPTのコネクタ/Deep Research/API統合向けにMCPサーバーを使う方法」を公式に案内しています。

Codex CLI / Codex IDE、MCP対応版 Agents SDK からも、設定ファイル経由でMCPサーバーをツールとして登録できます。

  • Codex側の設定ファイル(例:「mcp_agent.config.yaml」)にサーバーのコマンドや引数を定義する。
  • Agents SDK や周辺フレームワークでは、エージェント定義の中に 「mcp_servers」 / 「mcp-servers」 などの設定を追加し、MCPサーバーをツールとして登録する。
  • 同じMCPサーバーを Codex CLI/IDE/バックエンドエージェントから共通利用できる。


VS Code 拡張向けに作ったMCPサーバーを、そのままCodexやAgents SDKでも使い回せるため、開発・運用コストを抑えやすい構成です。

ChatGPT(Connectors・Deep Research)とMCP

ChatGPTの「コネクタ(Apps)」や「Deep Research」機能では、リモートMCPサーバー経由で外部データにアクセスする構成が公式ガイドで紹介されています。

次のようなステップで自社専用コネクタを用意できます。

  1. FastMCPなどでリモートMCPサーバーを構築する。
  2. 「search」「fetch」といった標準ツールを実装する。
  3. ChatGPTのコネクタ設定から、そのサーバーを登録する。


これにより、特定のベクターストアや業務システムを対象にした「自社専用Deep Research」に近い体験を構築できます。

クライアント別の比較表(どこから試すかの目安)

PoCの入口を検討する際に、「まずどこから触るか」を決めるためのざっくりとした比較です。

クライアント 主な用途 強み 想定ユーザー像
Claude Desktop ローカルPCの作業自動化 ファイル・Git・ローカル開発との相性が良い 個人開発者、ナレッジワーカー
Claude Code IDE内でのコード支援 コードリーディングやリファクタリングに強い エンジニア、SRE
OpenAI Codex (CLI/IDE) コーディングエージェント GitHub連携やCI/CDと組み合わせやすい チーム開発、DevOps担当
Agents SDK バックエンドのエージェント基盤 サーバーサイドのワークフロー自動化に適する プロダクト開発チーム、プラットフォームチーム
ChatGPT Connectors / Deep Research ナレッジ検索・調査タスク エンドユーザーに近いUIで共有しやすい ビジネス部門、アナリスト

同じMCPサーバーでも、「どのクライアントで使うか」によって体験はかなり変わります。
最初は 1〜2種類のクライアントに絞って検証するのがおすすめです。


MCPサーバーの種類と代表例:ローカルとリモートの使い分け

alt text
次に、MCPサーバー側のパターンを整理します。

大きくは ローカルリモート に分けて考えるとイメージしやすくなります。

ローカルMCPサーバー:PC内の作業をAIに開放する

ローカルMCPサーバーは、ユーザーのPCやオンプレ環境の中で動作するサーバーです。外部ネットワークに出さずに、次のような対象を扱えます。

  • ローカルファイル(議事録、契約書、社内ドキュメントなど)
  • ローカルGitリポジトリ(コード検索、差分取得)
  • SQLiteなどの軽量DB(ログ・小規模ストア)
  • 「Memory」サーバー(ローカルナレッジの永続化)


これらをMCPサーバーとして切り出すことで、次のようなメリットがあります。

  • 機密性の高いデータをモデル本体に直接渡さずに活用できる
  • オフライン/閉域環境でもエージェント体験を実現しやすくなる

プライバシー重視のPoCや、個人開発者のワークスペースに向いたパターンです。

リモートMCPサーバー:SaaSや業務システムとのハブ

リモートMCPサーバーは、クラウドや社内ネットワーク上で動作し、複数ユーザーから利用される前提のサーバーです。代表的な連携先は次のとおりです。

  • SalesforceなどCRM / SFA のレコード検索・更新
  • GitHub / GitLab のIssue・PR・CIログの取得・更新
  • 監視サービス(Sentry や Datadog)のアラート取得と絞り込み
  • Google Drive / SharePoint / Confluence などのドキュメントストレージ
  • BigQuery・Snowflakeなどデータウェアハウスへのクエリ実行


リモートサーバーを用意しておくと、ChatGPT・Claude・Codexなど複数のクライアントから同じビジネスロジックを共有できます。

「バックエンドは共通MCPサーバー、フロントのUIだけ各クライアントで変える」といった構成も取りやすくなります。

OSSエコシステムと「Awesome MCP Servers」

OSSエコシステムと「Awesome MCP Servers」
OSSコミュニティでは、「Awesome MCP Servers」「mcpservers.org」などに多様なMCPサーバー実装が集約されています。

カテゴリの例を挙げると、次のようなものがあります。

  • Webページ取得・ブラウザ自動化系
  • Git / GitHub / GitLab 操作系
  • Google Drive・Notion・Confluence 連携系
  • ベクターストア・RAG向けサーバー
  • 監視・ログプラットフォーム連携系


ゼロから自作するのではなく、既存のOSSサーバーをフォークして、次の部分だけ自社用に調整する始め方も現実的です。

  • 認証方式
  • APIキーやトークンの管理方法
  • アクセスを許可するデータ範囲

ハンズオン:Claude Desktop+天気予報MCPサーバーを動かしてみる

ここからは、実際にMCPサーバーを動かしてみるハンズオンです。

米国国立気象局(National Weather Service, NWS)のAPIを叩く 「weather」MCPサーバー** を例に、構築〜Claude Desktopへの接続〜動作確認までの流れを確認します。

前提条件と開発環境の準備

前提となる環境は次のとおりです。

  • Python 3.11 以上
    (公式クイックスタートの要件は「Python 3.9 以上」ですが、3.11 以降を使っておくと互換性の面で安心です)
  • パッケージ/仮想環境管理ツールとしての「uv」
  • HTTPクライアントとして 「httpx」
  • MCPサーバー実装用ライブラリとして 「mcp[cli]」(公式Python SDKに含まれる FastMCP を利用)

ターミナルで以下を実行し、プロジェクトを準備します。

# uv がまだ入っていない場合のインストール例(macOS / Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh

# プロジェクトフォルダ作成
mkdir weather && cd weather

# プロジェクト初期化と依存関係の追加
uv init --python 3.11
uv add "mcp[cli]" httpx


これで、「weather.py」 にMCPサーバーのコードを書ける状態になります(uv run weather.py で起動できる構成)。

weather MCPサーバーの構成とポイント

「weather.py」 の中身は、おおまかに次の4つのブロックに分かれます。

  1. ライブラリと定数の定義
    • 「FastMCP」 でサーバー本体を定義します。
    • NWS APIのベースURLやUser-Agentを定数として保持します。

  2. HTTPリクエスト用のヘルパー関数
    • 「make_nws_request」 でエラーハンドリングやタイムアウト処理を共通化します。

  3. レスポンス整形用関数
    • 「format_alert」 などで、APIレスポンスを人間が読みやすいテキストに変換します。

  4. MCPツール本体の定義
    • 「@mcp.tool()」 デコレータで 「get_alerts」 / 「get_forecast」を公開します。


たとえば、天気警報を取得するツールは次のようなイメージです。

@mcp.tool()
async def get_alerts(state: str) -> str:
    url = f"{NWS_API_BASE}/alerts/active/area/{state}"
    data = await make_nws_request(url)
    if not data or "features" not in data:
        return "Unable to fetch alerts or no alerts found."
    if not data["features"]:
        return "No active alerts for this state."
    alerts = [format_alert(feature) for feature in data["features"]]
    return "\n---\n".join(alerts)


HTTPクライアント部分(「make_nws_request」 など)と、MCPツールとして公開する部分(「@mcp.tool()」)を分けておくと、ツールの追加や他クライアントからの再利用がしやすくなります。

このあたりは、既存のWeb APIクライアント開発とかなり感覚が近いはずです。

claude_desktop_config.jsonの設定と接続テスト

サーバーがローカルで動作するようになったら、Claude Desktop の設定ファイルに登録します。

「~/Library/Application Support/Claude/claude_desktop_config.json」に、次のようなエントリを追加します(パスは自分の環境に合わせて変更します)。

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather",
        "run",
        "weather.py"
      ]
    }
  }
}


設定を保存して Claude Desktop を再起動すると、MCPサーバー一覧に「weather」が表示されます。
そのうえで、チャット画面から次のように指示すると動作確認ができます。

  • 「テキサス州の天気警報を教えてください。」
  • 「緯度37.7749、経度-122.4194の天気予報を教えてください。」

実際の回答画面
weatherサーバーからの応答例(既存キャプチャを再利用)


ここまで来ると、

  • MCPホスト:Claude Desktop
  • MCPクライアント:Claude Desktop 内部のMCP機能
  • MCPサーバー:「weather」

という役割分担が、具体的な動きとセットでイメージできるようになるはずです。


MCPと周辺コンポーネント:Agent Skills・Agents SDK・MCO

MCPと周辺コンポーネント:Agent Skills・Agents SDK・MCO

各社のドキュメントを読むと、

  • Agent Skills
  • MCP
  • Agents SDK
  • MCO


といった近い用語が頻繁に登場します。
それぞれ「どのレイヤーの概念か」を押さえておくと、設計時に迷いにくくなります。

Agent Skills:エージェント用の「スキル定義フォルダ」

Agent Skills は、エージェントが再利用する タスクのまとまり(スキル)をフォルダ単位で定義する仕組み です。

SKILL.md とスクリプト群、参考資料をひとまとめにし、次のような点を明示します。

  • どのような依頼でこのスキルを使うか
  • どのファイル/スクリプトを呼び出すか


コーディングエージェントやIDE連携ツールでは、Agent Skills を使うことで、次のような複雑な開発タスクを段階的にこなせるように設計できます。

  • リポジトリ移行
  • テスト自動化・カバレッジ強化
  • 大規模リファクタリング

Agents SDKとMCP:エージェント本体とツール接続の分担

OpenAI の Agents SDK は、エージェントの次のような側面を扱う「エージェント本体」側のフレームワークです。

  • 状態管理
  • ツール呼び出し
  • リトライ戦略
  • ログ/トレース


一方 MCP は、エージェントから見た ツール接続の標準仕様 にフォーカスしています。
役割分担を整理すると、次のようになります。

  • Agents SDK:エージェント全体の設計・実行・監視を担う。
  • MCP:エージェントが利用する外部ツールのインターフェースを共通化する。


この2つを組み合わせることで、「ツールはMCPで共通化しつつ、エージェントのロジックはAgents SDKで組む」という構成が取りやすくなります。

MCO(Model Context Operator):オーケストレーション層の構想

一部の研究・技術解説では、「Model Context Operator(MCO)」という用語も登場します。

MCOは、MCPで接続された複数のサーバーやツールを束ねるコンポーネントとして構想されている概念です。視点としては、次のような点を制御します。

  • どのツールを使うか
  • どの順番で呼び出すか
  • どの条件で切り替えるか


現時点では、MCPのように仕様が固まったオープン標準というよりは、各社やコミュニティで実装検討が進んでいる段階の「考え方」「アーキテクチャ上のパターン名」に近い位置づけです。

正式な仕様やリファレンス実装が整備された規格ではない 点は押さえておくとよいでしょう。

レイヤーごとの整理:どこに何を書くか

実務の設計では、次のように責務を分けておくと整理しやすくなります。

  • ツールや外部システムとの接続は MCPサーバー に寄せる。
  • タスクの分解・実行順序・エラーリトライは Agents SDK や独自エージェントロジック に任せる。
  • 再利用性の高いタスクの塊は Agent Skills(SKILL.md) として整理する。


このレイヤリングを意識することで、ツール側の実装とエージェントロジックを分離でき、長期的に保守しやすいアーキテクチャになります。


セキュリティとガバナンス:MCP導入時に押さえたいポイント

MCPは非常に便利な一方で、「外部システムへの自動操作権限」をエージェントに与える仕組みでもあります。

PoCの段階から、最低限のセキュリティとガバナンスを組み込んでおくことが重要です。

権限設計とアイデンティティ管理

MCPサーバーは多くの場合、「APIキー」「OAuthトークン」「サービスアカウント」などを用いて外部サービスにアクセスします。
誤って管理者権限のトークンを渡すと、エージェント経由で次のような操作が可能になってしまうリスクがあります。

  • リソースの削除
  • ファイルや設定の強制上書き
  • 大量の一括更新


これを避けるために、事前に次のような方針を決めておくと安全です。

  • 読み取り専用サーバーと更新可能サーバーを分けて運用する。
  • 本番環境と検証環境で別々の資格情報を使う。
  • ユーザー個人のアカウントではなく「エージェント専用アカウント」を発行する。

ログ・監査・コード実行サンドボックス

各社の技術ブログでは、MCPとコード実行環境を組み合わせる場合でも、PII(個人情報)をトークナイズしてモデルから隠す設計 などが紹介されています。

自社でMCPを導入する際も、次のようなポイントを押さえておくと安全性が高まります。

  • MCPサーバー側で、リクエスト/レスポンスのログを適度な粒度で記録する。
  • ログには必要最小限の情報のみを残し、PIIはマスクやトークナイズを行う。
  • コード実行を伴う場合は、コンテナやサンドボックス環境でCPU・メモリ・ネットワークなどのリソース制限をかける。


こうした設計により、「どのツールがいつ・どのデータにアクセスしたか」を後から追跡しやすくなります。

社内ポリシーと運用ルール

組織としてMCPを展開する場合、重すぎない範囲で次のようなルールを整えておくと、運用が安定します。

  • 本番系のMCPサーバーは Pull Request ベースでレビュー必須にする。
  • セキュリティ/プラットフォームチームと連携し、利用可能な外部サービスをホワイトリスト化する。
  • 公開OSSのMCPサーバーも、そのまま使う前に一度コードレビューを行う。


「便利だけれど中身がよく分からないツール」が野放しにならないよう、最低限のルールを事前に決めておくと安心です。


MCPのユースケースと活用イメージ

MCP自体はあくまでプロトコルですが、ユースケースに落とし込むと価値が見えやすくなります。

日常業務の自動化(情報収集・レポート作成)

情報系の業務では、次のような使い方が典型的です。

  • 社内ポータル・ナレッジベースの横断検索と要約
  • 過去提案書やレポートから類似案件を探し、要点を抽出する
  • パートナー企業との議事録やFAQを横断検索し、回答案を自動生成する


これらは、ChatGPTのコネクタやClaude Desktopから「読み取り専用の社内MCPサーバー」を叩くことで、自社版Deep Researchに近い体験として実現できます。

ソフトウェア開発・SRE・データ基盤運用

開発・運用の現場では、MCPサーバーを挟むことで次のようなことがしやすくなります。

  • GitHub / GitLab のIssue・PR・CIログを横断的に検索する
  • 監視アラート(Sentry、Datadogなど)を取得し、関連PRやドキュメントと紐づけて要約する
  • データ基盤のジョブステータスを確認し、失敗ジョブの原因候補を洗い出す


VS Code の Claude Code や Codex IDE と組み合わせれば、「コードを読みながら、関連Issueやドキュメントを一括で引いてきて要約する」といったエージェント体験も構築しやすくなります。

既存RAGとの組み合わせ

すでにベクターストアや検索エンジンを使ったRAGシステムを持っている場合でも、その検索APIをMCPサーバーの「search」「fetch」ツールとして公開することで、ChatGPTのDeep Researchや自前のAgents SDKベースエージェントから利用できます。

「既存のRAG+MCP」を組み合わせることで、これまでの投資を活かしつつエージェント化を進めることが可能です。


FAQ:MCP(Model Context Protocol)でよくある質問

最後に、導入検討時によく挙がる質問をQ&A形式でまとめます。

Q. MCPはプラグインやZapierと何が違いますか?

MCPは、AIモデルが直接ツールを呼び出すためのプロトコル です。Zapier や一般的なiPaaSは、人間がワークフローを組む前提のサービスです。

一方、MCPでは次のような判断をエージェント側(モデル側)に委ねる設計になっています。

  • どのツールを使うか
  • どの順番で呼び出すか


そのため、「人間があらかじめ組んだフローに沿って動く仕組み」というよりは、「エージェントが状況に応じてツールを選択するための共通レイヤー」として捉えるとイメージしやすくなります。

Q. どのくらいの技術レベルがあればMCPサーバーを自作できますか?

外部APIを1つ叩くだけのシンプルなMCPサーバーであれば、次のようなレベル感で実装可能です。

  • Python または TypeScript で簡単なWeb APIクライアントを書いたことがある

一方で、次のような要件を含むサーバーでは、一般的なアプリケーション開発と同程度の知識が求められます。

  • コード実行やジョブ管理
  • 複雑なワークフローのオーケストレーション
  • 機密データの取り扱い(マスキング・権限分離など)


この場合は、セキュリティ設計やエラーハンドリング、ログ設計なども含めて検討する必要があります。

Q. 企業導入時に、まず試すべきパターンは?

多くの組織では、次のようなステップで段階的に広げていくとスムーズです。

  1. ローカルMCPサーバーで、社内ドキュメントの読み取り専用検索を構築する(デスクトップクライアントから利用)。
  2. 限定されたチーム向けに、GitHub や監視サービスと連携するリモートMCPサーバーを試験導入する。
  3. 成果が見えた段階で、Agents SDK などと組み合わせた本格的なエージェント基盤を検討する。


このように段階を踏むことで、リスクを抑えつつMCP活用の範囲を広げていくことができます。


まとめ:MCPを「AIエージェント基盤の共通レイヤー」として捉える

ここまで、Model Context Protocol (MCP) の仕組みと活用パターンを整理してきました。
ポイントを改めてまとめると次のとおりです。

  • MCPは、AIモデルと外部ツール・データソースをつなぐ オープンな接続プロトコル である。
  • 複数ベンダーのクライアントやエージェント基盤から、同じMCPサーバーを共有できる。
  • ローカルMCPサーバーはプライバシー重視のPoCに、リモートMCPサーバーはSaaSや業務システム連携に適している。
  • Agent Skills / Agents SDK / MCO といった周辺概念をレイヤーで整理すると、設計の自由度と再利用性が高まる。
  • セキュリティ・ガバナンスはPoCの段階から軽めにでも入れておくと、後からの手戻りを防ぎやすい。


まずは、天気予報MCPサーバーのような 小さなサーバーを1つ 試し、
その後、社内ドキュメント検索やGitHub連携など、自社の業務に近いユースケースへ少しずつ広げていくのが現実的なアプローチです。

MCP(Model Context Protocol)を「単なる新機能」ではなく、自社のAIエージェント基盤を支える共通レイヤーとして位置づけることで、今後のAI投資の再利用性と拡張性を高めやすくなります。

Claude(クロード)とは?使い方や料金体系、APIについて徹底解説!
【OpenAI】Agents SDKとは?MCP・Responses APIとの使い方、連携方法をご紹介 もあわせて読むと、エージェント基盤全体のイメージがつかみやすくなるはずです。

AI駆動開発


AI総合研究所では、MCP・エージェント・RAGを組み合わせた企業向けAI導入を支援しています。
自社での活用イメージを具体化したい場合は、ぜひお気軽にご相談ください。

メルマガ登録

監修者
坂本 将磨

坂本 将磨

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。

AI導入の最初の窓口。

お悩み・課題に合わせて活用方法をご案内いたします。
お気軽にお問合せください。

AI総合研究所 Bottom banner

ご相談
お問い合わせは
こちら!