Chuyển đến nội dung chính

レッスン 12: モデル コンテキスト プロトコル (MCP) — エージェントの接続標準

MCPとは何ですか?なぜ標準化が必要なのでしょうか?クライアント/サーバー アーキテクチャ、検出ツール、機能ネゴシエーション。データベース、GitHub API、ファイルシステムを接続するMCPサーバーを構築します。

🧠 AI と ML — レッスン 11 レッスン 12: モデル コンテキスト プロトコル (MCP) — Agentの接続規格

AI エージェントの構築: ゼロから本番環境まで

パート 5: MCP、A2A、およびマルチエージェント システム

xdev.asia

はじめに

モデル コンテキスト プロトコル (MCP) — Anthropic によって開発された — は、エージェントが一貫した方法であらゆるデータ ソースまたはツールに接続するのに役立つオープン スタンダードです。ツールごとにカスタム統合を作成する代わりに、MCP サーバーを一度実装すれば、すべての MCP 互換クライアントがそれを使用できるようになります。


1. MCP アーキテクチャ

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  MCP Client  │◄───►│  MCP Server  │◄───►│  Data Source  │
│  (Agent/IDE) │     │  (Your code) │     │  (DB/API/FS) │
└──────────────┘     └──────────────┘     └──────────────┘

2. MCP サーバーを構築する

from mcp.server import Server
from mcp.types import Tool

server = Server("my-tools")

@server.tool("query_database")
async def query_db(sql: str) -> str:
    """Execute read-only SQL query."""
    result = await db.execute(sql)
    return json.dumps(result)

@server.tool("search_github")
async def search_github(query: str, repo: str) -> str:
    """Search code in a GitHub repository."""
    ...

概要

  • MCP = AI 用 USB-C — ユニバーサル接続規格
  • クライアント/サーバー アーキテクチャ: エージェントはクライアント、ツールはサーバー
  • ツールの検出: エージェントはどのツールが利用可能であるかを認識します。
  • エコシステム: 1000 以上の MCP サーバーが利用可能

演習

  1. SQLite データベース用の MCP サーバーを構築する
  2. GitHub API 用の MCP サーバーの構築 (リポジトリの検索、ファイルの読み取り)
  3. エージェントを 3 つ以上の MCP サーバーに同時に接続する
  4. カスタム ツールと MCP ツールの比較: 開発経験