Work Horizon編集部
MCP(Model Context Protocol)は、AnthropicがオープンソースとしてリリースしたAI・ツール・データソースの標準接続プロトコル。「AI界のUSB規格」と呼ばれ、2026年4月時点でコミュニティで数千規模のMCPサーバーが公開され、Claude Code・Cursor・ChatGPT・各種エージェントFWが標準装備する時代に入っています。本記事ではMCPサーバーの基本、アーキテクチャ、実装パターン、Tools/Resources/Promptsの設計、セキュリティ、2026年の活用戦略を整理します。関連記事:MCPプロトコル完全ガイド2026/DevRelエンジニアキャリアガイド/LLM評価フレームワーク完全ガイド。
免責事項:本記事は公開情報に基づく概観であり、特定のツール・サービスへの採用を推奨するものではありません。MCP仕様は活発に更新されるため、実運用前には必ず公式ドキュメントを確認してください。
MCP(Model Context Protocol)の基本|2026年の位置づけ
MCPは、AIアプリケーション(Host/Client)と外部ツール・データソース(Server)を標準化された方法で接続するためのオープンプロトコル。JSON-RPC 2.0を基盤に、Tools・Resources・Promptsの3種類のプリミティブを通じて、LLMが外部システムと対話できるようにします(MCP公式仕様・株式会社renue MCP完全ガイド2026等)。
- 開発元:Anthropic(オープンプロトコル、コミュニティ主導で拡張)
- 通信規格:JSON-RPC 2.0
- 接続方式:stdio(ローカル)、Streamable HTTP(リモート)
- 対応クライアント:Claude Code・Claude Desktop・Cursor・Windsurf・VS Code(Copilot/Continue)・ChatGPT・各種エージェントFW
- 2026年の状況:コミュニティで数千規模のサーバー公開、主要言語のSDK完備(modelcontextprotocol/servers)
- 主な用途:ファイルシステム・GitHub・Slack・Notion・データベース・社内API等のAI連携
MCPのアーキテクチャ|Host・Client・Server
Host(ホスト)
- MCP対応のAIアプリケーション本体
- 例|Claude Desktop、VS Code拡張(Copilot・Continue)、カスタムアプリ
- MCPクライアントを管理し、ユーザー/LLMと対話
Client(クライアント)
- Host内のプロトコルハンドラー
- 1つのServerとステートフルな1:1接続を維持
- Serverから受け取った情報をLLMに提供
Server(サーバー)
- 独立したプロセス(ローカルまたはリモート)
- Clientからの接続を受け付け、Capabilities(Tools・Resources・Prompts)を公開
- リクエストを処理し結果を返す
通信フロー
- ClientとServerが接続を確立(initialize)
- Capability negotiation(互いの機能を交換)
- Clientがリクエストを送信(Tool Call、Resource Read、Prompt Use)
- Serverがリクエストを処理し結果を返す
- 接続維持(ステートフルな対話)
MCPの3つのプリミティブ|Tools・Resources・Prompts
Tools(ツール)
- LLMが呼び出せる「関数」に相当
- 副作用のあるアクション(ファイル作成・DB更新・メッセージ送信)を実行
- 入力パラメータのJSON Schema定義が必須
- 例|GitHub Issue作成、Slackメッセージ送信、DB INSERT
Resources(リソース)
- LLMが読み取れる「データソース」
- ファイル・API応答・DBレコード等
- URIで識別、MIMEタイプ付き
- 例|ファイル内容、GitHubリポジトリ情報、DBクエリ結果
Prompts(プロンプト)
- 再利用可能なプロンプトテンプレート
- パラメータ化された指示
- ユーザーが選択して使用
- 例|「コードレビュー」「要約」「翻訳」等のテンプレート
その他のプリミティブ
- Sampling:ServerからClientへLLM推論を依頼(Agentic動作)
- Roots:Clientが公開するアクセス可能領域
MCPサーバーの実装パターン|2026年版
実装の基本フロー
- SDK選定:Python SDK・TypeScript SDK・Go SDK・Rust SDK等
- サーバー骨格作成:server.py/server.tsの雛形
- Tools実装:JSON Schema定義+ハンドラー関数
- Resources実装:URIパターン+読み取りハンドラー
- Prompts実装:テンプレート+パラメータ定義
- トランスポート設定:stdio(ローカル)またはStreamable HTTP(リモート)
- 起動スクリプト:エントリーポイント定義
- Clientとの接続テスト:Claude Desktop・Cursor等で動作確認
推奨設計原則
- Tools数5〜15個/サーバー:用途別・権限別に分割(renue MCP完全ガイド2026の推奨)
- 既存APIをラップ:新規ロジックを書かず、既存システムの薄いラッパーとして
- 認証・権限管理:OAuth・API Key・個人情報保護
- ログ・エラーハンドリング:構造化ログ、適切なエラーメッセージ
- 入力検証:JSON Schema厳密定義、不正入力の弾き
- 冪等性:同じTool呼び出しで副作用が重複しない設計
実装期間の目安
- 既存APIのラッパー(簡易版):Python SDKで数時間〜1日
- 本番品質(認証・権限・ログ・エラー含む):1〜2週間
- エンタープライズ品質(監査・レート制限・モニタリング):1〜数ヶ月
MCPサーバーのセキュリティ考慮事項
認証・認可
- OAuth 2.0(Streamable HTTPサーバー向け)
- API Key認証(シンプル)
- ユーザーごとの権限スコープ
- 読み取り/書き込みの権限分離
入力検証・サニタイゼーション
- JSON Schemaによる型・形式検証
- SQL Injection対策(パラメータ化クエリ)
- Path Traversal対策(ファイルシステムアクセス時)
- コマンドインジェクション対策
データ漏洩対策
- 機密情報をツール応答に含めない
- PII(個人識別情報)のマスキング
- ログへの機密情報出力を回避
- 暗号化された通信(HTTPS/TLS)
レート制限・モニタリング
- Tool呼び出し回数の制限
- 異常な利用パターンの検知
- 監査ログ(誰がいつ何を呼び出したか)
- リソース使用量の監視
プロンプトインジェクション対策
- ユーザー入力がToolパラメータに反映される場合の検証
- LLMへのシステムプロンプト経由の攻撃対策
- 重要な操作は人間確認(Human-in-the-Loop)
- ツール説明の自己言及的セキュリティガイダンス
主要なMCPサーバー事例(2026年)
公式・リファレンス実装
- Filesystem:ローカルファイルシステムへの読み書き
- GitHub:Issue・PR・コードの操作
- Slack:メッセージ送受信・チャネル管理
- PostgreSQL/SQLite:データベースクエリ
- Brave Search/Fetch:Web検索・取得
- リスト|modelcontextprotocol/servers、awesome-mcp-servers
コミュニティ実装
- Notion・Confluence・Jira・Linear(プロジェクト管理)
- Google Drive・Dropbox・OneDrive(クラウドストレージ)
- Stripe・Shopify・Salesforce(ビジネスSaaS)
- Docker・Kubernetes・AWS CLI(インフラ)
- MongoDB・Redis・Elasticsearch(DB)
業界特化
- TradingView(金融・チャート分析)
- SAP・Oracle(ERP連携)
- Epic・Cerner(医療ヘルスケア)
- Salesforce(CRM)
MCPサーバー開発のベストプラクティス
1. 明確なツール命名
- 動詞+目的語の形式(create_issue、read_file、send_message)
- 曖昧な名前を避ける(process、handle、manage等)
- 説明文で使い方・制約を明記
2. JSON Schemaの厳密定義
- 必須パラメータ・任意パラメータを明示
- 型・最小値・最大値・正規表現パターンを定義
- descriptionフィールドで各パラメータの意味を詳述
3. エラーハンドリング
- エラーコードの標準化(JSON-RPC 2.0のエラーコード準拠)
- LLMが理解できるエラーメッセージ
- リトライ可能・不可能の明示
- 機密情報をエラーメッセージに含めない
4. テスト
- 単体テスト(各Tool・Resource・Prompt)
- 統合テスト(Claude Desktop等の実クライアントで)
- MCP Inspector(公式デバッグツール)
- プロンプトインジェクション耐性テスト
5. ドキュメンテーション
- README.mdに機能・インストール方法・設定例
- 各Toolの詳細仕様
- 認証手順
- セキュリティ考慮事項
MCPサーバー導入の実行ステップ
- ユースケースの整理:どの社内ツール・データソースをAIに接続したいか
- 既存OSSサーバーの調査:modelcontextprotocol/servers・awesome-mcp-serversで検索
- PoC(概念実証):既存サーバーをClaude Desktop・Cursor等で試す
- カスタムサーバー設計:自社独自システム向けにSDK選定
- Tools・Resources・Promptsの設計:5〜15個/サーバーを目安
- 認証・権限・ログの実装:本番品質の要件を満たす
- ローカルテスト:MCP Inspector・Claude Desktopで動作確認
- デプロイ:stdio(社内ツール)または Streamable HTTP(リモート)
- モニタリング・運用:ログ収集・アラート・定期メンテナンス
- コミュニティ貢献:OSSとして公開・フィードバック収集
2026年のMCP活用トレンド
- サーバー数の急増:数千規模が公開・継続増加
- 主要AIツールの標準装備:Claude Code・Cursor・ChatGPT・各種エージェント
- Streamable HTTPの普及:ステートレス・水平スケーリング対応
- エンタープライズ採用拡大:認証・監査・SLA対応
- 業界特化サーバーの登場:金融・医療・製造業
- Agentic動作の成熟:Sampling機能によるサーバー側からのLLM呼び出し
- セキュリティの強化:プロンプトインジェクション対策・OAuth
- マルチモーダル対応:画像・音声リソースの標準化
よくある質問
Q1. MCPとFunction Callingはどう違う?
Function Callingは特定のLLMプロバイダ(OpenAI等)の独自機能で、LLM APIレスポンスでツール呼び出しを返す仕組み。MCPはプロバイダ中立のオープン標準で、ツール・リソース・プロンプトをサーバーとして独立したプロセスで提供。MCPならClaude・ChatGPT・Cursor等の複数クライアントで同じサーバーを使い回せる利点があります。関連記事:MCPプロトコル完全ガイド2026。
Q2. MCPサーバーを作るのにどれくらい時間がかかる?
用途と品質レベルで変わります。既存APIのラッパー(簡易版)ならPython SDKで数時間〜1日、認証・権限管理・ログ・エラーハンドリングを含む本番品質なら1〜2週間、エンタープライズ品質(監査・レート制限・モニタリング)なら1〜数ヶ月が目安(renue MCP完全ガイド紹介)。
Q3. stdioとStreamable HTTP、どちらを選ぶ?
ローカルツール・社内専用はstdio、リモート公開・マルチテナントはStreamable HTTPが無難。stdioはプロセス間通信でシンプル・高速、Streamable HTTPはステートレスで水平スケーリング可能なため本番運用・エンタープライズ向き。2026年はStreamable HTTPがエンタープライズ採用の主流となりつつあります。
Q4. MCPサーバーのセキュリティリスクは?
主なリスクは①プロンプトインジェクション(ユーザー入力からのToolパラメータ注入)、②認証不備、③機密情報漏洩、④過剰な権限、⑤ログへの機密情報出力。対策は入力検証・OAuth/API Key認証・PII マスキング・最小権限原則・監査ログの実装。重要な操作はHuman-in-the-Loopを組み合わせるのが安全です。
参考:MCPサーバー実装の主要ソース
- 公式|Model Context Protocol 公式仕様
- 公式|GitHub modelcontextprotocol
- 公式|modelcontextprotocol/servers リファレンス実装
- 公式|GitHub modelcontextprotocol/modelcontextprotocol
- 公式|Claude Code Docs MCP 日本語
- 日本|株式会社renue MCP完全ガイド2026
- 日本|Uravation MCP入門ガイド2026
- 日本|Zenn MCP入門 Claude Code/Cursor
- 日本|azukiazusa.dev TypeScript MCPサーバー実装
- 日本|Weights & Biases Japan MCP実装編
- 日本|Qiita ClaudeのMCP初心者向け解説
- 日本|HP Tech&Device TV MCP入門
- 海外|Fungies.io MCP Servers Developers Guide 2026
- 海外|explainx.ai What is MCP 2026
- 海外|dasroot MCP Technical Deep Dive
- 海外|a2a mcp MCP Full Form 2026
- 海外|cyanheads MCP Server Development Guide
- 海外|The New Stack MCP Roadmap 2026
- 中華圏|awesome-mcp-servers 中文版
- 中華圏|Claude MCP 中文
注意:MCP仕様は活発に更新されます。実装時は必ずmodelcontextprotocol.ioの最新仕様と、ターゲットクライアント(Claude Code・Cursor等)の公式ドキュメントを確認してください。
まとめ|2026年版・MCPサーバー実装の本質
MCPサーバー実装は「Tools・Resources・Promptsの3プリミティブ設計」+「認証・権限・セキュリティの本番品質」+「既存APIを薄くラップするシンプル設計」の3本柱が本質。2026年は数千規模のOSSサーバーが公開され、Claude Code・Cursor・ChatGPT等が標準装備するエコシステムが成熟。社内ツールをMCPサーバー化することで、AIエージェントが安全かつ統一的に社内システムと対話できる時代に入りました。PoCは既存OSSサーバーから始め、徐々に自社独自のMCPサーバーを開発・本番運用する段階的アプローチが効果的です。
※本記事は2026年4月時点の公開情報をもとに執筆しています。MCP仕様・SDK・ツールエコシステムは急速に進化しています。最終判断はMCP公式サイト・各クライアント公式ドキュメントで確認のうえ行ってください。
本記事は情報提供を目的としたものであり、特定のツール・サービスの採用を推奨するものではありません。
