Manus平替方案:用DeepSeek+MCP Server構(gòu)建AI自主工作流
1. 前言
在AI技術(shù)日新月異的今天,我們正見證著LLM(大語言模型)從"能說會道"向"能工巧匠"的進化。當(dāng)Anthropic推出Model Context Protocol(MCP)時,它像一道閃電劃破夜空——這個被稱作AI界的USB-C
的協(xié)議,正在重新定義人機協(xié)作的邊界。
作為一個沉迷于技術(shù)探索的開發(fā)者,我始終在尋找讓AI真正"落地"的方法。當(dāng)看到MCP協(xié)議支持本地文件操作、數(shù)據(jù)庫訪問甚至瀏覽器自動化時,一個大膽的想法在我腦中成型:能否在VS Code這個開發(fā)者主戰(zhàn)場上,用零代碼方案復(fù)刻類Manus的智能體能力。
本文通過兩個開源MCP Server(FileSystem/PostgreSQL),在VS Code中搭建起從數(shù)據(jù)庫查詢到文件輸出的完整工作流。當(dāng)看到AI自主分解任務(wù)、調(diào)用工具并最終生成CSV文件的那一刻,我仿佛觸摸到了未來:或許"人人手搓 智能體"的時代,真的不再遙遠......
2. MCP概念
MCP(Model Context Protocol)是一種旨在簡化人工智能與外部資源交互的協(xié)議。它被設(shè)計用來讓開發(fā)者通過標(biāo)準(zhǔn)化的接口,讓AI能夠訪問和操作文件系統(tǒng)、數(shù)據(jù)庫、電子表格等多種資源,最終幫助實現(xiàn)更復(fù)雜的自動化工作流。MCP的核心理念是通過為AI提供一系列基礎(chǔ)的操作功能,使得AI可以自主地完成任務(wù),而無需開發(fā)者過多干預(yù)。
2.1. Function calling VS MCP
在傳統(tǒng)的編程模式中,人工智能通常通過函數(shù)調(diào)用(Function Calling)的方式來實現(xiàn)與外部資源的交互。函數(shù)調(diào)用要求開發(fā)者預(yù)先編寫每一個功能模塊的接口,AI只能通過調(diào)用這些函數(shù)來執(zhí)行特定的操作。這種方式的局限性在于,開發(fā)者需要為每種可能的任務(wù)和操作單獨創(chuàng)建函數(shù)和邏輯代碼,且每次AI執(zhí)行任務(wù)時,開發(fā)者都需要介入,提供新的函數(shù)或修改現(xiàn)有的代碼。這導(dǎo)致開發(fā)者的工作量增加,且系統(tǒng)的靈活性受到一定限制。
MCP(Model Context Protocol)的出現(xiàn)則解決了這一問題。它通過標(biāo)準(zhǔn)化的協(xié)議,定義了一套通用的接口和操作規(guī)范,使得AI能夠以更為自主的方式與各種外部資源進行交互。開發(fā)者不需要為每個任務(wù)編寫?yīng)毩⒌暮瘮?shù),AI通過MCP協(xié)議可以直接訪問文件系統(tǒng)、數(shù)據(jù)庫、電子表格等各種資源,并在這些資源上執(zhí)行一系列操作。
MCP的優(yōu)勢在于,它允許AI在沒有過多干預(yù)的情況下完成復(fù)雜的任務(wù)。開發(fā)者只需要為AI配置相關(guān)的資源和權(quán)限,而AI則可以根據(jù)預(yù)定義的協(xié)議自動決定如何操作這些資源。這使得開發(fā)者能夠更加專注于設(shè)計和優(yōu)化AI的智能決策,而不必被繁瑣的編程工作所束縛。
特性 | Function Calling | MCP |
操作靈活性 | 受限于開發(fā)者編寫的函數(shù)接口,需要為每個任務(wù)創(chuàng)建單獨函數(shù)。 | 高度靈活,AI可以根據(jù)協(xié)議自主選擇操作的方式。 |
開發(fā)者干預(yù) | 每次任務(wù)執(zhí)行都需要開發(fā)者介入,編寫或修改函數(shù)。 | 開發(fā)者只需配置資源和權(quán)限,AI可以自主執(zhí)行任務(wù)。 |
適用場景 | 適用于簡單的功能調(diào)用,任務(wù)變化較少的場景。 | 適用于復(fù)雜的任務(wù)自動化和跨系統(tǒng)資源交互。 |
擴展性 | 擴展性差,添加新功能時需要編寫新函數(shù)。 | 高度可擴展,支持多種外部資源和自動化工作流。 |
維護難度 | 隨著任務(wù)增多,函數(shù)接口的維護難度加大。 | 由于協(xié)議標(biāo)準(zhǔn)化,維護工作減少,資源配置更加簡單。 |
集成外部資源的難度 | 需要開發(fā)者逐一編寫適配函數(shù)進行集成。 | 使用標(biāo)準(zhǔn)化協(xié)議,可以輕松集成各種外部資源。 |
工作流自動化 | 需要編寫多個函數(shù)和控制邏輯,自動化程度較低。 | 支持通過協(xié)議實現(xiàn)高度自動化的工作流。 |
從對比表中可以看出,MCP在靈活性、擴展性和自動化方面相較于傳統(tǒng)的函數(shù)調(diào)用方式具有顯著的優(yōu)勢,尤其在涉及到跨系統(tǒng)資源集成和復(fù)雜自動化任務(wù)時,MCP的優(yōu)勢尤為明顯。
2.2. MCPServer平臺
MCPServer平臺是Model Context Protocol(MCP)協(xié)議的核心構(gòu)建塊,它為開發(fā)者提供了一個服務(wù)端的基礎(chǔ)架構(gòu),用以支持MCP協(xié)議的實現(xiàn)與運作。MCPServer是一個開源平臺,允許開發(fā)者通過配置和搭建MCP服務(wù)器,輕松地將各種外部資源與AI進行集成,并通過MCP協(xié)議進行交互,主流一些的平臺主要有以下一個:
- 官方:https://github.com/modelcontextprotocol/servers, 這里提供了完整的代碼庫和文檔,幫助開發(fā)者部署和自定義MCP服務(wù)器。通過這個平臺,開發(fā)者能夠快速配置自己的MCP環(huán)境,并將其與不同的應(yīng)用和服務(wù)對接。
2. MCPSo:https://mcp.so/,這個網(wǎng)站是一個專門收集和展示Model Context Protocol(MCP)服務(wù)器的平臺,致力于為開發(fā)者和用戶提供豐富的MCP服務(wù)器資源。在MCPSo上,你可以瀏覽各種類型的MCP服務(wù)器,包括地圖服務(wù)、瀏覽器自動化、數(shù)據(jù)處理等,滿足不同場景下的需求。此外,MCPSo還提供了服務(wù)器的詳細(xì)信息和配置示例,幫助用戶快速上手和集成。
3. MCPMarket:https://mcpmarket.com/,它匯集了大量與MCP兼容的工具、服務(wù)和資源。在MCPMarket上,你可以發(fā)現(xiàn)各種MCP服務(wù)器,了解其功能和應(yīng)用場景,方便您根據(jù)需求選擇合適的工具。平臺提供了清晰的分類和搜索功能,幫助用戶快速找到所需的資源。
2.3. MCP支持的客戶端
在MCP的生態(tài)系統(tǒng)中,支持的客戶端種類繁多,每個客戶端都具備不同的功能和優(yōu)勢,能夠幫助開發(fā)者根據(jù)不同的需求完成各種任務(wù)。下表展示了多種MCP客戶端及其各自支持的特性,具體包括對資源、提示、工具、采樣等的支持,具體類可基于網(wǎng)址查看:https://modelcontextprotocol.io/clients
3. VS Code+Cline實現(xiàn)手搓智能體
我想做一個測試,如果我基于cline給大模型下達了一個指令,他是否會分解步驟,進行規(guī)劃,依次執(zhí)行,最后給我一個我想要的結(jié)果,如果可以,那是不是人人手搓智能體的時代就不遠了,于是我想到了一個簡單場景,讀取PostgresSQL表中的數(shù)據(jù)寫入本地excel表格。要完成上述業(yè)務(wù)場景,需要預(yù)先準(zhǔn)備一下場景數(shù)據(jù),在PostgresSQL中準(zhǔn)備一張student數(shù)據(jù)表,準(zhǔn)備工作就這一步。
針對這個需求我找了兩個對應(yīng)的MCP Server,分別是File Syetem(github)、PostgresSQL(github)。下面就從MCP Server在VS Code中的集成開始,一步一步帶大家體驗如何用零代碼方案復(fù)刻類Manus的智能體能力。
3.1. VS Code+Cline集成MCP Server
3.1.1. 基礎(chǔ)集成
首先在VS Code中安裝Cline插件,我安裝的是中文漢化版:
Cline安裝完成以后需要配置一下API提供商(我選的DeepSeek)。
用“你好”測試一下大模型是不是集成進來了
3.1.2. 安裝FileSystem
點擊Cline的第二個圖標(biāo),進入MCP服務(wù)器的市場選項頁安裝一下MCP服務(wù)器,我安裝的是FileSystem,可以搜索filesystem直接安裝。
也可以采用npx的方式安裝,我的系統(tǒng)的win10,用的是npx的方式,進入MCP服務(wù)器——已安裝選項頁,點擊配置MCP服務(wù)器填寫如下配置:
"filesystem": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-filesystem",
"D:/wx"
],
"disabled": false,
"autoApprove": []
}
3.1.3. 安裝PostgresSQL
采用npx的方式安裝,進入MCP服務(wù)器已安裝選項頁,點擊配置MCP服務(wù)器填寫如下配置:
"postgres": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://username:pwd@localhost:5432/database_name"
],
"disabled": false,
"autoApprove": [
"query"
]
}
在上面命令中吧username、pwd、database_name這三個參數(shù)換成你自己的數(shù)據(jù)庫配置,配置完了以后可以看一下右側(cè)的已安裝選項頁是否安裝了對應(yīng)的MCP Server。
3.2. 發(fā)送提示詞指令
MCP Server都安裝了以后,我們需要看一下每個MCP Server的用法,這里我?guī)е蠹铱匆幌?,首先是FileSystem:
從圖上可以看出FileSystem有很多功能,比如讀取文件,寫入文件,編輯文件等,每個功能都有使用說明,比如read_file,要用這個工具就需要傳入path,path的話我們在配置文件里面已經(jīng)配置過了。
接下來就是postgres,它的功能只有query(查詢數(shù)據(jù)庫)。
這兩個MCP Server完成數(shù)據(jù)讀寫的技術(shù)路線大致如下:
- 數(shù)據(jù)讀取 首先,通過PostgresSQL(MCP Server)在PostgresSQL數(shù)據(jù)庫中讀取所需的數(shù)據(jù)。這一過程涉及到數(shù)據(jù)庫連接、查詢執(zhí)行以及數(shù)據(jù)提取,確保所需信息能夠準(zhǔn)確無誤地獲取。
- 文件創(chuàng)建 接下來,F(xiàn)ileSyetem(MCP Server)將在D:/wx目錄下創(chuàng)建一個名為xfc.xlsx的文件。此步驟需要確保目錄的存在以及文件的正確命名,以便后續(xù)的數(shù)據(jù)寫入操作能夠順利進行。
- 數(shù)據(jù)寫入 最后,F(xiàn)ileSyetem(MCP Server)將把從PostgresSQL數(shù)據(jù)庫中讀取的數(shù)據(jù)寫入到剛剛創(chuàng)建的xfc.xlsx文件中。此過程需要處理數(shù)據(jù)格式的轉(zhuǎn)換和寫入操作的執(zhí)行,確保數(shù)據(jù)能夠以正確的格式存儲在Excel文件中。
準(zhǔn)備工作已經(jīng)完成,開始發(fā)送命令:
幫我查詢student中所有數(shù)據(jù),并寫入D:/wx/xfc.xlsx
發(fā)送命令后,大模型就開始拆解我的任務(wù),然后調(diào)用相應(yīng)的MCP Server:
在末尾的時候.xlsx文件無法寫入,大模型還更改了方案,改為寫入.csv,最后成功了:
我現(xiàn)在去目錄下面看一下結(jié)果,發(fā)現(xiàn)D:/wx目錄下面新建了xfc.csv:
打開文件看一下,數(shù)據(jù)已經(jīng)被成功寫入了csv文件:
4. 結(jié)語
在本文中,我們深入探討了如何利用Model Context Protocol(MCP)在VS Code環(huán)境中構(gòu)建智能體,成功實現(xiàn)了從PostgreSQL數(shù)據(jù)庫讀取數(shù)據(jù)并輸出至Excel文件的功能。這一過程展示了MCP在簡化AI與外部資源交互方面的強大能力,預(yù)示著“人人手搓智能體”時代的到來。下一篇文章將重點介紹如何在Spring Boot框架中整合MCP。通過將SpingBoot與MCP相結(jié)合,我們可以將現(xiàn)有應(yīng)用轉(zhuǎn)變?yōu)橹悄蹵I助手,進一步提升系統(tǒng)的智能化水平和用戶體驗。