mcp-security:为 Spring AI 的 MCP 服务端、客户端与授权服务器提供 OAuth 2.0 安全授权支持
spring-ai-community/mcp-security · Spring Security Configuration for MCP
ELI5:它是什么,解决什么问题
该项目是 Spring AI 社区维护的 MCP(Model Context Protocol)安全组件,为 MCP 服务端、MCP 客户端和 Spring Authorization Server 提供授权支持。它支持用 OAuth 2.0 保护 MCP 服务器、配置 MCP 客户端的 OAuth 2.0 授权流程、搭建面向 MCP 工作流的授权服务器,并实现对 MCP 工具与资源的细粒度访问控制;同时提供 API-key 认证和 Origin 校验(防 DNS 重绑定)。
核心能力与快速开始
★ 115 · Java
- 能做什么
- 为 Spring AI 的 MCP 集成提供授权与安全能力:1)MCP 服务端安全:提供 OAuth 2.0 资源服务器能力(兼容 Spring WebMVC 服务端),也提供 API-key 认证的基本支持;可通过 mcp-server-security-spring-boot 自动配置模块(设置 issuer URI 即可)或底层 mcp-server-security 模块手动装配。支持用 @PreAuthorize 等 Spring 方法安全注解只保护工具的调用(例如 initialize 与 tools/list 公开、tools/call 需认证),可在工具方法内通过 SecurityContextHolder 获取当前认证信息。2)支持将 MCP 会话绑定到用户身份,使某个用户创建的会话只能由该用户访问。3)Origin 校验:应对 DNS 重绑定攻击,校验传入请求的 Origin 头(同时支持 Spring WebMVC 与 Spring WebFlux),并可选用 Host 头校验;在 Boot 自动配置下默认开启且默认仅允许本地来源。4)可选用 RFC 8707 资源指示器校验 JWT 的 aud 声明。仓库还包含 MCP 客户端安全、授权服务器以及集成(Cursor、Claude Desktop 等)相关章节。
- 适用场景
- 在使用 Spring AI 构建 MCP 服务器时,为其接入 OAuth 2.0 或 API-key 认证;需要按工具粒度限制访问权限(如只对 tools/call 要求 bearer token)的 MCP 服务;需要将 MCP 会话与用户身份绑定、防止会话被他人复用的场景;本地运行的 MCP 服务器需要防范 DNS 重绑定攻击、限制可访问来源与主机的场景;搭建面向 MCP 工作流的授权服务器,或配置 MCP 客户端的 OAuth 2.0 授权流程;在 Cursor、Claude Desktop 等 MCP 集成中启用安全配置。
- 项目形态
- 开发框架
- 部署方式
- 未说明
- 主要依赖
- Java 17+;使用 Spring AI 集成;OAuth2 与 API-key 认证仅兼容基于 Spring WebMVC 的服务端,Origin 校验额外支持 Spring WebFlux。版本兼容性:mcp-security 0.1.x 仅适用于 Spring AI 的 2.0.x 分支,Spring AI 1.1.x 需使用 0.0.6 版本。
- 使用限制
- README 提到 InMemoryApiKeyEntityRepository 使用 bcrypt 存储 API key,计算开销较大,不适合高流量生产环境,此类场景需自行实现 ApiKeyEntityRepository。除此之外的部署限制、API 成本等未说明。
- 许可证
- Apache-2.0
- 最近推送
- 2026-09-20 17:41
资料检查:2026-09-27 07:00 · 卡片整理:2026-09-27 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容
职业应用
程序员
为基于 Spring AI 的 MCP 服务端、客户端和授权服务器提供 OAuth 2.0 安全授权支持,包括用 OAuth 2.0 保护 MCP 服务器、配置 MCP 客户端的 OAuth 2.0 授权流程、搭建面向 MCP 工作流的授权服务器,并实现对 MCP 工具与资源的细粒度访问控制;同时提供 API-key 认证和 Origin 校验(防 DNS 重绑定)。
查看内容依据
该项目是 Spring AI 社区维护的 MCP(Model Context Protocol)安全组件,为 MCP 服务端、MCP 客户端和 Spring Authorization Server 提供授权支持。它支持用 OAuth 2.0 保护 MCP 服务器、配置 MCP 客户端的 OAuth 2.0 授权流程、搭建面向 MCP 工作流的授权服务器,并实现对 MCP 工具与资源的细粒度访问控制;同时提供 API-key 认证和 Origin 校验(防 DNS 重绑定)。
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。