MCP(Model Context Protocol)协议全解析(一)MCP 是什么?从 API、LSP 到 MCP

本文系统性地介绍了MCP(Model Context Protocol)协议的设计理念、核心架构及技术实现,旨在通过标准化AI大模型与外部系统的交互方式,解决大模型工具调用和实时信息获取的行业痛点。

一、MCP 是什么?

TL;DR

MCP协议的背后动机:现如今模型的能力很大程度上取决于使用者所提供的上下文,而过往大家在使用模型的时候,不管是通过 APP 还是通过 Chatbox 的形式来使用,需要频繁的复制/粘贴(果然键盘只需要ctrl c v三个按键就足够了~),基于此 MCP 协议应运而生~

MCP 解决了使用大模型的痛点:大模型只知道训练时学到的静态知识,无法获取动态的实时信息或执行具体的操作。

换句话说,AI 大模型是一位学识渊博但是光说不做的博士,他不会上网,不会使用工具,只能根据已有的知识来回答问题。

而MCP协议做的事情就是:告诉AI大模型有哪些工具(tools)和资源(resources)可以使用,以怎么样的工作流/提示(prompts)来使用,以通用统一协议的方式将AI大模型和外界进行连接(这也就是将其比喻为大模型USB通用接口的由来)。

在这里插入图片描述

二、从 API、LSP 到 MCP

在这里插入图片描述

要理解一个新的协议,可以思考它之前的协议和系统是如何工作的。

API(Application Program Interface,应用程序接口)

在远古的时代,工程师们为了**标准化Web应用程序在前端和后端之间的交互方式,**于是定义了一种前后端交互的协议,也就是API协议,即应用程序编程接口。API 可以将来自后端的请求转换为前端可以使用的数据,反过来也可以将前端的数据传输给后端。

API使得前端可以访问服务器、数据库和服务等内容。

LSP(Language Server Protocol,语言服务器协议)

直到2016年,LSP协议出现了,**它标准化了IDE和开发工具之间使用的协议,**提供了例如自动完成、转到定义、查找引用和查找实现这些IDE功能的统一通讯协议。

在LSP协议出现之前,各家IDE提供给用户的代码编辑功能(编辑文件、查找引用、工作区操作等),还有IDE的响应(自动补全、代码诊断等)这些功能的API都各不相同,乱的一批。

于是微软将上述这些IDE的功能都抽象为一系列的 行为事件, 也就是LSP协议,使得兼容LSP的IDE去连接,并找出与编程语言的不同功能进行交互的方式。

比如在写一个GO微服务时,任何兼容LSP的IDE都可以连接到在GO编码时所有有关于GO的内容,这样IDE不再需要关心如何实现代码诊断,只需要关注如何在IDE界面上发起或响应 LSP 规定的行为事件即可。

MCP(Model Context Protocol,模型上下文协议)

而到了2024年11月底,Anthropic 推出了一种开放标准,即 MCP 协议,它标准化了 AI 应用程序与外部系统的交互方式,它通过三种主要方式和作为协议一部分的三个接口来实现, 这三个接口分别是 prompt(提示)、tools(工具)和 resources(资源)。

三、MCP之前:各自为战的 AI 发展

在这里插入图片描述

在没有 MCP 协议之前,各家的 AI 产品在构建 AI 系统这一事情上并没有一个共识。每个团队会创建一个 AI 应用,他们通过自定义的方式连接到他们的上下文,这个自定义方式使用了他们自己的的提示逻辑,并使用不同的方式来引入工具和资源,然后以不同的方式协同访问这些工具和数据。如果一家公司内有多个团队,每个团队有自己的一套自定义的方式,那么可以想象整个行业也是这么做的,这就存在成百上千个自定义协议

这就好比过去充电协议未统一时(虽然现在也还没有统一),管理各式各样的充电设备、充电协议、充电标准真的是很头疼的一件事。

四、MCP之后:标准化的 AI 发展

在这里插入图片描述

而现在有了MCP,模型可以和数据、文件系统、开发工具、Web 和浏览器自动化、生产力和通信、各种社区生态能力集成,实现协作工作能力。 而最大的优点在于:MCP 是开放标准,有利于服务商开发 API,避免重复造轮子,各家有了一个共识来使用一套标准来构建各自的产品,而后也为这些产品之间的联动打下了基础(这也是谷歌推出A2A协议想做的事)。


如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

<think>好的,我现在需要回答用户关于MCP协议相关的开源工具和库的问题。首先,我应该回顾用户提供的引用内容,确保信息准确。根据引用[1],MCP协议社区已经提供了些开源项目,帮助开发者快速集成。引用[3]提到MCP的设计灵感来自LSP,这可能意味着其工具生态类似LSP的架构。 接下来,我需要整理现有的开源工具。可能包括官方提供的SDK、示例仓库、客户端/服务器实现以及社区贡献的工具。需要分点列出,确保结构清晰。同时,要符合用户的要求,使用正确的中文和LaTeX格式,比如独立公式用$$...$$,但这里可能不太涉及数学公式,所以重点放在项目列表上。 然后,用户可能需要进步的问题,所以需要生成相关问题。例如,如何开始使用某个库,或者MCP与其他协议的区别等。要确保问题具有实际意义,帮助用户深入理解。 最后,检查引用是否正确添加,每个引用标识自然出现在相关段落末尾。避免技术术语使用过多,保持语言简洁易懂。确认所有内容符合用户给出的系统级指令,特别是格式和引用部分。现在可以开始组织这些信息,形成结构化的回答。</think>### MCP协议相关开源工具与库 MCP协议的开源生态目前围绕客户端-服务器架构展开,主要包含以下核心组件和工具: 1. **官方SDK与开发套件** Anthropic提供了基于多种编程语言的SDK,例如Python和TypeScript的官方库,封装了MCP协议的通信逻辑。例如Python的`mcp-client`库支持快速构建MCP客户端: ```python from mcp_client import MCPClient client = MCPClient(server_url="http://localhost:8080") response = client.query(context="企业年度报告", tool="data_analyzer") ``` 开发者可通过标准化接口直接调用远程MCP服务器功能[^1]。 2. **示例仓库(Demo Repositories)** 社区维护了多个示例项目,如`mcp-weather-bot`展示如何通过MCP协议连接气象API服务器,实现自然语言查询天气的功能。这类项目通常包含预配置的服务器端和客户端代码,适合快速验证协议集成流程[^2]。 3. **服务器框架(Server Framework)** 开源框架如`mcp-server-core`提供了轻量级服务器的模板,开发者只需实现特定功能接口即可暴露服务。例如: ```typescript import { MCPServer } from 'mcp-server-core'; const server = new MCPServer({ port: 3000 }); server.registerTool('data_analyzer', (context) => analyze(context)); ``` 这种模块化设计显著降低了开发成本[^3]。 4. **调试与测试工具** - **MCP Inspector**:可视化协议通信工具,支持实时监控请求/响应数据流。 - **Mock Server**:模拟MCP服务器的行为,用于客户端单元测试。 5. **社区贡献工具** - **Langchain-MCP-Adapter**:将MCP协议集成到LangChain生态中,扩展其数据源连接能力。 - **MCP-Serverless**:基于无服务器架构部署MCP服务,自动扩展资源。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值