Token导航 LogoToken导航

MCP Server · 安全风控

MCP Server Oauth2

基于Spring Boot和Spring AI的微服务架构,集成OAuth2安全协议,适用于需要安全认证和授权的企业级应用开发。

stdio官方级别未说明来源级核验工具 5
微服务安全认证JavaSpring Boot

快速开始

作者 / 组织
Diags
提供方
Diags
运行时
Docker

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Server Oauth2 属于安全风控类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

安全风控

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

docker run -p 9000:8080 \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

架构微服务MCP+OAuth2

基于Spring Boot 3.4.0和Spring AI 1.0.1的具有OAuth2安全性的MCP(模型上下文协议)的完整微服务架构。

建筑

┌─────────────────┐
│  Keycloak       │  Port 9000
│  (Auth Server)  │
└────────┬────────┘
         │
         │ OAuth2 JWT
         │
    ┌────┴────┐
    │         │
┌───▼───┐ ┌──▼────┐
│ MCP   │ │ MCP   │
│Server │ │Client │  Ports 8080, 8081
└───────┘ └───────┘

组件

  1. 钥匙斗篷 :授权服务器OAuth2(端口9000)
  2. mcp服务器 :受OAuth2资源服务器保护的MCP服务器(端口8080)
  3. mcp客户端 :具有OAuth2客户端和LLM集成的MCP客户端(端口8081)

先决条件

  • Java 21+
  • Maven 3.9+
  • Docker与Docker编写
  • OpenAI API密钥(用于MCP客户端)

配置密钥斗篷

1.启动KeyCloak

docker run -p 9000:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:26.0 start-dev

2.领域配置

  1. 访问http://localhost:9000
  2. Se连接器avec admin/admin
  3. 创建新领域: mcp-realm

3.客户端配置

  1. 在领域 mcp-realm,进去 客户
  2. 创建新客户端:

- 客户端ID : mcp-client - 客户端身份验证 : ON - 有效的重定向URI : http://localhost:8081/* - 网络起源 : http://localhost:8081

  1. 在选项卡中 凭证复印机 客户端密钥 : secret
  2. 在选项卡中 客户端范围,添加:

- mcp:read - mcp:write

4.范围配置

  1. 进去 客户端范围
  2. 创建范围 mcp:read
  3. 创建范围 mcp:write
  4. 将它们添加到客户端 mcp-client

本地启动

选项1:Docker Compose(推荐)

# Définir la clé API OpenAI
export OPENAI_API_KEY=your-api-key-here

# Démarrer tous les services
docker-compose up -d

# Vérifier les logs
docker-compose logs -f

选项2:手动启动

1.启动KeyCloak
docker run -p 9000:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:26.0 start-dev
2.启动MCP服务器
cd mcp-server
mvn spring-boot:run
3.启动MCP客户端
cd mcp-client
export OPENAI_API_KEY=your-api-key-here
mvn spring-boot:run

配置

环境变量

mcp服务器
  • SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI :授权服务器URI(默认值: http://localhost:9000/realms/mcp-realm)
mcp客户端
  • OPENAI_API_KEY :OpenAI API密钥(必需)
  • SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_AUTHSERVER_ISSUER_URI :授权服务器URI
  • SPRING_AI_MCP_CLIENT_STREAMABLE_HTTP_CONNECTIONS_MATH_SERVER_URL :MCP服务器的URL

使用

测试MCP服务器

# Obtenir un token JWT depuis Keycloak
curl -X POST http://localhost:9000/realms/mcp-realm/protocol/openid-connect/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id=mcp-client" \
  -d "client_secret=secret" \
  -d "grant_type=client_credentials" \
  -d "scope=mcp:read mcp:write"

# Utiliser le token pour appeler le serveur MCP
curl -X POST http://localhost:8080/mcp \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

测试员客户端MCP

# Poser une question via l'API
curl "http://localhost:8081/api/ask?question=What%20is%202%20plus%202?"

微服务架构

mcp服务器

终点:

  • POST /mcp MCP主端点(受保护)

可用工具:

  • add :添加两个数字(范围: mcp:read)
  • subtract :两个数字的减法(范围: mcp:read)
  • multiply :两个数字的乘法(范围: mcp:write)
  • divide :两个数字的除法(范围: mcp:write)
  • power :数字的幂(范围: mcp:write)

安全:

  • 具有JWT验证的OAuth2资源服务器
  • 观众验证
  • 工具的精细授权 @PreAuthorize

mcp客户端

终点:

  • GET /api/ask?question=... :使用MCP工具向LLM提问

功能:

  • 使用OAuth2身份验证自动连接到MCP服务器
  • 磁通混合: authorization_code 对于用户请求, client_credentials 对于系统调用
  • LLM(OpenAI)与自动MCP工具的集成

安全

Flux OAuth2混合

MCP客户端使用混合流:

  • 授权码 :对于用户验证的请求
  • 客户端证书 :用于启动时的系统调用

范围验证

MCP工具受作用域保护:

  • mcp:read :读取操作(添加、子字段)
  • mcp:write :写入操作(多重、分割、功率)

审计验证

MCP服务器验证JWT的受众,以确保令牌用于正确的服务。

测试

执行测试

# Tous les tests
mvn test

# Tests du serveur uniquement
cd mcp-server && mvn test

# Tests du client uniquement
cd mcp-client && mvn test

发展

项目结构

mcp-microservices/
├── pom.xml                 # POM parent
├── docker-compose.yml      # Orchestration Docker
├── mcp-server/            # Microservice serveur MCP
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/
│   │   │   └── resources/
│   │   └── test/
│   └── Dockerfile
└── mcp-client/            # Microservice client MCP
    ├── src/
    │   ├── main/
    │   │   ├── java/
    │   │   └── resources/
    │   └── test/
    └── Dockerfile

添加新的MCP工具

在 mcp-server/src/main/java/com/mcp/server/service/MathTools.java :

@McpTool(description = "Your tool description")
@PreAuthorize("hasAuthority('SCOPE_mcp:write')")  // Optionnel
public ReturnType yourMethod(@McpToolParam ParamType param) {
    // Implémentation
}

故障排除

OAuth2连接问题

  1. 检查KeyCloak是否已启动: curl http://localhost:9000/health
  2. 检查KeyCloak中的客户端配置
  3. 检查日志: docker-compose logs mcp-server 或 docker-compose logs mcp-client

令牌问题

  1. 验证令牌是否包含必要的范围
  2. 检查令牌的到期时间
  3. 检查观众验证

MCP连接问题

  1. 检查MCP服务器是否可访问: curl http://localhost:8080/actuator/health
  2. 检查客户端中的URL配置
  3. 验证日志

技术

  • Spring Boot 3.4.0
  • Java 21
  • 春季AI 1.0.1
  • Spring Security OAuth2
  • 钥匙斗篷 26.0
  • OpenAI API (通过Spring AI)
  • 梅文 3.9+
  • 码头工人 &Docker编写

许可证

本项目作为使用OAuth2的MCP架构的示例提供。

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

微服务Java本地部署安全认证OAuth2SpringBoot企业级应用

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

资产与漏洞排查

批量查询资产和漏洞信息,输出待修清单。

日志审计

从日志里筛出异常访问和高风险操作。

合规检查

按规则核对配置项,记录不符合项。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在安全风控场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Server Oauth2

MCP World · 本页

5stdio有1 个2026-05-17
Modelcontextprotocol C22988b0

MCP World

0stdio有1 个2026-05-17
Hexstrike AI

MCP World

0stdio有1 个2026-05-17
Cyber Strike AI

MCP World

75未说明未标注1 个2026-05-17
MCP Scan

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Server Oauth2 怎么安装?

公开资料给出的安装命令是 docker run -p 9000:8080 \,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Server Oauth2 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

MCP Server Oauth2 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Server Oauth2 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Server Oauth2 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP