9行程式碼實現MCPServer示例

大模型又迎來一個歷史性的技術,MCP(Model Context Protocol),這項技術可能會顛覆未來軟體形態。當前大模型的短板是有一個非常強的大腦,但是沒有手腳,只能訪問公開的資訊,不能訪問企業內部或者個人私有資料,這大大限制了大模型的應用,比如最簡單發郵件大模型都幹不了,因為這需要有個人資訊授權。
MCP 是 Anthropic 設計的標準,Anthropic 是美國僅次於 OpenAI 的大模型技術公司。MCP 核心用於規範大模型與外部系統的對接協議,就像硬體裡的 USB、Type-C 類似,是一項標準介面協議。
上面是兩張非常經典的 MCP 架構示意圖,理論上 MCP 可以呼叫軟體和硬體完成非常多的事情,大模型訪問瀏覽器、操作資料庫、操作滑鼠甚至是與機器人互動都可以使用 MCP 協議來實現。
接下來用 9 行程式碼實際演示 python 開發一個 mcp server 並在 cursor 客戶端呼叫的示例,這個示例是讓大模型可以檢視到本機的桌面檔案列表。
步驟一:安裝 mcp 元件
#python 安裝 mcp元件pipinstall mcp# 檢查mcp安裝成功D:\temp\mcp-demo>mcp versionMCPversion 1.5.0
步驟二:建立 mcp server 程式碼
新建一個 file.py 檔案,用於編寫 MCP Server 的 python 程式程式碼。
以下是 file.py 檔案內容,注意,備註內容非常重要,傳統軟體的備註是給程式設計師看的,但是 MCP 服務的備註是給大模型看的,它透過備註理解介面的功能。所有未來程式設計師寫備註是重要工作了。
import osfrom mcp.server.fastmcp import FastMCPmcp = FastMCP()@mcp.tool()defget_desktop_files():"""獲取桌面上的檔案列表"""return os.listdir(os.path.expanduser("~/Desktop"))if __name__ == "__main__": mcp.run(transport='stdio')
在 get_desktop_files() 方法前面增加 @mcp.tool() 註解,這個是 mcp python sdk 規範,用於 mcp 的客戶端自動發現 mcp server 提供的能力。
步驟三:cursor 中配置 mcp server
File->Prefrences->cursor settings->MCP
點選 [add new global mcp server] 按鈕後,curor 會開啟編輯 mcp.json 檔案,新增以下內容,核心是建立一個 command,在 mcp server 啟動時執行剛建立的 python 程式執行
mcp.json 檔案內容如下
{"mcpServers": {"listdesktopfiles": {"command": "python d:\\temp\\mcp-demo\\file.py" } }}
編輯好 msp.json 檔案後,回到 cursor settings 介面,就可以看到新增加了一個 listdesktopfiles 的 MCP Server
點選右邊的重新整理按鈕,就會啟動這個 server,然後可以在 chat 對話方塊中測試了。
步驟四:在左側 cursor chat 對話方塊中測試 mcp server
比如輸入問題“我的桌面有哪些檔案”,cursor 會自動跳出 called MCP tool 的互動,點選 run 即可。
以上就是使用 cursor+python 的 mcp server 開發測試的示例。
整理人
葉正盛,NineData 創始人 &CEO,資深資料庫專家,原阿里雲資料庫產品管理與解決方案部總經理。NineData(www.ninedata.cloud)是雲原生資料管理平臺,提供資料庫 DevOps(SQL IDE、SQL 稽核與釋出、效能最佳化、資料安全管控)、資料複製(遷移、同步、ETL)、備份等功能,可以幫助使用者更安全、高效使用資料。
今日好文推薦
每天開發2.5萬新 App,一度擠爆 GitHub!一個僅有 15 人的團隊建立了“歐洲版 Cursor”,三個月掙了 1 個億
Siri 跳票,庫克震怒換帥!大佬銳評:蘋果高層都是快 70 歲老頭兒,該換懂 AI 的年輕人上了
谷歌史上最大收購:320 億美元買下了發現 DeepSeek 資料庫洩露的那家小企業
當大模型接管程式設計:NASA 瘋狂的“反人類”程式設計要求,為何仍被奉為行業聖典?

相關文章