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

MCP authflow check

MCP Server

用于本地测试MCP OAuth流程的CLI工具,支持端点探测、客户端动态注册、浏览器登录、令牌解码及MCP端点调用。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonHTTP传输OAuth认证

安装说明

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

作者 / 组织

jspv

提供方

jspv

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

uv run python mcp_oauth_test_client.py https://your-gateway.example.com/mcp [flags]

详细介绍

MCP认证流程检查

用于在本地测试MCP OAuth流程的实用工具。此命令行界面(CLI)可帮助您:

  • 探测MCP端点并发现OAuth/OpenID配置
  • 动态注册一个公有客户端(使用PKCE + 本地回环重定向)
  • 通过浏览器登录以获取令牌
  • 解码令牌以进行检查
  • 按照规范使用正确的HTTP传输协议调用MCP终端

工件(客户端注册信息、令牌和上下文)被保存在 ./mcp_oauth_artifacts.json 以便重复使用。

要求

  • Python 3.9及以上版本
  • 紫外线 推荐用于依赖管理和运行

安装

  • 同步项目和开发依赖项(ruff、mypy):
uv sync --extra dev
  • 可选:启用 uvloop(适用于类 UNIX 系统)。如果存在,脚本将使用它:
uv pip install .[uvloop]

使用方法

运行OAuth流程并测试MCP端点:

uv run python mcp_oauth_test_client.py https://your-gateway.example.com/mcp [flags]

旗帜:

  • --force-reregister 重新注册客户端并忽略缓存的注册信息
  • --no-browser 不要自动打开授权URL
  • --listen-host 本地重定向监听器的主机(默认:127.0.0.1)
  • --listen-port 监听器的端口(默认:0 = 自动分配)
  • --transport {auto|http|sse} 如何在认证后调用MCP端点(默认: auto)

- auto首先发送POST请求(Streamable HTTP);若遇到404/405错误,则回退到传统的GET请求(SSE) - http强制使用POST JSON-RPC(可流式传输的HTTP) - sse使用服务器发送事件(旧版HTTP+SSE)强制执行GET请求

典型运行:

  1. 该工具会探测MCP URL以发现OAuth元数据(以及可用的受保护资源提示)。
  2. 它动态注册一个带有PKCE(Proof Key for Code Exchange)和回环重定向功能的原生公开客户端。
  3. 它会打开您的浏览器以进行登录,并捕获授权码。
  4. 它将代码兑换成令牌,对令牌进行解码以便查看,并将它们存储在 mcp_oauth_artifacts.json
  5. 它使用正确的HTTP方法调用MCP端点。

传输选择(根据MCP规范)

  • 可流式传输的HTTP(当前规范):服务器暴露一个支持POST和GET方法的MCP端点。

- 客户端发送一个包含以下内容的POST JSON-RPC请求: - Accept: application/json, text/event-stream - 服务器的 Content-Type 决定模式: - application/json → 一次性 JSON 响应 - text/event-stream 通过该POST响应使用SSE进行流式传输

  • 传统HTTP+SSE(向后兼容):较旧的服务器使用POST方法进行客户端到服务器的通信,并使用单独的GET SSE流进行服务器到客户端的通信。

- 客户端应首先尝试使用POST方法;如果返回404/405状态码,客户端则应使用GET方法打开(请求) Accept: text/event-stream.

这个命令行接口(CLI)实现了这一逻辑:

  • --transport auto (默认情况下),它总是首先使用 POST 方法 Accept: application/json, text/event-stream然后仅在遇到404/405错误时回退到使用GET方法。
  • 你可以强制 --transport http (POST) 或 --transport sse (GET)如需获取。

输出

  • mcp_oauth_artifacts.json 包含缓存的客户端注册信息、令牌以及上次运行的上下文。
  • 该工具打印出经过删节的内容 curl 你可以用它来重放请求。

发展

  • 格式化和代码检查:
uv run ruff format .
uv run ruff check . --fix
  • 类型检查:
uv run mypy mcp_oauth_test_client.py

故障排除

  • “GET 方法 405 不允许:请使用 POST(可流式传输的 HTTP)。该工具会自动执行此操作” auto 模式。
  • 401/403 未授权:请检查令牌的受众/范围,并确保存在“Authorization”头部。
  • httpx 未在编辑器中解决:请确保您的编辑器使用由 uv(Python虚拟环境管理工具)创建的虚拟环境 uv sync

备注

  • 调试时会打印出令牌和一些头部信息——请谨慎对待您的终端历史记录。
  • uvloop 可能提升在 macOS/Linux 上的性能;此功能为可选,安装后会自动使用。

目录标签

目录标签

PythonHTTP传输OAuth认证OAuth测试本地部署MCP工具令牌管理

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP