MCP

type
Post
status
Published
date
Mar 26, 2026
slug
mcp
summary
tags
category
LLM
icon
password
Place

What is MCP

MCP (Model Context Protocol,模型上下文协议),定义了模型和(工具/程序/Tool)交换上下文信息的方式。本质就是Tool外置

和传统的 Tool 有什么区别

创建一个通用标准,统一AI 应用程序的开发和集成

image.png
image.png

减少 Tool 开发成本

大模型本身只能接收和返回文本信息,但现实世界中的任务往往需要处理非文本的操作(如读取本地文件、查询数据库、调用 API 等)。如果自己开发 Tool,就要在 AI 应用内部自己写这些非文本操作的处理代码。
而有了 MCP,这些底层实现都由 MCP Server 负责,开发者只需要专注于 Function Calling 层面——让模型准确理解工具描述、正确生成调用参数。

Function Calling

虽然有了 MCP,但 Function Calling 包含 Tool 和 MCP 的核心理念还是不变,甚至可以说Function Calling 依然至关重要。
MCP 解决的是工程上的“连接”问题(水管怎么接、标准是什么),但它并没有解决认知层面的问题。
MCP 和 Tool 在本质上的运作方式是一样的:无论是传统的 Tool 还是基于 MCP 的工具,完整的执行流转依然需要依赖模型自身的决策能力,大模型(依靠自身的 Function Calling 能力)进行推理,判断当前用户的意图是否需要调用工具,以及应该调用哪个工具。

MCP3层架构

Host(Client)-MCP(Server)-Tool

Spring AI 集成 MCP 实战

1. pom.xml — 添加 MCP Client 依赖

pom.xml<dependencies> 中新增:
版本由已有的 spring-ai-bom:1.1.3 管理,无需手动指定。

2. application.yaml — 配置远程 MCP Server 连接

application.yaml 中添加 MCP 客户端的 Streamable HTTP 配置:
  • url — 远程服务的基础地址
  • endpoint — MCP 端点路径

3. ChatClientConfig.java — 注册 MCP 工具到 ChatClient

ChatClientConfig.java 中注入 ToolCallbackProvider(Spring AI MCP Starter 自动创建),并注册到 ChatClient:
只需两处变化:参数加 ToolCallbackProvider mcpTools,builder 链加 .defaultToolCallbacks(mcpTools)

4. system-prompt.md — 补充工具使用说明

在系统提示词的任务说明部分补充:
上一篇
Agent Skills
下一篇
Technical Interview Assessment
Loading...