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

链接:https://github.com/punkpeye/awesome-mcp-servers

服务器调用 相关专栏:实现Json-Rpc


docs:精选MCP服务器资源列表

本专栏为精选 模型上下文协议(MCP)服务器的列表。
MCP 是一种标准协议语言,允许*AI客户端与各类计算机程序和服务(MCP服务器)进行交互。
这些
服务器通过提供对特定工具资源*(涵盖文件系统、数据库、浏览器自动化及云平台等)的访问,扩展AI能力。

本列表按分类整理服务器资源,包含构建新服务器的框架及支持生态系统的工具集

我们提供了向列表贡献 新服务器模型 的指南。

可视化概览

在这里插入图片描述

章节结构

  1. 客户端
  2. MCP服务器
  3. 工具/资源
  4. 模型上下文协议(MCP)
  5. 分类体系
  6. 开发框架
  7. 生态工具
  8. 贡献指南

第一章:客户端

欢迎来到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文件为例,完整流程如下:

  1. 用户指令:“请总结report.txt内容”
  2. AI识别文件读取需求,客户端定位可用文件系统MCP服务器
  3. 客户端构建MCP请求(示例为简化版协议):
{"tool_name": "read_file","params": {"path": "report.txt"}
}
  • tool_name:指定操作类型(文件读取)
  • params:传递文件路径参数
  1. 请求发送至文件系统MCP服务器
  2. 服务器执行本地文件读取(需通过权限验证)
  3. 返回文件内容至 AI 客户端
  4. 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文件内容。

从服务器端观察完整流程:

  1. 文件系统MCP服务器持续监听客户端请求

  2. 接收客户端构建的MCP请求(简化示例):

    {"tool_name": "read_file","params": {"path": "report.txt"}
    }
    
    • tool_name:指定操作类型(文件读取)
    • params:传递文件路径参数
  3. 服务器解析请求,定位report.txt文件路径

  4. 在权限验证通过后执行本地文件读取

  5. 构建MCP响应报文:

    {"status": "success","result": {"content": "这是report.txt的内容..."}
    }
    
    • status:操作状态(成功/失败)
    • result:返回文件内容或其他执行结果
  6. 将响应报文返回客户端

  7. 客户端将文件内容传递给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_namepath参数有效性
  • 通过Python原生文件接口执行读取操作
  • 构建符合MCP规范的响应报文

实际生产级服务器还需实现网络通信多工具管理、安全防护等进阶功能

但上述示例清晰展现了MCP服务器的核心逻辑:请求解析→操作执行→响应反馈。

总结

MCP服务器MCP生态系统的动力核心。

作为专业化服务提供者,它接收客户端请求,通过对接工具与资源执行具体操作,最终返回结构化结果

通过部署不同MCP服务器,AI模型得以突破原始训练限制,获得文件管理在线服务交互等扩展能力。

下一章我们将深入探讨工具与资源——服务器所对接的实际操作对象(如数据库、文件系统、Web API等)。

下一章:工具与资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86922.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1688商品发布API:自动化上架与信息同步

一、1688商品发布API的核心功能与技术架构 1.1 API功能全景 1688商品发布API是1688开放平台的核心组件之一,支持商品信息的自动化发布、编辑、上下架及库存同步。其核心功能包括: 商品信息管理:支持商品标题、描述、价格、库存、SKU&#…

如何在x86_64 Linux上部署Android Cuttlefish模拟器运行环境

0 软硬件环境 x86_64服务器Ubuntu20.04 LTS参考:Cuttlefish 虚拟 Android 设备参考: 笔记:搭建 Cuttlefish 运行环境可以下载编好的android-cuttlefish:android-cuttlefish.tar.gz 1 系统采用Ubuntu20.04 LTS 2 搭建cuttlefish…

机器学习9——决策树

决策树 Intro 归纳学习(Inductive Learning)的目标:从训练数据中学习一般规则,应用于未见过的数据。 决策树是一个树形结构,其中: 每个分支节点表示一个属性上的选择(即决策条件)。…

CppCon 2017 学习:The Asynchronous C++ Parallel Programming Model

清晰理解 Amdahl’s Law(阿姆达尔定律),这是一条描述并行计算加速能力的核心定律。 定义公式: S 1 ( 1 − P ) P N S \frac{1}{(1 - P) \frac{P}{N}} S(1−P)NP​1​ S S S:加速比(Speedup&#xff09…

60页PPT实战方案 | 大数据决策分析平台建设全流程路径图

目录 一、什么是大数据决策分析平台? 二、为什么要做大数据决策分析平台建设? 1. 数据已经成为“资源”,但多数组织还停留在“信息孤岛” 2. 管理复杂度上升,传统报表跟不上业务节奏 3. 外部环境不确定性高,倒逼企…

芯谷科技--降压型DC-DC转换器D4005

在现代电子设备中,电源管理芯片的性能直接关系到设备的稳定性和效率。D4005以其高效、稳定的性能和广泛的应用范围,成为众多工程师在设计电源方案时的优选。 产品简介 D4005 是一款高效降压型 DC-DC 转换器,具备固定 400KHz 开关频率&#…

【51单片机节日彩灯控制器设计】2022-6-11

缘由单片机节日彩灯控制器设计-编程语言-CSDN问答 #include "reg52.h" sbit k0P1^2; sbit k1P1^3; sbit k2P1^4; sbit k3P1^5; bit k0,kk0; void main() {unsigned char Xd0;unsigned int ys0; while(1){if(k00&&Xd0){kk0;kP31;while(k00);}if(k10&&…

PyEcharts教程(010):天猫订单数据可视化项目

文章目录 1、读取数据2、数据处理3、重复值查看4、缺失值查看5、PyEcharts可视化5.1 各个省份的订单量5.2 时间序列分析5.3 每天订单量统计可视化6、数据下载1、读取数据 1️⃣读取数据: import pandas as pd from pyecharts import options as opts from pyecharts.charts …

Redis 持久化之 AOF 策略

1. 什么是 AOF AOF 是 append only file,AOF 文件中记录了每次的操作指令,在启动 Redis 时,会将 AOF 文件中的数据读取出来以恢复数据。 2. 开启 AOF Redis 默认关闭 AOF,可以通过将 Redis 配置文件中的 appendonly 设置为 ye…

实现OFD转换PDF文件的实用方法

ODF格式的文件属于国内新型的文件格式,一般应用在保密等级比较高的系统或者单位中,比如一般政务方面或者法律行业经常会用到这种类型的文件,但是有些时候我们把文件分享给别人的时候别人不一定能打开,这时候就需要把OFD文件转换成…

JSON + 存储过程:SaaS 架构下的统一接口与租户定制之道

在多租户 SaaS 系统中,不同客户往往有差异化的业务逻辑、字段要求与流程规则。传统“统一模型 配置参数”的开发模式,虽然具有可控性,但在高度动态、合作多样化的场景下,逐渐暴露出扩展困难、上线周期长、定制成本高等问题。 随…

各种常用的串口助手工具分享

记录一篇常用串口工具的文章 工具的下载链接:https://download.csdn.net/download/m0_59415345/91204823?spm1001.2014.3001.5503 各工具的使用操作说明参考嵌入式hxydj博主的文章:https://blog.csdn.net/qq_20222919/article/details/117038284

AVL树的简洁写法

文章目录 零、写在前面一、AVL 树定义1.1 性质1.2 树高的证明 二、AVL树实现(AVL树实现名次树)2.1 节点定义2.2 左/右旋转2.3 zig-zag / zag-zig 双旋2.4 重平衡函数2.5 插入2.6 删除2.7 排名查询2.8 查前驱/后继2.9 查第 k 小2.10 完整代码 三、online …

红外图像增强(dde):基于“基础层-细节层”分解的增强算法

1、引言 与可见光图像相比,红外热成像捕捉的是物体表面的温度分布,其原始数据(通常为12位或14位)包含了极宽的温度动态范围。然而,人眼能够感知的灰度范围以及显示设备能够展示的灰度级(通常为8位&#xf…

Java-day28-其他流

1. 缓冲流 昨天学习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流。比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流等等。这些功能更为强大的流,都是在基本的流对象基础…

S712001 开放式用户通信

开放式用户通信分类 TIA PORTAL 软件内提供了以下指令: 不带连接管理的通信指令 “TCON ” :建立以太网连接“TDISCON” :断开以太网连接“TSEND” :TCP 和 ISO ON TCP 使用的发送数据“TRCV”: TCP 和 ISO ON TCP 使…

CSMatIO库的安装与C#实现.mat文件生成

一.CSMatIO介绍 CSMatIO 是一个用于读写 MATLAB .mat 文件的开源 C# 库,它提供了简单而高效的 API,使 .NET 应用程序能够与 MATLAB 进行数据交换,支持读取和写入 MATLAB 的 .mat 文件(版本 5 和 7.3),兼容…

设计一个interface (一)

好的,我来举一个具体的例子,帮助你理解 interface、element、resource 和 architecture 之间的关系。 场景:设计一个用户管理系统的接口 背景 假设我们正在设计一个用户管理系统,系统中有两个主要的模块: 用户服务模…

tomcat下载安装

目录 一.tomact简介 二.详细步骤 三.下载页面详解(选看) 一.tomact简介 Tomcat是Apache软件基金会下的一个核心项目,它是一个开源的Java Servlet和JSP容器。由Apache、Sun等公司及个人共同开发,由于Sun的参与,最新的…

Axure版AntDesign 元件库-免费版

AntDesign 元件库概述 一、AntDesign 元件库概述 添加图片注释,不超过 140 字(可选) AntDesign 是蚂蚁集团推出的企业级设计体系,在 Axure 中使用 AntDesign 元件库,可帮助设计师快速搭建符合现代企业级产品标准的高…