M

MCP

MCP

协议、客户端、服务端与安全

16 篇 · 约 64 分钟
01

什么是MCP?

MCP,全称是 Model Context Protocol(模型上下文协议)。它是由 Anthropic 开源,旨在解决大模型与外部世界“沟通不畅”的问题。 首先需要理解的是:它不是一个具体的框架或技术,而是一个通用开源标准协议,…

5 min
02

深入理解MCP技术原理(上)

在上一节中,我们已经弄清楚了 MCP 的设计初衷:它要解决智能体中“工具混乱、硬编码、难以复用、扩展代价大”等问题。 而 Function Call 的问题在于:工具被硬编码绑定在智能体内部,每个智能体都得自己背着一整套自定义的工具…

3 min
03

深入理解MCP技术原理(中)

MCP 数据层的标准化 什么是 JSON RPC 协议? 所有工具都必须用统一的格式描述自己——包括工具名、使用说明、参数结构、返回格式等。 这种描述不是随意写的,而是采用严格的 JSON 格式。智能体在连接 MCP Server …

4 min
04

深入理解MCP技术原理(下)

MCP 传输层的标准化 在上一节中,我们理解了 JSON RPC,搞定了 MCP 的数据层标准化。如果把 MCP 比作两个人的沟通,JSON RPC 解决了“大家说什么语言(比如都说中文)”的问题。 那么接下来,我们必须解决“用什么…

6 min
05

如何接入MCP Server?

接下来就让我们进入实操环节,动手为我们的智能体接入 MCP Server,来亲身感受一下 MCP 的魅力所在。 目前主流已经有多款开发者常用的客户端(MCP Host)支持接入 MCP Server,其中最典型的有: Cursor …

6 min
06

实战:使用Spring AI开发MCP Server

Stdio Stdio 模式通过标准输入输出与客户端通信,服务器启动后直接在控制台读写 JSON RPC 消息,适合本地轻量化工具或无需网络的场景,要求控制台输出完全干净,保证客户端能够正确解析消息。

5 min
07

实战:使用Spring AI开发MCP Client

基于之前课程的讲解,我们已经深入了解了 MCP 的原理和概念,以及如何使用 Spring AI 开发 MCP Server,包括 STDIO、SSE 和 Streamable HTTP 三种模式,并使用 VSCode Cline 作…

2 min
08

Spring AI MCP 调用实现原理

通过上一节,我们可以看到 chatclient 调用 mcp server 这个过程非常简洁,是不是很好奇是如何做到的,我们接下来看下源码。 如何注入mcp? 我们先从init方法的getToolCallbacks进入,看下做了什么…

5 min
09

SSE MCP Server如何实现重连?

在 MCP 的早期版本中,还没有出现Streamable http这种方式,主要依赖的就是本地 Stdio,远程 SSE 建立长连接。SSE 是一种典型的单向流式机制,通过一个端点持续监听服务器指令,再通过另一个端点发送消息。在稳定…

4 min
10

将 MCP 改造为 HTTPS

MCP 作为连接大模型与企业数据、业务系统、外部工具的关键协议,其安全性的重要程度不亚于传统 API 接口。虽然在日常开发中,我们为了快速集成,往往会把 MCP Server 部署成简单的 HTTP 服务,尤其在公司内网环境下更是如…

2 min
11

MCP 如何实现认证鉴权

在上一节课,我们解决了安全传输的问题。然而在实际落地中,如何防止 MCP Server 被滥用同样至关重要。 MCP 本质上允许客户端调用各种工具,这些工具可能访问数据库或内部系统 API。一旦缺乏认证和访问控制,非授权客户端就可能…

3 min
12

神奇的 context-path

相信大家肯定都在 Spring Boot 项目中配置过 server.servlet.context path,这在微服务或多模块 Web 应用中非常常见,用于给每个服务分配独立的路由前缀。 然而,对于 MCP 的 SSE 机制来说…

4 min
13

MCP 调试工具

MCP Inspector 是 MCP官方推出的一款可视化调测与调试工具,旨在帮助开发者快速验证 MCP 服务器的实现是否符合规范,并便捷地查看工具(tools)、资源(resources)、事件(events)等内容。它以一个独立…

2 min
14

如何跳过 MCP 的模型总结

在 ✅Spring AI MCP 调用实现原理这一章节中,我们已经深入了解了 MCP 的内部工作流程,在大模型决策选择工具,框架调用工具结束后,会将工具执行结果再次丢给大模型做迭代总结。这个机制的好处是:模型不仅能决定调用哪个工具、…

6 min
15

如何实现 MCP 工具过滤

为什么要做工具过滤? 在企业级的复杂场景中,MCP Server 往往会包含大量工具,如果不加区分地将所有工具直接交给大模型使用,会带来明显的性能与准确性问题。因此,在 MCP Client 侧引入工具过滤机制是非常有必要的操作。 …

4 min
16

MCP与其他协议的区别

在前面的课程中,我们已经对 MCP 模型上下文协议的核心机制进行详尽阐述,也明白了它在大模型工具调用时的关键作用。本章节主要介绍一下MCP和其他协议的关系和区别。 MCP与远程过程调用(RPC) 远程过程调用(RPC)是软件架构中历…

3 min