iT邦幫忙

2025 iThome 鐵人賽

DAY 9
1
Software Development

MCP的30天養成計畫系列 第 9

【Day 09】先緩一下! 質疑MCP、理解MCP、實踐MCP!

  • 分享至 

  • xImage
  •  

在我們深入探討並開始以FastMCP實作MCP之前,會先來回顧一下Python中一個非常重要的基礎概念:同步與非同步,也就是 defasync def 的區別。

為什麼要先談這個?

因為MCP在設計工具時,本質上就是在處理「如何把一個函式交給模型來呼叫」。
而函式的型態(同步/非同步),會直接影響以下三件事情:

  • 呼叫時的體驗:同步函式會一路執行到底;非同步函式則可以「掛起」,讓系統先去做別的事。
  • 資源管理:涉及網路請求、檔案 I/O、資料庫操作的工具,非同步能大幅減少等待時間。
  • 錯誤處理:同步錯誤會立刻中斷流程;非同步錯誤可能在事件循環另一端才被捕捉。

換句話說:怎麼定義函式,會決定 MCP 工具在整個工作流程裡的表現方式。
(聽起來滿抽象的,但保證下一篇會解釋得非常清楚!)

Day10、Day11的目標

接下來的兩天,我們將會:

  1. 同步 vs 非同步
    重新複習 defasync def 的基本概念與差異,這部分會用小範例幫大家了解。

  2. 開始實踐
    接著介紹 MCP 的核心功能之一:@mcp.tool 裝飾器,看看如何把一個 Python 函式轉換為模型可以呼叫的工具。

為什麼要這樣安排?

如果直接跳進MCP實作,很容易迷失方向,像當初在看許多前輩的程式碼時,就一直搞不清同步/非同步的差別,為了避免產生這種割裂感,會先從設計MCP中常用的defasync def來著手,能更好銜接實作!

準備好了嗎?暖身結束,進入實作吧!


上一篇
【Day 08】FastMCP是啥?很快的MCP嗎?
下一篇
【Day 10】FastMCP Tool的建構方式(一)
系列文
MCP的30天養成計畫14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言