COSCUP 2025

初探 MCP 與 AI Agent Protocol

快速打造多工 AI Agent
~ Che Chia Chang @ chechia.net🔗~

關於我

🤖 我們今天要聊什麼

  • 開場先 Demo 一波!🚀🌕
  • 什麼是 Model Context Protocol(MCP)
    • 為何需要 MCP
    • MCP 的內容 (Scope & Projects)
      • 規格
      • 如何使用(SDK & Development Tools)
  • 用開源 mcp-server 打造多工 AI Agent
    • OpenAI Agent SDK
    • FastMCP

Demo 🚀🌕

🔽

Source Code

Notes

  • 100 行程式碼就可以接上 3 個資料源
  • Agent 內的 context 共用
    • ex. yfinance-mcp 可以查詢新聞,firecrawl-mcp 去爬新聞內容,爬完新聞再去查詢立法院的相關法案
  • 調用 tool 時,LLM 會自動生成 request parameter

MCP 看起來是什麼?

  • 不用寫扣就可以透過 mcp-server 接上資料源 api ❌
    • 這是 mcp-server 提供的 tool 功能,不是 MCP 本身❌
    • MCP 提供 SDK 可以開發符合標準的 mcp-server ✅
  • 從 FastMCP 來看,MCP 定義了 tool, prompt, context 的結構 ✅
    • 這些結構可以被 LLM 使用 (ex. LLM 可以 list tools, read context)
  • 上面的 context 可以於 OpenAI Agent SDK 中無縫使用 ✅
    • 其他 LLM SDK 也可以接上

Tool vs MCP

  • 現在 ChatGPT 也會使用 tool 如 function calling, WebSearch, File Search, …,這些都是 OpenAI tool 的實作。
  • MCP 不是提供 tool,而是提供一個統一的標準,讓 LLM 可以使用這些 tool 產生的結果,格式是統一的。
  • 由於是統一的標準,各家 LLM 與資料源才會覺得「我只要做一套,全世界都可以用」所以才爆炸性的產生一堆 MCP server。

換句話說:因為有 USB 存在,各家硬體廠商才會覺得「我只要做一套 USB 接口,所有人都可以用」,所以才會有 USB 可以支援超多功能的感覺。

爆炸性的 mcp-server https://github.com/modelcontextprotocol/servers/pulse🔗

MCP 是什麼?

為何需要MCP?🤔

不用 MCP 時

LLM 都有自己的 context 與 tool 格式,context 要自己整理

  • 上古時代(2023) context 想怎麼寫就怎麼寫,曾流行把 context 塞進 prompt,然後再 prompt compression
  • OpenAI Agent SDK 的 context management 建議用 Wrapper 包一層,調用 function tool 時傳入
  • FastMCP 提供更通用的 context 功能
    • context 統一格式傳入 tool,讓 LLM 可以讀取
    • 包含 Logging, Progress, State, Request metadata, Server metadata,…
    • 只記得 response.text vs 記得 context 的差別🤔

透過 MCP 整合資料源

without-mcp/
├── main.py
├── openai/
│   ├── mysql.py
│   ├── ...
│   └── github.py
├── gemini/
│   ├── mysql.py
│   ├── ...
│   └── github.py
  • 如果你是 LLM 提供者,要為每一個資料源API 寫一套接法,處理 api request 與 response 到 context
  • 如果你是資料庫開發者,要為每一個 LLM 寫一套 sdk
  • 然後上面都沒有提供的話,使用者就要自己維護 LLM x 資料庫數量的程式碼🤮
  • LLM 改版就要跟著改(不然沒有新功能直接變成上古時代🦖
    • 資料源(ex. GitHub)的 API 不會常大改,但 LLM 是急速更新🚀

為什麼需要 MCP?

  • context, prompt, tool, … 都定義在規格中
  • MCP 的內容
  • Transport:如何傳輸 MCP context
  • Schema
    • Resources (Context + data)
    • 什麼是 Server, Client, Tool, TextContext, AudioContext, Prompt 🔗, Request, Response, …
    • tools/call, tools/list
  • Security and Trust & Safety

說白話一點

MCP 解決哪些痛點?

  • 🔥 prompt, tool, resource 太亂 → 結構化表示
  • 🤹‍♀️ 多任務切換 → 上下文一致
  • 🛠️ 各步驟間 interface 接得很統一,不再 hardcode

MCP 如何使用?

  • LLM 提供商:OpenAI agent sdk 與 gemini sdk 都支援 MCP
    • 開源 LLM frameworks(如 LangChain, LlamaIndex)也支援 MCP
  • 許多資料源提供商都支援 MCP
  • 使用者直接使用
    • LLM sdk 或 LLM frameworks
    • official 資料源 MCP server
    • MCP offifial sdk 寫 client 或 server

無情工商,超缺人

#福利佳 #薪優 #成長性高 #公司賺錢

想當個 sre,或是想當個會 MCP 的 sre 嗎?這邊都可以實現

Demo 🚀🌕

什麼是 AI Agent Protocol?

  • 一組設計模式
  • 把 MCP context 拿去 dispatch 給適合的 agent
  • Agent 間可以互相協作,完成一整個 workflow 🔽

MCP 和 Agent Protocol 的關係

  • MCP 是「一個 agent 的說明書」
  • Agent Protocol 是「多個 agent 怎麼互動」
  • MCP 負責上下文、Agent Protocol 負責流程

小結一下概念差異

概念負責的事
MCP一個 agent 的角色 + 工具 + 任務
Agent Protocol多個 agent 的協作 + 任務分派

小結 ✨

  • MCP 是 AI 應用的通用「上下文 + 工具」描述法
  • Agent Protocol 幫你 orchestrate 多個 Agent
  • 用 mcp-server 可以快速打通各種 LLM + 工具實作出一套原型

延伸閱讀 & 原始碼

感謝大家 🙌

  • 現場 Q&A 時間
  • 喜歡這種內容歡迎來找我聊天!

無情工商,超缺人

#福利佳 #薪優 #成長性高 #公司賺錢