Loading...
Model Context Protocol(MCP)入門:AIと外部ツールを繋ぐ新標準プロトコル

Model Context Protocol(MCP)入門:AIと外部ツールを繋ぐ新標準プロトコル

AIエージェント時代の接続基盤「MCP」。仕組みの理解からサーバー構築、実践的な連携パターンまで、開発者向けに完全解説します。

2026-02-116分で読める

MCPとは何か

Model Context Protocol(MCP)は、Anthropicが策定したAIモデルと外部データソース・ツールを接続するためのオープンプロトコルです。2025年にLinux Foundationに寄贈され、業界標準として広まりつつあります。

簡単に言えば、MCPは「AIが外部の世界と対話するための共通言語」です。

MCPが解決する問題

従来、AIにデータベースやAPIを使わせるには、個別にカスタム統合を作る必要がありました。MCPはこの問題を標準化し、一度MCPサーバーを作れば、対応するあらゆるAIクライアントから利用可能にします。

AIクライアント(Claude等)
    ↕ MCP Protocol
MCPサーバー(ツール・データソース)

MCPの基本構造

MCPは3つの要素で構成されます。

1. MCPホスト(クライアント)

AIアプリケーション側。Claude Desktop、Claude Codeなどが該当します。

2. MCPサーバー

外部ツールやデータを提供する側。ファイルシステム、データベース、API等を公開します。

3. トランスポート層

ホストとサーバー間の通信。標準入出力(stdio)またはHTTP(SSE)で行います。

MCPサーバーの3つの機能

MCPサーバーは以下の3種類の機能を提供できます。

Tools(ツール)

AIが実行できるアクション。例:「ファイルを検索」「データベースにクエリ」「メール送信」

Resources(リソース)

AIが読み取れるデータ。例:「設定ファイル」「ドキュメント」「API応答」

Prompts(プロンプト)

再利用可能なプロンプトテンプレート。例:「コードレビューテンプレート」

実践:シンプルなMCPサーバーを作る

天気情報を提供するMCPサーバーを例に、基本的な構築方法を紹介します。

プロジェクトの初期化

mkdir weather-mcp-server
cd weather-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk

サーバーの実装

// index.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new McpServer({
  name: "weather-server",
  version: "1.0.0",
});

// ツールの定義
server.tool(
  "get_weather",
  "指定した都市の天気を取得します",
  {
    city: { type: "string", description: "都市名(例:Tokyo)" }
  },
  async ({ city }) => {
    // 実際にはAPIを呼び出す
    const weather = await fetchWeather(city);
    return {
      content: [
        { type: "text", text: `${city}の天気: ${weather.condition}, ${weather.temp}°C` }
      ],
    };
  }
);

// サーバーの起動
const transport = new StdioServerTransport();
await server.connect(transport);

Claude Desktopでの設定

claude_desktop_config.jsonに以下を追加します。

{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["path/to/weather-mcp-server/index.js"]
    }
  }
}

設定後、Claude Desktopを再起動すると「天気を調べて」と指示するだけで天気情報を取得できるようになります。

公式MCPサーバー一覧

Anthropicや公式が公開している主要なMCPサーバーです。

| サーバー | 機能 | |---------|------| | @modelcontextprotocol/server-filesystem | ファイルの読み書き | | @modelcontextprotocol/server-github | GitHub操作 | | @modelcontextprotocol/server-postgres | PostgreSQLクエリ | | @modelcontextprotocol/server-slack | Slackメッセージ送受信 | | @modelcontextprotocol/server-puppeteer | ブラウザ操作 |

活用パターン

パターン1:データベース連携

社内のデータベースにMCPサーバーを立て、AIが自然言語でデータを検索・集計。

パターン2:ドキュメント検索

社内Wikiやドキュメントをリソースとして公開し、AIが質問に答える。

パターン3:ワークフロー自動化

GitHub + Slack + データベースの複数MCPサーバーを組み合わせ、「Issueを作成してSlackに通知」のようなマルチステップタスクを自動化。

セキュリティの考慮事項

MCPサーバーは強力な機能を提供する反面、セキュリティにも配慮が必要です。

  • 認証情報の管理:APIキーは環境変数で管理し、設定ファイルにハードコードしない
  • 権限の最小化:MCPサーバーには必要最小限の権限のみ付与
  • ローカル実行:MCPサーバーはローカルマシンで動作するため、データが外部に送信されることはない
  • 監査ログ:重要な操作にはログを記録する仕組みを組み込む

まとめ

MCPは「AIにツールを使わせる」ための標準プロトコルとして、急速に普及しています。

  • 一度作ったMCPサーバーは、Claude Desktop、Claude Code、その他MCP対応クライアントから利用可能
  • 公式SDKを使えば、数十行のコードでMCPサーバーを構築できる
  • ファイル操作、API連携、データベースクエリなど、あらゆる外部ツールをAIに統合できる

AIエージェント時代の到来に備え、MCPの理解は開発者にとって必須のスキルになりつつあります。まずは公式のMCPサーバーを試してみることから始めてみましょう。

PR
この記事が役に立ったら: