別再手動調API了!5分鐘讓你的AI模型擁有"超能力"!MCP協議深度解析和實操 原創
在人工智能的浪潮中,每一次技術的突破都可能引發行業的巨變。2024年11月,Anthropic推出了一項名為MCP(Model Context Protocol)的開放協議,這一協議旨在為大型語言模型(LLM)與外部數據和行為的連接提供一個通用的開放標準。今天,我們就來深入探討MCP的架構、功能及其對未來AI發展的潛在影響。
MCP的核心架構
MCP的設計理念是通過一個開放的協議,為外部工具或數據源提供與LLM交互的統一接口。其系統架構主要包含以下幾個關鍵組件:
- MCP Host:這是LLM的宿主應用,如Cursor、Cline等,負責處理一個或多個MCP Server的應用程序。
- MCP Client:位于Host內部,專門用于與MCP Server建立和維持一對一連接的模塊。它負責按照MCP協議的規范發送請求、接收響應和處理數據。
- MCP Server:提供外部能力或數據的工具,如實時獲取天氣、瀏覽網頁等。
MCP Client 更多是一個底層技術術語,是關于 MCP Server 連接到 MCP Host 的底層細節,不用過于區分 MCP Host 和 MCP Client。
Image
MCP Server的能力
MCP Server目前支持三類可被復用的能力:
- Tools:向LLM提供可執行的功能,如爬取網頁內容、獲取天氣信息等。
- Resources:允許LLM公開讀取Server的數據或內容的能力。
- Prompts:支持提示詞的共享。
MCP Server的安裝
MCP服務雖然剛出現沒多久,但官方已經給我們提供了很多主流的服務器實例,就不需要我們自己開發服務端了: ??https://github.com/modelcontextprotocol/servers??
比較常用的MCP Server有:
- Filesystem — 文件操作與可配置的訪問控制
- GitHub — 倉庫管理、文件操作和GitHub API集成
- SQLite — 數據庫交互
這些服務器可以根據我們實際需要單獨使用,或者組合在一起進行使用。例如,在項目開發中可以同時使用文件系統、數據庫以及搜索工具服務。
目前,許多客戶端已經支持MCP Servers的使用,如Cline、Cursor。用戶可以直接在這些客戶端中使用社區開發好的Servers。安裝MCP Server需要node.js和python兩個環境,這是確保服務正常運行的關鍵。
在Cline中配置和使用MCP
1、安裝環境和相關工具
Windows用戶使用下面的方法安裝uv和sqlite工具。
# 使用 winget
winget install --id=astral-sh.uv -e
winget install sqlite.sqlite
# 或直接下載:
# uv: https://docs.astral.sh/uv/
# SQLite: https://www.sqlite.org/download.html
或者在powershell中執行
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
Mac用戶,使用brew進行安裝
# 使用 Homebrew
brew install uv sqlite3
# 或直接下載:
# uv: https://docs.astral.sh/uv/
# SQLite: https://www.sqlite.org/download.html
2、新建數據庫
安裝好sqlite3之后,我們要新建一個數據庫。
依次執行下面的三條命令,創建一個數據表,并寫入一些測試數據。
sqlite3 ./test.db
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT,
price REAL
);
INSERT INTO products (name, price) VALUES
('Widget', 19.99),
('Gadget', 29.99),
('Gizmo', 39.99),
('Smart Watch', 199.99),
('Wireless Earbuds', 89.99),
('Portable Charger', 24.99),
('Portable SSD', 179.99);
EOF
命令執行成功后,可以在當前目錄下看到一個名為test的文件。
3、配置MCP服務器
如圖所示,打開Cline,點擊右上方的MCP配置按鈕,然后點擊左下角的Edit MCP Settings,打開配置文件,并添加下面的內容。
{
"mcpServers": {
"mcp-server-sqlite": {
"command": "uvx",
"args": [
"mcp-server-sqlite",
"--db-path",
"D:\\test\\test.db"
]
}
}
}
Windows用戶需要將 command這一行做下調整,否則會找不到uvx的執行路徑。這個要調整成你的uvx命令所在的路徑,默契情況需要將用戶名替換成自己的就行。
{
"mcpServers": {
"mcp-server-sqlite": {
"command": "C:\\Users\\xsl\\.local\\bin\\uvx",
"args": [
"mcp-server-sqlite",
"--db-path",
"D:\\test\\test.db"
]
}
}
}
配置好后保存文件,在左側MCP Servers界面看到出現一個綠燈表示配置沒有問題。
4、執行命令
直接和Cline對話,看下能否執行成功。這里我們讓Cline幫我查下當前數據庫中有幾張表。
可以很清楚的看到,Cline分析了我們的需求,并通過SQLite數據庫服務器去查下表的信息,最終數據庫響應的結果是只有一張表 products,和我們的數據一致。
我常用的幾個MCP Server
??github?
?
圍繞 GitHub 平臺操作的工具集合,覆蓋倉庫管理、文件操作、Issue 處理、分支管理等場景,適用于 GitHub 自動化操作。
??sequential-thinking?
?
處理順序化邏輯任務,適用于分步驟推導、多階段流程協調(如復雜邏輯分析)。
??tavily?
?
基于 Tavily 服務,實現網絡搜索與內容提取,適用于外部數據檢索與處理。
大家在工作中使用過哪些 MCP Server?或者說更傾向于推薦哪些 MCP Server?歡迎在評論區分享你的經驗,與大家一起交流學習。
本文轉載自公眾號AI 博物院 作者:longyunfeigu
