簡介
模型上下文協定 (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 伺服器可用
練習
- 為SQLite資料庫建置MCP Server
- 為 GitHub API 建立 MCP 伺服器(搜尋儲存庫、讀取檔案) 3.同時連接agent到3+MCP伺服器
- 比較自訂工具與 MCP 工具:開發經驗