【MCP开发部署流程表格分析】MCP架构解析、开发流程、部署方案、安全性分析

文章目录


前言

若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的动力!有问题请私信或联系邮箱:funian.gm@gmail.com

一、MCP核心概念总结

核心概念 定义 核心作用
Resources(资源) 服务端提供的文本、文件、数据库记录等数据 为AI提供最新外部知识,丰富上下文
Prompts(提示词) 服务端定义的可复用提示词模板和工作流 标准化AI交互模式,简化用户操作(如斜杠命令)
Tools(工具) 服务端提供的可调用函数 扩展AI能力(计算、查询、外部系统交互),是核心特性
Sampling(采样) 服务端通过客户端向大模型发送生成请求(反向请求) 实现复杂智能代理行为,保障用户控制和数据隐私
Roots(根目录) 定义服务器可访问的文件系统位置 限制访问范围,提供安全边界,防止恶意文件访问
Transports(传输) 定义客户端与服务器的通信方式(Stdio本地通信、SSE网络实时通信) 确保不同环境下的可靠信息交换

二、MCP作用与意义

核心价值 具体说明
增强AI能力 接入外部服务实现网页搜索、数据库查询、API调用等功能
标准化规范 类似HTTP协议,降低开发者理解成本,避免重复开发
构建生态体系 类比NPM、Maven仓库,形成服务市场,促进资源共享(如MCP.so、阿里云百炼)

三、MCP架构核心组件

组件 核心职责 支持特性
客户端(Client) 与服务端建立连接、协议版本匹配、数据传输、工具/资源管理 根管理、采样控制、同步/异步操作;支持Stdio(本地)、SSE(远程)传输
服务端(Server) 提供工具/资源、处理客户端请求、日志记录、多客户端连接支持 多传输方式(Stdio、Servlet/WebFlux/WebMVC SSE),与客户端完全解耦

四、MCP三种使用方式对比

使用方式 操作场景 关键步骤 优缺点
云平台使用 快速集成现成服务(如阿里云百炼) 登录平台→开通目标服务(如高德地图)→添加至智能体→测试验证 优点:操作简便;缺点:局限性大,难直接用于自定义代码
软件客户端使用 本地AI工具调用(如Cursor) 市场获取服务→安装依赖→申请API Key→配置客户端→测试 优点:灵活度高;缺点:需本地部署服务,配置成本高
Spring AI程序使用 自定义Java项目集成 引入依赖→配置mcp-servers.json→编写客户端配置→开发测试代码→单元测试 优点:可定制化强,适配Spring生态;缺点:需具备后端开发能力

五、Spring AI MCP开发流程

5.1 服务端开发

步骤 核心操作 关键代码/依赖
1. 依赖引入 选择对应SDK(WebMVC推荐) spring-ai-mcp-server-webmvc-spring-boot-starter
2. 配置文件 配置服务名称、版本、传输方式(Stdio/SSE) 多环境配置(stdio/webmvc),指定端口
3. 服务开发 用@Tool注解标记工具方法,注册ToolCallbackProvider Bean 实现图片搜索等具体功能,解析第三方API响应
4. 测试打包 单元测试验证功能,Maven打包为Jar包 测试工具方法可用性,生成可部署包

5.2 客户端开发

步骤 核心操作 关键配置/代码
1. 依赖引入 引入客户端Starter依赖 spring-ai-mcp-client-spring-boot-starter
2. 配置方式 选择Stdio(本地Jar包)或SSE(远程服务地址) 配置服务路径、参数、API Key
3. 测试验证 注入ToolCallbackProvider,通过ChatClient调用工具 编写测试用例,验证服务调用结果

六、MCP部署方案对比

部署方式 适用场景 优缺点
本地部署 Stdio传输、小型项目 优点:配置简单;缺点:服务多了管理繁琐
远程部署 SSE传输、企业级应用 优点:可共享访问;缺点:需运维服务器
Serverless部署 轻量服务、降本需求 优点:免服务器管理、弹性扩容、按使用付费;缺点:受平台限制
第三方平台提交 提升技术影响力、开源共享 优点:获取流量和曝光;缺点:需符合平台规范,存在安全审核风险

七、MCP安全性分析

类别 核心内容
安全现状 协议安全性较弱,存在隐私泄露、权限泄露、恶意脚本执行等风险
问题成因 1. 信息不对称(用户无法知晓服务源码);2. 上下文隔离不足(类似SQL注入);3. 大模型缺乏恶意指令识别;4. 缺乏版本控制和更新通知
改进期望 1. 优化工具定义,区分功能描述与执行指令;2. 完善权限控制和用户授权;3. 建立恶意指令检测机制;4. 规范服务市场审计流程
相关推荐
gorgeous(๑>؂<๑)18 小时前
【ICLR26匿名投稿】OneTrackerV2:统一多模态目标跟踪的“通才”模型
人工智能·机器学习·计算机视觉·目标跟踪
坠星不坠18 小时前
pycharm如何导入ai大语言模型的api-key
人工智能·语言模型·自然语言处理
周杰伦_Jay18 小时前
【智能体(Agent)技术深度解析】从架构到实现细节,核心是实现“感知环境→处理信息→决策行动→影响环境”的闭环
人工智能·机器学习·微服务·架构·golang·数据挖掘
王哈哈^_^18 小时前
【完整源码+数据集】课堂行为数据集,yolo课堂行为检测数据集 2090 张,学生课堂行为识别数据集,目标检测课堂行为识别系统实战教程
人工智能·算法·yolo·目标检测·计算机视觉·视觉检测·毕业设计
Elastic 中国社区官方博客19 小时前
Observability:适用于 PHP 的 OpenTelemetry:EDOT PHP 加入 OpenTelemetry 项目
大数据·开发语言·人工智能·elasticsearch·搜索引擎·全文检索·php
hweiyu0019 小时前
Docker(K8S)容器架构教程(视频教程)
docker·架构·kubernetes
ytttr87319 小时前
Landweber迭代算法用于一维、二维图像重建
人工智能·算法·机器学习
feifeigo12319 小时前
Matlab编写压缩感知重建算法集
人工智能·算法·matlab
hongjianMa20 小时前
【论文阅读】Hypercomplex Prompt-aware Multimodal Recommendation
论文阅读·python·深度学习·机器学习·prompt·推荐系统
紫小米20 小时前
提示词(Prompt)工程与推理优化
人工智能·ai·prompt·ai agent