iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0
生成式 AI

三十天解鎖上下文超能力:MCP 實戰系列 第 13

Day 13 - 踏入 Python MCP 的世界

  • 分享至 

  • xImage
  •  

大家好,歡迎來到鐵人賽的第十三天,也是我們全新篇章——Python 實戰篇——的開端!

在過去的一週多裡,n8n 帶領我們快速地驗證了 MCP 的核心思想,並打造出一個功能強大、令人驚豔的 AI 個人助理。我們親眼見證了視覺化工作流的魅力與效率。

那麼,既然 n8n 這麼好用,為什麼我們還需要「自討苦吃」,用 Python 來從頭打造 MCP 應用呢?

今天,我們就來回答這個問題,並認識一下即將陪伴我們接下來旅程的兩位 Python 主角:adk mcppython fast mcp

一、為什麼選擇 Python?從 n8n 到程式碼的飛躍

n8n 就類似一個設備齊全的飯店,別人全部都幫你設計好了,而 python 可以全部讓你自己動手來,並且可以全部依照自己的想法去做設計

從 n8n 轉向 Python,是為了追求極致的:

  1. 控制力與客製化 (Control & Customization):
    在 n8n 中,我們受限於已有的節點。如果想連接一個冷門的資料庫、實現一個非常特殊的加密算法、或設計一套精細的日誌流程,可能會非常困難。而在 Python 中,萬物皆可 import,你可以引入任何函式庫,實現任何天馬行空的邏輯,不受任何平台限制。

  2. 效能與效率 (Performance & Efficiency):
    n8n 作為一個通用的自動化平台,其執行過程中存在一定的額外開銷。對於需要處理大量請求、要求毫秒級回應的高吞吐量應用場景,一個基於 FastAPI 或其他高效能框架編寫的 Python 伺服器,能提供遠超 n8n 的原始性能。

  3. 複雜邏輯與狀態管理 (Complex Logic & State Management):
    我們在 n8n 中見識過「視覺化麵條」的潛在風險。當業務邏輯變得複雜時,用節點連線來表達,很快就會變得難以維護。而 Python 憑藉其清晰的語法、函數、類別和設計模式,能以更優雅、更結構化的方式來管理複雜的商業邏輯和長期狀態。

  4. 專業的開發與維運 (Testing & DevOps):
    一個成熟的軟體專案,離不開單元測試、整合測試、CI/CD (持續整合/持續部署) 等專業流程。這些在 Python 的生態系中都是原生且成熟的最佳實踐,能確保你的 MCP 服務在迭代過程中依然穩定可靠。

總之,從 n8n 到 Python,是從「快速實現者」到「專業架構師」的轉變。


二、Python MCP 生態系:認識兩大主角

在 Python 的世界裡,要實現 MCP 協議,我們並不需要從零開始解析 JSON-RPC。社群已經為我們準備好了強大的函式庫。在接下來的系列中,我們將重點介紹和使用兩個核心函式庫:

1. adk mcp (Application Development Kit for MCP)

  • 定位: 「功能全面、開箱即用」的應用開發套件。
  • 特性: adk mcp 將許多 MCP 的底層細節進行了高度抽象和封裝。它提供了簡潔易用的高階 API,讓開發者可以快速上手,專注於工具 (Tool) 本身的商業邏輯開發,而不用過多關心協議的實現細節。
  • 好比: Python 中的 Requests 函式庫。它極大地簡化了發送 HTTP 請求的過程,讓開發者用最少的程式碼做最多的事。

2. python fast mcp

  • 定位: 「高效能、非同步優先」的輕量級框架。
  • 特性: 從名字中的 fast 就可以看出,這個函式庫的核心目標是性能。它很可能基於 FastAPI 或 Starlette 這類 ASGI 框架構建,原生支援非同步 (async/await),給予開發者更高的控制權和更低的延遲。它可能需要你編寫稍多一些的樣板程式碼,但回報是極致的執行效率。
  • 好比: Python 中的 httpxaiohttp。它們是專為非同步和高效能場景設計的,是構建現代網路應用的首選。

三、adk mcp vs. python fast mcp:如何選擇?

為了幫助大家更好地理解它們的定位,這裡有一份快速對比表格:

特性 adk mcp python fast mcp
主要目標 快速開發、易用性 極致效能、低延遲
抽象層級 高階抽象,隱藏細節 較低階,給予更多控制權
非同步支援 支援 非同步優先 (Async-first)
學習曲線 較平緩 稍陡峭,需理解 ASGI
適用情境 快速打造功能複雜的工具、企業內部應用 打造高流量的公開 MCP Server、對性能敏感的服務

在我們的鐵人賽中,我們不會只選其一,而是會兩者都學

我們將先從 adk mcp 開始,快速地用 Python 建立我們的第一個 MCP 工具。之後,我們會用 python fast mcp 來重構它,感受性能上的顯著提升。

四、今日總結

今天,我們正式吹響了進軍 Python 領域的號角。我們理解了為什麼要從 n8n 邁向 Python,並對即將使用的 adk mcppython fast mcp 兩個函式庫建立了清晰的初步認知。

理論的鋪墊到此為止。從明天開始,我們將正式告別 JSON 配置和滑鼠拖曳,迎接程式碼的挑戰。

準備好你的 VS Code (或其他你喜歡的編輯器)。明天,我們將安裝 adk mcp,並寫下第一行 Python MCP 程式碼!


上一篇
Day 12 - n8n x MCP 應用案例分享與回顧
下一篇
Day 14 - adk mcp 入門:安裝與發送第一個請求
系列文
三十天解鎖上下文超能力:MCP 實戰17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言