MCP Serverをゼロから構築:AIツール呼び出し完全ガイド(2026)
Python または TypeScript の基礎があるのに、Claude・GPT・Cursor から自社 API・DB・ナレッジベースを安全に呼び出す方法で詰まっているなら、本記事はHello World から本番デプロイまでの MCP Server 開発フルパスを提供します。プロトコル原理、Tools/Resources/Prompts 三大原語、HTTP+SSE リモートトランスポート、MCP Inspector デバッグ、Docker デプロイ、ナレッジベース実戦プロジェクト、Mac クラウド launchd 7×24 常駐 5 ステップ Runbookとホスティング環境決定マトリクスを含みます。
目次
1. MCP プロトコル原理と三層アーキテクチャ
Model Context Protocol(MCP)は Anthropic が 2024 年 11 月にオープンソース化した、AI Host(Cursor、Claude Desktop 等)と外部ツール/データ間の統一 JSON-RPC 2.0 通信規格です。2026 年時点で OpenAI、Google Gemini、Microsoft も採用し、公開 MCP Server は 10,000 超。
Server は tools/list + tools/call(実行操作)、resources/list + resources/read(読み取り専用コンテキスト)、prompts/list + prompts/get(プロンプトテンプレート)を実装します。トランスポート層は STDIO(ローカル子プロセス)と HTTP+SSE(リモート共有)が主流です。
2. 三大開発痛点
- ツール定義の断片化。 各 AI クライアント向けに Function Calling Schema をハードコードすると、Cursor → Claude Desktop 切替のたびに書き直し。MCP は
tools/listで実行時自己記述、一度書けばどこでも動く。 - ローカル開発と本番の乖離。 ノート PC で STDIO 調整後、蓋を閉じると切断。Linux Docker には Apple ツールチェーンがなく、トラブルシュートコストが急増。
- セキュリティと可観測性の欠如。 約 1,000 個の公開 MCP Server が未認可で露出。本番では Token 集中管理と
tools/callレイテンシ基線記録が必須。
3. 環境準備
TypeScript と Python の両パスを提供。どちらか一方で十分です。
TypeScript パス
Python パス
推奨:Node.js 20+ または Python 3.10+。Mac ローカルで検証後、第 10 節 Runbook で本番常駐。
4. Hello World:最初の MCP Server
以下 TypeScript 例は STDIO Server を作成し ping ツールを公開します:
npx tsx src/index.ts で起動。Python 版は mcp.server.Server + stdio_server() で同等ロジック。
5. Tools 開発:5 つの実戦ツール
本番 Server は通常 3–8 個の高価値ツールを公開。以下 5 例は典型シナリオをカバー:
| ツール名 | 用途 | 主要パラメータ |
|---|---|---|
query_database | 読み取り専用 SQL | sql: string |
search_docs | ナレッジベース全文検索 | query: string, limit?: number |
create_ticket | チケット作成 | title, body, priority |
fetch_weather | 外部 REST API 呼び出し | city: string |
run_script | サンドボックス実行 | lang, code(ホワイトリスト必須) |
各ツールに JSON Schema パラメータ説明と副作用(read-only / destructive)を付与し、Agent が tools/list で自律選定できるようにします。
6. Resources:読み取り専用リソース
Resources は設定ファイル、Schema 定義、API 仕様など読み取り専用コンテキスト向け。Agent は resources/read で必要時のみ取得し、Prompt 肥大化を防ぎます。
7. Prompts:再利用可能なテンプレート
Prompts はチームのベストプラクティスを発見可能なテンプレートとして封装。例:「コードレビュー Checklist」「Incident 報告フォーマット」。
8. HTTP+SSE リモートトランスポート
チーム共有やクラウドデプロイ時は STDIO を Streamable HTTP または HTTP+SSE に切替:
| トランスポート | 適用 | 利点 | 注意 |
|---|---|---|---|
| STDIO | Cursor / Claude Desktop ローカル | 依存ゼロ、隔離良好 | 子プロセス常駐が必要 |
| HTTP+SSE | リモートチーム、複数 Client 共有 | ネットワーク越し、水平拡張 | session affinity 必要 |
9. デバッグとテスト
- MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.jsで GUI テスト。 - Cursor 設定:プロジェクトまたはグローバル
.cursor/mcp.jsonに Server 登録。 - ログ階層化:stderr に構造化ログ(STDIO JSON-RPC チャネルを汚染しない)。
- 単体テスト:ツール handler を mock テストし、毎回 Host 起動を回避。
10. 本番デプロイと 5 ステップ Runbook
ホスティング環境決定マトリクス
| ホスティング | STDIO | 7×24 | ネイティブ macOS | 適合 |
|---|---|---|---|---|
| MacBook ローカル | ✅ | ❌ 蓋閉じで切断 | ✅ | 個人検証 |
| Linux VPS + Docker | ⚠️ | ✅ | ❌ | 純 HTTP Server |
| VPSMAC M4 Mac クラウド | ✅ launchd | ✅ | ✅ ベアメタル SSH | Cursor + MCP 同機常駐 |
5 ステップ Runbook
- トランスポート層選択:IDE 統合は STDIO、チーム共有は HTTP+SSE。
- ビルドとパッケージ:依存バージョンをロック。
- Cursor / Claude 設定:
mcp.json記述、tools/listSchema 検証。 - Docker(任意):HTTP モードはコンテナ化可。STDIO は裸機 launchd 推奨。
- launchd 常駐:Mac クラウドノードで plist 登録、リソース上限とログ設定。
11. ナレッジベース MCP 実戦プロジェクト
社内 Markdown/Wiki をベクトルインデックス化し、3 能力を公開:
- Tool
search_kb:意味検索 Top-K、引用元付き。 - Resource
kb://manifest:ドキュメント目録と更新日時。 - Prompt
answer-with-citations:[doc_id:line]引用形式を強制。
Mac クラウドノードで OpenClaw Gateway と同機デプロイすれば、Agent が 7×24 ナレッジベースを呼び出せます。詳細は MCP プロトコル概観 を参照。
12. 2026 エコシステム展望
- AAIF ガバナンス:MCP は Linux Foundation Agentic AI Foundation へ移管、業界公共インフラ化。
- OAuth 2.1 標準化:リモート Server 認証が 2026 ロードマップに。
- レジストリギャップ:統一 MCP Server 発見(DNS 相当)は醸成中、短期は設定ファイル依存。
- A2A との補完:MCP は垂直ツール統合、Google A2A は Agent 横向き編成。
13. 引用可能な技術要点(2026)
- プロトコル核心:JSON-RPC 2.0 上の
tools/list、tools/call、resources/read、prompts/get。 - エコ規模:公開 MCP Server 10,000+;四大モデルベンダー全採用。
- コスト効果:MCP 標準化後、企業 AI 統合開発コスト 38–55% 削減(業界調査平均)。
- セキュリティ基線:認証・パラメータ検証・
tools/call監査ログ必須;STDIO Server の公網直暴露禁止。
14. まとめ
Hello World からナレッジベース実戦まで、MCP Server の本質は「AI が何を発見し正しく呼び出すか」を標準化すること——一度書けば Cursor、Claude Desktop、VS Code すべてで再利用可能。ノート PC は検証向きだが、蓋閉じ切断・環境ドリフト・launchd 托管欠如で STDIO 子プロセスは本番で不安定。Linux Docker は HTTP モードを走らせられるが、抽象層増加と Apple ツールチェーン欠如が障壁。
Cursor、OpenClaw、Claude Desktop と MCP Server を長期 7×24 同機常駐させ、ネイティブ macOS と launchd 托管が必要なら、VPSMAC M4 Mac クラウドノードのレンタルが AI 自動化本番環境では通常より省力的な選択です——ツール層は一度書き、モデルは自由に切替、ノードは常にオンライン。