AIアシスタントに「このファイルを読んで」「Slackに投稿して」と頼む。いまや当たり前になったこの操作の裏側で、ツールとAIをつなぐ共通言語が急速に広まっている。
MCP(Model Context Protocol)は、Anthropicが2024年11月に公開したオープン標準プロトコルだ。LLMと外部ツール・データソースの接続方法を統一し、かつてのUSB規格のように「つなげば動く」世界を目指している。
本記事では、MCPの仕組みから実装方法、主要サーバー一覧、そして2026年のロードマップまでを網羅的に解説する。
MCPとは何か──「AIのUSBポート」
MCPは、AIモデルが外部のデータやツールにアクセスするための標準化されたプロトコルだ。従来、各AIツールは独自のAPI連携方式を採用していたため、同じ機能を実現するために開発者はツールごとに異なるコードを書く必要があった。
従来のAIツール連携(M×N問題)
Claude ──独自API──→ GitHub
Claude ──独自API──→ Slack
Claude ──独自API──→ DB
GPT ──独自API──→ GitHub(別の実装)
GPT ──独自API──→ Slack(別の実装)
GPT ──独自API──→ DB(別の実装)
→ M個のAI × N個のツール = M×N通りの実装が必要
MCPによる標準化
Claude ──MCP──┐
GPT ──MCP──┤──→ MCPサーバー群
Gemini ──MCP──┘ ├─ GitHub Server
├─ Slack Server
└─ DB Server
→ M + N の実装で済む
MCPのアーキテクチャは、クライアント/サーバーモデルを採用している。
| コンポーネント | 役割 | 例 |
|---|---|---|
| MCPホスト | ユーザーが操作するアプリケーション | Claude Desktop, Cursor, VS Code |
| MCPクライアント | ホスト内でサーバーと通信するモジュール | ホストに内蔵 |
| MCPサーバー | 特定のツールやデータを提供するプロセス | GitHub MCP Server, Slack MCP Server |
MCPの3つの基本機能
MCPサーバーは、3種類の機能をAIモデルに提供する。
Resources(リソース)
ファイル、データベースの行、APIレスポンスなど、AIが参照できるデータ。Read-onlyでコンテキストに注入される。
{
"resources": [
{
"uri": "file:///projects/myapp/src/index.ts",
"name": "index.ts",
"mimeType": "text/typescript"
},
{
"uri": "postgres://db/users?query=SELECT * FROM users LIMIT 10",
"name": "最近のユーザー一覧"
}
]
}
Tools(ツール)
AIが実行できるアクション。関数呼び出しのように、引数を渡して結果を受け取る。
// MCPサーバー側のツール定義例
server.tool(
"create_issue",
"GitHubにIssueを作成する",
{
repo: z.string().describe("リポジトリ名(owner/repo形式)"),
title: z.string().describe("Issueのタイトル"),
body: z.string().describe("Issueの本文"),
labels: z.array(z.string()).optional()
},
async ({ repo, title, body, labels }) => {
const issue = await github.createIssue(repo, { title, body, labels })
return { content: [{ type: "text", text: JSON.stringify(issue) }] }
}
)
Prompts(プロンプト)
再利用可能なプロンプトテンプレート。特定のワークフローを標準化し、一貫した操作を可能にする。
{
"prompts": [
{
"name": "code_review",
"description": "PRのコードレビューを実行",
"arguments": [
{ "name": "pr_url", "required": true },
{ "name": "focus_areas", "required": false }
]
}
]
}
MCPサーバーの実装方法
MCPサーバーの構築は、公式SDKを使えば数十行で実現できる。ここではTypeScript SDKを使った最小限のサーバー実装を示す。
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
import { z } from "zod"
const server = new McpServer({
name: "weather-server",
version: "1.0.0"
})
// ツールを定義
server.tool(
"get_weather",
"指定した都市の天気を取得",
{ city: z.string() },
async ({ city }) => {
const res = await fetch(
`https://api.weather.example.com/${city}`
)
const data = await res.json()
return {
content: [{
type: "text",
text: `${city}: ${data.temp}°C, ${data.condition}`
}]
}
}
)
// サーバーを起動
const transport = new StdioServerTransport()
await server.connect(transport)
利用可能なSDKは以下の通りだ。
| 言語 | SDK | 成熟度 |
|---|---|---|
| TypeScript | @modelcontextprotocol/sdk | 公式・最も成熟 |
| Python | mcp (PyPI) | 公式・安定 |
| Kotlin | mcp-kotlin | 公式 |
| Go | mcp-go | コミュニティ |
| C# | mcp-dotnet | 公式 |
| Ruby | mcp-ruby | コミュニティ |
主要MCPサーバー一覧(2026年3月時点)
2026年3月現在、500以上のMCPサーバーが公開されている。主要なカテゴリと代表的なサーバーを整理する。
| カテゴリ | サーバー名 | 機能 |
|---|---|---|
| 開発ツール | GitHub MCP | Issue/PR/リポジトリ操作 |
| 開発ツール | Linear MCP | プロジェクト管理・Issue追跡 |
| コミュニケーション | Slack MCP | チャンネル検索・メッセージ送信 |
| コミュニケーション | Gmail MCP | メール検索・送信・ドラフト |
| データベース | PostgreSQL MCP | SQLクエリ実行・スキーマ参照 |
| データベース | Supabase MCP | DB操作・認証・ストレージ |
| ファイル | Google Drive MCP | ファイル検索・作成・共有 |
| ファイル | Filesystem MCP | ローカルファイル読み書き |
| 検索 | Brave Search MCP | Web検索 |
| カレンダー | Google Calendar MCP | 予定作成・空き時間検索 |
| デザイン | Figma MCP | デザインデータ取得・コンポーネント情報 |
| モニタリング | Sentry MCP | エラー取得・パフォーマンス分析 |
MCPの設定方法
MCPサーバーをClaude Desktopで使う場合、設定ファイルにサーバーの起動コマンドを記述する。
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx..."
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost/mydb"
}
}
}
}
Claude Codeでは claude mcp add コマンドで追加できる。
# Claude CodeにMCPサーバーを追加
claude mcp add github -- npx -y @modelcontextprotocol/server-github
# 追加済みサーバーの一覧
claude mcp list
2026年のMCPロードマップ
2026年のMCP公式ロードマップでは、以下の4つの重点領域が示されている。
2026年 MCPロードマップ
Q1-Q2: トランスポート拡張
- Streamable HTTPの進化
- ステートレスなマルチインスタンス対応
- セッションの作成・再開・マイグレーション
Q2-Q3: エージェント間通信
- Agent-to-Agent Protocol
- エージェント間のコンテキスト共有
- マルチエージェント協調の標準化
Q3-Q4: エンタープライズ対応
- 監査ログ・コンプライアンス
- SSO統合認証
- ゲートウェイ・ポリシー管理
通年: ガバナンスの成熟
- 仕様策定プロセスの透明化
- SEP(仕様拡張提案)の優先順位付け
- コミュニティ参画の拡大
特にエージェント間通信の標準化は、マルチエージェントシステムの普及に大きな影響を与える。現状では各フレームワーク(LangGraph, CrewAI, AutoGenなど)が独自のエージェント連携方式を持っているが、MCPがこれを統一する可能性がある。
MCPの制限と注意点
MCPは強力なプロトコルだが、導入時に知っておくべき制限もある。
| 制限事項 | 詳細 | 対処法 |
|---|---|---|
| セキュリティ | MCPサーバーはローカルプロセスとして動作し、環境変数でクレデンシャルを管理 | 本番環境では認証ゲートウェイを配置 |
| パフォーマンス | stdio通信のオーバーヘッド | 高頻度呼び出しにはStreamable HTTPトランスポートを検討 |
| デバッグ | サーバーのログが標準出力と混在しやすい | MCP Inspectorツールを活用 |
| 互換性 | サーバーの品質はまちまち | 公式・Anthropic認定サーバーを優先 |
まとめ:MCPが変えるAI開発の未来
MCPは単なるAPIラッパーではない。AIと外部世界をつなぐ「共通言語」として、開発者がAIアプリケーションを構築する方法を根本から変えようとしている。
2026年3月時点で、MCPはすでにClaude Desktop、Claude Code、Cursor、VS Code、Zed、Windsurf、Clineなど主要な開発ツールに採用されている。Google DeepMindやOpenAIもMCPのサポートを表明しており、事実上の業界標準になりつつある。
AIエージェントを開発するエンジニアにとって、MCPの理解は今後避けて通れない。まずは公式ドキュメントを読み、一つのMCPサーバーを動かしてみることから始めてほしい。
出典・参考
- Model Context Protocol 公式ドキュメント(modelcontextprotocol.io)
- Anthropic「Introducing the Model Context Protocol」(2024年11月)
- Model Context Protocol Blog「The 2026 MCP Roadmap」
- GitHub modelcontextprotocol/modelcontextprotocol(仕様リポジトリ)
- Model Context Protocol Wikipedia

