【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. 规范服务市场审计流程
相关推荐
风象南3 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶4 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶4 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
哥布林学者5 小时前
高光谱成像(一)高光谱图像
机器学习·高光谱成像
罗西的思考6 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab7 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab7 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸9 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云9 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny8659 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github