
阿里妹導讀
本文重點講述如何快速實戰上手MCP。
一、MCP介紹
去年 11 月,由Claude的母公司 Anthropic 推出了模型上下文協議(MCP),MCP是一種開放協議,可以實現LLM應用與外部資料來源和工具的無縫整合。無論您是在構建一個AI驅動的IDE、增強聊天介面,還是建立定製的AI工作流程,MCP都能提供連線LLM與所需的上下文的一種標準化方式。
MCP實現了兩大突破:
-
面向開發者的服務封裝:將任意功能封裝為標準化工具(Tool)或資源(Resource) -
面向模型的自然互動:大模型透過協議自解釋文件,實現零樣本工具呼叫
網路上目前有很多介紹MCP原理的文章值得一讀,在這裡就不一一列舉了,小夥伴們可以自行搜尋瞭解,本文重點在快速實戰上手MCP。
二、MCP核心解決的問題
傳統正規化之困:在傳統開發模式中,大模型呼叫外部服務需要經歷複雜的技術鏈路:
自然語言理解 -> 業務邏輯解析 -> API呼叫 -> 結果處理
每個環節都可能產生資訊損耗,比如下面提到的三個典型問題:
-
語義鴻溝:自然語言指令到具體API引數的對映模糊 -
能力黑洞:模型對可用服務缺乏即時認知 -
安全邊界:直接開放API呼叫存在風險敞口
MCP核心解決的問題:
打通模型與工具、與現實世界、與人類所見、所思、所想的最後一公里。
三、MCP與functionCall的關係
一句話總結:
MCP統一了不同大模型和不同服務之間的協議。
一張圖理解:

圖片源自網路
再引用兩張網路流傳甚廣的圖片幫助理解:
-
傳統API實現呼叫方式:不同服務提供不同SDK,呼叫方需要對該應用做接入。 -
MCP方式:不同服務就是一個MCP Server,都遵循MCP協議提供服務。

圖片源自網路

圖片源自網路
四、快速使用MCP服務
1. 安裝vscode+cline
我們使用開源免費的vscode和cline來進行mcp的嘗試,當然你也可以用cursor等其他方式。本質上我們只是需要一個agent以及一個對應的IDE(用來編輯mcp配置檔案)。

2. 配置cline
我們需要配置cline使用的大模型,cline提供的是與你本地IDE和命令列互動的能力,需要使用者配置使用的模型。

可以看到有很多現成的API Provider可以選,如果你有deepseek或者通義千問的現成額度和api key可以直接使用。我研究了一番,發現openrouter很好,他有大量主流模型的免費額度可以使用。如果想快速體驗的朋友可以直接選openrouter,cline會引導你註冊apikey。(需要谷歌或者Github賬號登入)
https://openrouter.ai/
下圖可以看到,我只篩選免費,搜尋deepseek,包括當前最新的V3 0324模型都可以免費使用(但是有限制)。

跟著cline引導配置完OpenRouter API Key。

配置完成後你可以嘗試下現在cline的對話是否ok,來確定openrouter是否調通。

3. 使用現有MCP Server
接下來,我們開始嘗試使用網上現成的MCP Server,cline內建了一個MCP應用市場,可以直接點選install。

3.1.Puppeteer MCP
我們先用應用市場內有的瀏覽器操作框架Puppeteer提供的MCP Server來嘗試,當然你完全可以在網上自行找MCP Server來安裝。
點選install後,實際上cline就是幫你寫了一段提示詞,來讓大模型幫你全自動安裝Puppeteer MCP Server,提示詞如下:

根據cline的指引,一步步接受模型指令後,我們可以看到一個配置完成的cline_mcp_settings.json檔案,裡面申明瞭我們安裝的mcp server列表(目前只有一個Puppeteer MCP Server)。

{
"mcpServers": {
"github.com/modelcontextprotocol/servers/tree/main/src/puppeteer": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
],
"transportType": "stdio"
}
}
接著我們來使用該mcp訪問網頁,嘗試訪問下bilibili首頁,並讓他告訴我首頁有哪些影片標題。

執行後,可以看到Puppeteer自主操作了瀏覽器,打開了B站首頁。

模型透過Puppeteer得到了返回的資料。

成功。
3.2.高德地圖MCP
高德很早就支援了MCP協議,我們就來試試它的能力如何。
我們向模型發起提問:
請幫我規劃一條從杭州市濱江區阿里巴巴園區到杭州市西湖景區的路線
模型依次呼叫了查詢目的地經緯度、駕車、地鐵公交、步行三種方案:
-
maps_geo:將詳細的結構化地址轉換為經緯度座標。支援對地標性名勝景區、建築物名稱解析為經緯度座標。 -
maps_direction_driving:駕車路徑規劃 API 可以根據使用者起終點經緯度座標規劃以小客車、轎車通勤出行的方案,並且返回通勤方案的資料。 -
maps_direction_transit_integrated:根據使用者起終點經緯度座標規劃綜合各類公共(火車、公交、地鐵)交通方式的通勤方案,並且返回通勤方案的資料,跨城場景下必須傳起點城市與終點城市。 -
maps_direction_walking:根據輸入起點終點經緯度座標規劃100km 以內的步行通勤方案,並且返回通勤方案的資料。
得到了最終方案:

詳細的思考和呼叫截圖示例




五、快速搭建MCP服務
我們已經能夠呼叫現成的MCP服務(MCP Server),接下來我們的目標是自己搭建一個MCP Server,讓cline來呼叫。
目前MCP官方已經有多個語言的SDK,在其官方文件都能看到。
https://modelcontextprotocol.io/introduction
我們使用他們的python sdk來建立一個demo
https://github.com/modelcontextprotocol/python-sdk
我們直接偷懶,讓cline+deepseek來幫我們寫。deepseek一路火花帶閃電,完成了工作,主要有下面幾個步驟:
首先需要在當前專案目錄下建立一個新資料夾來存放MCP server 使用FastMCP來建立一個簡單的Python MCP server demo需要安裝FastMCP依賴,可以使用pip安裝建立一個簡單的MCP server示例,暴露一個簡單的工具將MCP server配置新增到cline_mcp_settings.json檔案中

最終的mcp server(mcp_server.py)如下,實現了打招呼和兩數相加的工具(tool)和資源(resource)。
# server.py
from mcp.server.fastmcp import FastMCP
# Create an MCP server
print("Initializing FastMCP...")
mcp = FastMCP("Demo", port=8001)
print("FastMCP instance created")
# Add an addition tool
print("Registering add tool...")
defadd(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
print("Add tool registered")
# Add a dynamic greeting resource
print("Registering greeting resource...")
defget_greeting(name: str) -> str:
"""Get a personalized greeting"""
returnf"Hello, {name}!"
print("Greeting resource registered")
# Start the MCP server
if __name__ == "__main__":
print("Starting MCP server...")
try:
mcp.run(transport="stdio")
print("MCP server is running")
except Exception as e:
print(f"Error starting MCP server: {str(e)}")
exit(1)
資源、工具、提示詞的定義,也是MCP的官方概念,在本文不做詳細闡述。

圖片源自網路
我們在cline上新增第二個配置。
{
"mcpServers":{
"github.com/modelcontextprotocol/servers/tree/main/src/puppeteer":{
"autoApprove":[],
"disabled":false,
"timeout":60,
"command":"npx",
"args":[
"-y",
"@modelcontextprotocol/server-puppeteer"
],
"transportType":"stdio"
},
"demo-python-server":{
"autoApprove":[],
"disabled":false,
"timeout":3000,
"command":"/Users/xxxx/.venv/bin/python3",
"args":[
"/Users/xxxxx/mcp_server_demo/mcp_server.py"
],
"transportType":"stdio"
}
}
}
配置完成後,可以看到clineUI也展示了我的MCP Server。

接著可以讓cline嘗試呼叫一下模型,由於配置檔案裡有我們自己創造的工具的宣告,所以cline呼叫了工具,完成了打招呼的任務。

展望
技術層面:重構服務提供正規化
MCP正在構建AI時代的"數字樂高標準件"技術體系。當協議層實現真正的標準化,將引發三個技術革命:
-
服務發現機制的進化:未來的MCP工具市場可能會出現全域性自動服務發現中心,模型可透過自然語言描述自動發現適配工具鏈,實現"所想即所得"的服務組合。 -
效能最佳化新正規化:協議層統一後,工具鏈效能指標可量化對比,催生出專門針對大模型工具呼叫的編譯最佳化技術,如工具快取預載入、呼叫路徑動態最佳化等。 -
多模態工具引擎:當前文字互動為主的協議或將擴充套件為支援視覺-動作-物理世界的多模態互動協議,使AI能操作CAD設計軟體、工業機器人等複雜系統。
產品層面:重塑人機協作介面
當工具呼叫成本趨近於零時,將引爆產品創新奇點:
-
智慧體市場崛起:類似App Store的MCP智慧體商店將出現,使用者可自由組合不同服務提供商的能力模組。某旅遊智慧體可能聚合航司API、酒店MCP服務、簽證工具鏈,自動完成複雜行程規劃。 -
無程式碼智慧體工廠:企業可透過視覺化拖拽,將內部系統快速封裝為MCP服務,如把ERP系統暴露為"庫存查詢@erp://warehouse"等自然語義介面 -
個性化服務湧現:每個人的數字分身都能持有專屬工具集。教師助理智慧體自動組合教案生成器+知識點驗證服務,程式設計師助手動態呼叫程式碼分析、雲部署等工具鏈
人文層面:重構知識工作邊界
當工具呼叫成為基礎能力,將引發更深層的變革:
-
技術平權新階段:語言成為終極程式設計介面,任何能用自然語言清晰描述需求的人都能建立複雜工具鏈,知識工作者與開發者的界限逐漸消融 -
人機協作倫理進化:需要建立新的責任追溯機制,當AI透過MCP呼叫真實世界服務時,需明確工具開發者、模型提供者、終端使用者之間的責任矩陣。
MCP協議正悄然構建著AI時代的"數字巴別塔"。當不同語言、不同平臺的服務都能透過統一協議無縫協作時,我們或將見證人類文明史上最大規模的認知革命——在這個新世界裡,呼叫工具的能力,終將成為人類思維的自然延伸。
即時監控應用關鍵業務異常與告警
本方案使用日誌服務(SLS)基於收集的業務日誌對業務實現監控與告警,能夠幫助您瞭解應用的執行趨勢,及時發現業務異常狀態,採用具體措施以保證系統穩定性。
點選閱讀原文檢視詳情。