鏈接:https://github.com/punkpeye/awesome-mcp-servers
服務器調用 相關專欄:實現Json-Rpc
docs:精選MCP服務器資源列表
本專欄為精選 模型上下文協議(MCP)服務器的列表。
MCP 是一種標準協議語言,允許*AI客戶端
與各類計算機程序和服務(MCP服務器
)進行交互。
這些服務器通過提供對特定工具或資源*(涵蓋文件系統、數據庫、瀏覽器自動化及云平臺等)的訪問,擴展AI能力。
本列表按分類整理服務器資源,包含構建新服務器的框架及支持生態系統的工具集。
我們提供了向列表貢獻 新服務器模型 的指南。
可視化概覽
章節結構
- 客戶端
- MCP服務器
- 工具/資源
- 模型上下文協議(MCP)
- 分類體系
- 開發框架
- 生態工具
- 貢獻指南
第一章:客戶端
歡迎來到awesome-mcp-servers
!
我們將從理解這個激動人心的生態系統中的不同組件
開始探索之旅。
我們的第一站是客戶端。
試想一個AI模型,比如您可能使用的智能聊天機器人。這種AI雖然具備卓越的智能,但其知識通常受限于訓練數據。
它無法直接讀取您電腦上的文件,也無法實時獲取股票行情。
假設希望AI助手讀取桌面新建的report.txt
文檔,AI本身無法直接訪問本地文件——這存在嚴重安全隱患!這正是客戶端的用武之地。
什么是客戶端?
簡而言之,客戶端是調用MCP服務器的軟件實體。
它通常是AI模型本身,或是托管/交互AI模型的應用程序。
當AI遇到超出其知識范疇的請求(如"讀取我電腦中的report.txt文件"),客戶端負責將需求轉化為標準化請求,通過模型上下文協議(MCP)發送至專用工具。
核心流程如下:
- 客戶端
識別AI需要外部資源支持的操作
(如文件讀取、數據庫查詢) - 通過MCP協議向特定MCP服務器發送結構化請求
- 服務器執行操作并返回結果
- 客戶端將結果反饋給AI進行后續處理
這種機制使AI能力突破訓練數據限制,實現與現實世界的深度交互。
典型客戶端形態
客戶端呈現多樣化形式:
- **
AI聊天應用*
*:如Claude Desktop等應用,在與用戶對話時后臺調用MCP客戶端功能 智能開發環境
:如Cursor、Windsurf、Zed等集成AI的編程工具,通過文件系統服務器實現代碼文件讀寫AI托管平臺
:任何需要擴展AI能力的軟件系統,均可集成MCP客戶端組件
參閱README文檔"客戶端"章節,可見已支持的客戶端案例:
- Glama Chat(多模態AI客戶端)
Cursor
(智能編程IDE)- Zed(協作式代碼編輯器)
文件讀取案例
以讀取report.txt
文件為例,完整流程如下:
- 用戶指令:“請總結report.txt內容”
- AI識別文件讀取需求,客戶端定位可用文件系統MCP服務器
- 客戶端構建MCP請求(示例為簡化版協議):
{"tool_name": "read_file","params": {"path": "report.txt"}
}
tool_name
:指定操作類型(文件讀取)params
:傳遞文件路徑參數
- 請求發送至文件系統
MCP服務器
- 服務器執行本地文件讀取(需通過權限驗證)
- 返回文件內容至 AI 客戶端
- AI生成摘要并反饋用戶
底層交互流程
該流程展示用戶指令如何通過 客戶端-MCP服務器(json請求
) -AI的協同處理完成。
總結
客戶端是擴展AI能力的門戶,負責將AI的需求轉化為標準化MCP請求,通過MCP服務器實現文件管理、數據查詢等多樣化操作。
這種架構使AI突破數據局限,成為真正智能化的數字助手。
下一章我們將深入探討交互的另一端——接收并執行請求的MCP服務器。
下一章:MCP服務器
第二章:MCP服務器
歡迎回來!
在第一章:客戶端中,我們認識了客戶端——這個常駐于AI應用中的信使組件,當AI需要與其訓練數據之外的實體交互時,客戶端負責發起請求。
那么誰來
接收這些請求
?
又是誰實際執行
諸如文件讀取、數據庫查詢等操作?
這正是**MCP服務器**的職責所在。
什么是MCP服務器?
MCP服務器如同AI的智能助理。
當**客戶端**傳遞請求時,服務器憑借其專業化工具與知識體系完成具體操作。
作為理解模型上下文協議(MCP)的軟件實體,MCP服務器兼具翻譯器
與執行者
的雙重屬性。
各類MCP服務器專注于特定領域的功能實現:
文件系統
服務器:管理本地文件的讀寫操作數據庫
服務器:執行數據庫連接與查詢瀏覽器自動化
服務器:控制網頁瀏覽器進行數據采集版本控制
服務器:對接Git等代碼倉庫系統
本資源列表(awesome-mcp-servers
)正是此類專業化服務器的集合!
每個條目代表著一個可擴展AI能力的"權限執行者"。
文件讀取案例解析(服務器視角)
延續第一章的案例:用戶通過客戶端請求AI總結report.txt
文件內容。
從服務器端觀察完整流程:
-
文件系統MCP服務器持續監聽客戶端請求
-
接收客戶端構建的MCP請求(簡化示例):
{"tool_name": "read_file","params": {"path": "report.txt"} }
tool_name
:指定操作類型(文件讀取)params
:傳遞文件路徑參數
-
服務器解析請求,定位
report.txt
文件路徑 -
在權限驗證通過后執行本地文件讀取
-
構建MCP響應報文:
{"status": "success","result": {"content": "這是report.txt的內容..."} }
status
:操作狀態(成功/失敗)result
:返回文件內容或其他執行結果
-
將響應報文返回客戶端
-
客戶端將文件內容傳遞給AI進行后續處理
底層交互流程
服務器端處理邏輯:
該流程揭示MCP服務器作為核心執行組件的運作機制——
接收原始請求
,通過專用接口
(如磁盤訪問)執行操作
,最終返回結構化結果
。
服務器代碼實現示例
以下Python代碼片段演示read_file
請求處理邏輯:
import jsondef handle_mcp_request(request_json):"""MCP請求處理函數"""request = json.loads(request_json)tool_name = request.get("tool_name")params = request.get("params", {})if tool_name == "read_file":path = params.get("path")if path:try:with open(path, 'r') as f:content = f.read()# 構建成功響應response = {"status": "success","result": {"content": content}}except FileNotFoundError:# 構建異常響應response = {"status": "error","error": {"message": f"文件未找到: {path}"}}except Exception as e:response = {"status": "error","error": {"message": f"文件讀取錯誤: {e}"}}else:response = {"status": "error","error": {"message": "缺少路徑參數"}}else:response = {"status": "error","error": {"message": f"未知指令: {tool_name}"}}return json.dumps(response)# 客戶端請求示例
# client_request = '{"tool_name": "read_file", "params": {"path": "report.txt"}}'
# server_response = handle_mcp_request(client_request)
# print(server_response)
handle_mcp_request
函數解析傳入的JSON請求- 校驗
tool_name
與path
參數有效性 - 通過Python原生文件接口執行讀取操作
- 構建符合MCP規范的響應報文
實際生產級服務器還需實現網絡通信
、多工具
管理、安全防護
等進階功能
但上述示例清晰展現了MCP服務器的核心邏輯:請求解析→操作執行→響應反饋。
總結
MCP服務器是MCP生態系統
的動力核心。
作為專業化服務提供者,它接收客戶端請求,通過對接工具與資源
執行具體操作
,最終返回結構化結果
。
通過部署不同MCP服務器,AI模型得以突破原始訓練限制,獲得文件管理
、在線服務交互
等擴展能力。
下一章我們將深入探討工具與資源——服務器所對接的實際操作對象(如數據庫、文件系統、Web API等)。
下一章:工具與資源