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

第 12 課:模型情境協定 (MCP) — 代理人的連結標準

什麼是MCP,為什麼需要標準化?客戶端/伺服器架構、發現工具、能力協商。建構MCP Server連接資料庫、GitHub API、檔案系統。

🧠 人工智慧與機器學習 — 第 11 課 第 12 課:模型上下文協定 (MCP) — Agent連接標準

建構 AI 代理:從零到生產

第 5 部分:MCP、A2A 和多代理系統

亞洲開發網

簡介

模型上下文協定 (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 = USB-C for AI — 通用連接標準
  • 客戶端/伺服器架構:代理是客戶端,工具是伺服器
  • 工具發現:代理商知道哪些工具可用
  • 生態系:1000+ MCP 伺服器可用

練習

  1. 為SQLite資料庫建置MCP Server
  2. 為 GitHub API 建立 MCP 伺服器(搜尋儲存庫、讀取檔案) 3.同時連接agent到3+MCP伺服器
  3. 比較自訂工具與 MCP 工具:開發經驗