云计算百科
云计算领域专业知识百科平台

[mcp-servers] docs | AI客户端-MCP服务器-AI 架构

链接: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 json

    def 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等)。

    下一章:工具与资源

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » [mcp-servers] docs | AI客户端-MCP服务器-AI 架构
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!