Token导航 LogoToken导航TokenDH.com
MCP Oauth Compliance logo
安全风控stdio官方级别未说明来源级核验

MCP Oauth Compliance

MCP Server

github

基于Web的工具,用于测试MCP服务器OAuth合规性,支持RFC 9728、RFC 8414、RFC 7591、RFC 9068、RFC 7519、RFC 7515、OAuth 2.1和MCP 2025-11-25规范。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
TypeScriptClaude安全Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

gazzadownunder

提供方

gazzadownunder

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx github:gazzadownunder/mcp-oauth-compliance

详细介绍

MCP OAuth合规性测试仪

用于测试MCP服务器OAuth是否符合RFC 9728、RFC 8414、RFC 7591、RFC 9068、RFC 7519、RFC 7515、OAuth 2.1和 MCP 2025-11-25规范.

:现在支持2025-11-25之前和 MCP 2025-11-25 协议版本!

GitHub存储库: https://github.com/gazzadownunder/MCP-OAuth-Compliance

快速开始

npm install
npm start

打开 http://localhost:3456 在您的浏览器中。

全局安装(CLI)

全局安装以用作命令行工具:

npm install -g .
mcp-oauth-compliance

或者直接从GitHub安装:

npm install -g github:gazzadownunder/mcp-oauth-compliance
mcp-oauth-compliance

或者直接通过npx运行:

npx github:gazzadownunder/mcp-oauth-compliance

CLI选项

mcp-oauth-compliance [options]

Options:
  -p, --port   Server port (default: 3001, or PORT env var)
  -h, --help           Show help message

示例:

mcp-oauth-compliance --port 3000
mcp-oauth-compliance -p 9000
PORT=4000 mcp-oauth-compliance

协议版本支持

此合规性测试仪支持传统和更新的MCP授权协议:

2025-11-25之前(原始MCP OAuth)

支持标准DCR和OAuth流的原始MCP OAuth规范。

支持的功能:

  • RFC 7591动态客户端注册(DCR)
  • 可选的PKCE(S256或普通方法)
  • 标准OAuth 2.0/2.1授权流程
  • JWT访问令牌验证
  • 通过DCR或预注册进行客户注册

MCP 2025-11-25(增强型安全)🆕

增强了规范,提高了安全性和新功能。

新要求:

  • S256 PKCE(必填):强制S256代码挑战方法,不鼓励
  • 客户端ID元数据文档:HTTPS URL作为客户端标识符,带有托管元数据
  • 资源参数(RFC 8707):授权/令牌请求中的资源指示符
  • 令牌受众验证:严格的JWT aud 索赔核实
  • 升级授权:手柄 insufficient_scope 具有重新授权流程
  • 私钥JWT:增强的客户端身份验证选项

客户注册优先级(MCP 2025-11-25):

  1. 预注册 (优先级1)-使用现有的客户端凭据(如果可用)
  2. 客户端ID元数据文档 (优先级2)-HTTPS URL作为客户端id
  3. 动态客户端注册 (优先级3)-RFC 7591回退

选择协议版本

在web界面中,从下拉列表中选择所需的协议版本:

  1. 2025年前-25:使用原始规范测试服务器
  2. MCP 2025-11-25:执行最新规范的测试服务器

测试人员会根据您的选择自动调整验证规则和测试覆盖率。

特性

核心功能

  • web界面:带有可折叠测试部分的交互式合规性测试仪表板
  • 双协议支持:根据2025-11-25或MCP 2025-11-25规范进行测试
  • 综合测试:RFC 9728(受保护的资源元数据)、RFC 8414(AS发现)、RFC 7591(DCR)、OAuth 2.1
  • HTTPS验证:根据OAuth要求进行传输安全检查
  • 多种发现方法:标准RFC 8414+OIDC发现
  • 预配置的客户端模式:使用现有OAuth客户端进行测试(绕过DCR)
  • 交互式OAuth流:基于浏览器的PKCE授权
  • 智能端口选择:自动避开服务器的端口并找到可用的回调端口(最多20次尝试)
  • 增强调试模式:完整的HTTP请求/响应捕获,带有可扩展的UI部分,用于故障排除
  • RFC 7592验证:验证 registration_client_uri 具有相对URL自动校正功能的格式
  • 持久UI状态:使用localStorage在测试运行中保存节折叠/展开首选项

配置选项

选项描述协议
协议版本选择2025-11-25之前或MCP 2025-11-25两者都有
跳过DCR测试绕过动态客户端注册测试两者都有
跳过OAuth流跳过令牌获取测试两者都有
交互式身份验证启用基于浏览器的OAuth流两者都有
预配置客户端使用现有的客户端凭据而不是DCR两者都有
回拨端口OAuth回调端口(默认值:3000)。自动查找下一个可用端口两者都有
重定向URI在您的IDP中注册了完整的重定向URI两者都有
资源uriRFC 8707的资源指示符(2025-11-25需要)两者都有
特权工具名称范围挑战测试的工具名称(可选,用于步骤1.5)2025-11-25
客户端ID元数据URL客户端ID元数据文档的HTTPS URL2025-11-25
客户端ID/密码预配置的客户端凭据两者都有
范围OAuth请求范围两者都有
启用调试捕获并显示所有服务器交互的HTTP请求/响应数据两者都有

测试类别

2025-11-25前协议

1.受保护资源元数据(RFC 9728)

  • HTTPS传输验证
  • 众所周知的端点发现
  • WWW身份验证标头解析
  • 授权服务器引用验证

2.授权服务器发现(RFC 8414)

  • HTTPS传输验证
  • 标准和OIDC发现
  • 必需的端点验证
  • PKCE支持检测

3.客户注册

  • 预注册:验证现有客户端凭据
  • 动态客户端注册(RFC 7591/7592):客户注册各种补助类型

- 响应验证(HTTP 201、client_id等) - 客户端管理URI验证(RFC 7592) - 自动更正返回相对URL的服务器

4.OAuth 2.1流程

  • PKCE要求(S256或普通)
  • 授权码流
  • 令牌交换验证

5.JWT访问令牌验证(RFC 9068)

  • 令牌结构和编码
  • 所需索赔(iss、sub、exp、iat)
  • 根据AS元数据验证发卡机构
  • JWKS端点和密钥验证

6.受保护的资源访问

  • 承载令牌身份验证
  • 访问令牌验证

MCP 2025-11-25协议(附加测试)🆕

7.PKCE S256的执行

  • S256方法是必需的(非可选)
  • 简单方法不鼓励警告
  • 代码挑战验证

8.资源参数(RFC 8707)

  • 授权请求中的资源参数
  • 令牌请求中的资源参数
  • 令牌响应中的资源验证
  • JWT资源声明验证

9.令牌受众验证

  • JWT aud 索赔存在
  • 受众与资源参数匹配
  • 多受众支持
  • 防止令牌传递攻击

10.加强授权

  • 范围错误检测不足
  • 从错误响应中解析所需的作用域
  • 范围扩大的重新授权
  • 重试限制执行
  • 范围挑战测试(可选):使用特权工具测试完整流程

11.私钥JWT认证

  • JWKS配置验证
  • JWT断言创建
  • 令牌端点身份验证
  • 签名验证

文档

发展

npm run build        # Compile TypeScript
npm test             # Run unit tests
npm run lint         # Check code style
npm run type-check   # Type validation

TLS版本支持

合规性测试仪支持用于安全HTTPS连接的现代TLS协议:

  • TLS 1.3 ✅ (首选-最新和最安全)
  • TLS 1.2 ✅ (支持的最低版本)
  • TLS 1.1及以下版本 ❌ (出于安全原因不支持)

由Node.js v22.14.0和OpenSSL 3.0.15+quic提供支持。

证书处理

默认情况下,合规性测试仪允许自签名证书 以促进测试和开发。证书警告会自动跟踪并显示在测试结果中,同时提供补救建议。

跟踪的证书警告:

  • ⚠️ 自签名证书
  • ⚠️ 过期证书
  • ⚠️ 尚未生效的证书
  • ⚠️ 主机名不匹配
  • ⚠️ 不受信任的CA链

所有警告包括:

  • 证书详细信息(颁发者、主体、有效期)
  • 对问题的清晰描述
  • 建议采取的解决行动

环境变量

  • DEBUG_CERTS:为HTTPS请求启用详细的证书验证调试

- 吃起来 true1 启用 - 显示证书详细信息(主题、颁发者、有效日期、指纹、TLS版本) - 显示常见证书问题的详细错误消息 - 为证书问题提供补救建议 - 例子: DEBUG_CERTS=true npm start

  • NODE_TLS_REJECT_UNAUTHORIZED:强制执行严格的TLS证书验证

- 违约: 0 (允许带有警告的自签名证书) - 吃起来 1 强制执行严格的证书验证(将拒绝自签名证书) - 例子: NODE_TLS_REJECT_UNAUTHORIZED=1 npm start

项目结构

目录标签

目录标签

TypeScriptClaude安全OAuth测试本地部署安全合规MCP协议RFC标准Web工具

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

github

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP