文章目錄
- 背景
- mcp server的必要性
- mcp server的基本概念
- mcp server的架構與核心組件
- 總結
背景
劈里啪啦的整了一堆概念,對mcp server還是只停留在知道個詞的地步。
雖然目前大模型的對話生成能力很強,但是大模型(如deepseek)并不能直接進行如 文件增刪、數據庫查詢、發送郵件等操作,就算你把數據庫地址賬號密碼這些輸入到deepseek模型,它也只會停留在文字層面,無法向專業人員一樣操作數據庫,然后幫你拿回查詢結果。
說白了,人類對大語言模型的使用不想僅停留于多輪對話,然后輸出干巴巴的語句。想更進一步偷懶,把使用工具的權力也交給AI模型,讓AI模型幫你按輸出的建議執行實際的操作。
最典型的就是, 讓cursor幫你生成一個增刪改成的python demo,不只輸出代碼內容,順便把初始化項目目錄、新建文件、啟動開發、根據控制臺報錯、反復自動進行多輪debug。甚至,你要是整個ssh的mcp server, 是不是順便還能幫你在服務器上裝個nginx, 安docker,發布上線python demo、 從而直接運維后臺服務了。
當然,就目前而言,可靠性還是差得很遠,要是不做約束,你也無法確保它哪天會不會給你刪庫跑路了。
mcp server的必要性
所以,mcp server就是為了解決大語言模型和與外部工具的交互問題而出現的,提供能力增強的同時,也得加以約束。
mcp server的基本概念
MCP Server是Anthropic公司于2024年提出的開源協議(MCP)的核心部分,旨在解決LLM與外部系統(如數據庫、API、文件等)的集成問題。其主要功能包括:
?資源暴露?:提供對數據實體(文件、數據庫記錄等)的標準化訪問接口,例如file:///home/user/report.txt或memo://recent-insights。
?工具提供?:暴露可執行功能(如數據庫查詢、文件寫入等),供LLM調用以完成復雜任務(例如query_database(SQL語句)或write_file(文件路徑,內容))。
?動態通知?:當資源變化時通過JSON-RPC 2.0協議向客戶端推送通知(如notification消息)。
mcp server的架構與核心組件
MCP采用客戶端-服務器架構,包含以下核心組件:
?MCP Host?:運行AI應用程序的環境(如Claude Desktop、Cursor IDE等),托管MCP Client并協調通信。
?MCP Client?:中介角色,管理Host與Server間的請求/響應,處理實時通知(如任務進度更新)。
?MCP Server?:輕量級本地服務,通過工具(Tools)、資源(Resources)、提示(Prompts)三大能力擴展LLM功能。
總結
?MCP Server作為LLM生態的關鍵基礎設施,通過標準化協議解決了AI與真實世界交互的碎片化問題,其輕量級、安全性和模塊化特性使其成為智能體開發的重要工具。