SuperAPI AI 工具集

authmcp-gateway

AuthMCP Gateway 是面向 Model Context Protocol(MCP)服务器的安全认证代理,提供 OAuth 2.0 与 JWT 认证、动态客户端注册(DCR)、基于角色的访问控制、速率限制、多后端服务器聚合,以及实时监控与管理后台。它支持透明代理多个后端 MCP 服务器的工具、资源、提示词和补全能力,并通过单一认证端点对外提供服务。支持 PyPI 安装与 Docker 部署,采用 MIT 许可。

访问官网

工具介绍

AuthMCP Gateway 是一个面向 MCP(Model Context Protocol)服务器的安全认证代理,提供集中式认证、授权与监控能力。它能透明代理多个后端 MCP 服务器的全部 MCP 能力——工具(tools)、资源(resources)、提示词(prompts)和补全(completions),并通过单一认证端点对外提供服务。

主要能力

  • 完整 MCP 协议代理(v1.2.0):支持 tools/list、tools/call(智能路由:前缀、映射、自动发现),resources/list、resources/read、resources/templates/list,prompts/list、prompts/get,completion/complete(基于 ref 的路由)。初始化时动态查询后端能力,仅通告其支持的能力。多服务器聚合:列表方法合并所有后端结果,读取/获取/调用路由到正确的后端。协议版本为 MCP 2025-03-26。
  • 认证与授权:OAuth 2.0 + JWT,支持 OAuth 2.0 授权码流程及动态客户端注册(DCR),使 Codex 等 MCP 客户端可自行注册并认证;多用户与基于角色的访问;后端令牌的安全存储与自动刷新;按用户速率限制;CORS 保护与请求验证;安全事件日志记录。
  • 实时监控:实时 MCP 活动监控与自动刷新;性能指标(响应时间、成功率、每分钟请求数);安全事件日志(未授权访问、速率限制、可疑活动);自动健康检查后端服务器;基于文件的 JSON 日志(认证与 MCP 请求,带轮转),安全事件保存在 SQLite 中供审计与查询。
  • 管理后台:用户管理(创建、编辑)、MCP 服务器配置、令牌管理与手动刷新、安全事件查看与过滤、MCP 漏洞扫描。仪表盘提供实时统计、服务器健康监控、热门工具使用情况与最近活动。

使用方式 安装部署: Option 1:PyPI 包(推荐)。安装后打开 http://localhost:8000/ 进入设置向导创建管理员用户;可通过命令自定义配置。 Option 2:Docker Compose。克隆仓库并配置:git clone https://github.com/loglux/authmcp-gateway.git && cd authmcp-gateway && cp .env.example .env,编辑 .env,然后 docker-compose up -d 启动。 访问管理面板:http://localhost:9105/,完成设置向导创建管理员用户,添加 MCP 服务器。

添加 MCP 服务器:在管理面板中导航到 MCP Servers → Add Server,输入名称(如 "GitHub MCP")、URL(如 http://github-mcp:8000/mcp)及后端令牌(如需要)。

调用示例: 登录获取访问令牌: curl -X POST http://localhost:9105/auth/login -H "Content-Type: application/json" -d '{"username":"your-username","password":"your-password"}'

使用令牌访问 MCP 端点: curl -X POST http://localhost:9105/mcp -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

API 端点 公开端点:POST /auth/login、POST /auth/register(若启用)、POST /auth/refresh、POST /oauth/register(若启用)、GET /.well-known/oauth-authorization-server。 受保护端点:POST /mcp(聚合所有服务器)、POST /mcp/{server_name}(指定服务器)、GET /mcp(流式 SSE/stream 客户端)、GET /auth/me、POST /auth/logout。

工具注解与安全重试 对于 tools/call,网关优先使用标准 MCP 工具注解来判断工具是否只读或可安全重试:annotations.readOnlyHint、annotations.idempotentHint、annotations.destructiveHint。只读工具可使用安全自动重试;变更工具不会盲目重试;若变更工具标记为幂等,网关会保留或生成 arguments.idempotency_key 并在重试时复用;若元数据缺失或不明确,则回退到保守行为,禁用 tools/call 的自动重试。

Codex OAuth (DCR) 登录(手动回调) Codex 使用 OAuth 授权码 + PKCE 和 DCR。在没有自动启动浏览器的终端中运行时,需手动打开授权 URL,然后自行调用 localhost 回调 URL 完成登录。在 Codex 中添加 MCP 服务器后,Codex 会打印 Authorize URL,在浏览器中打开并完成登录,成功后会重定向到 http://127.0.0.1:<port>/callback?... URL,复制完整 URL 并在另一个终端中调用,看到 “Authentication complete” 后 Codex 将显示 MCP 服务器已登录。

无头服务器令牌存储:在无桌面环境的服务器上,Codex 无法访问 OS keyring 存储 OAuth 令牌,导致登录成功后仍出现 "Auth required" 错误。需切换到基于文件的令牌存储(参考 Codex 配置参考),否则 Codex 无法刷新令牌,需反复手动登录。更新配置后重启 Codex。

发现兼容性:部分 MCP 客户端在令牌交换成功后使用非标准路径探测 OpenID 发现。除标准 /.well-known/openid-configuration 外,网关还在 /oauth/token/.well-known/openid-configuration 提供相同发现文档作为兼容别名。

Codex 多机注意:若 Codex 在多台机器运行,每台机器存储本地令牌。启用 Enforce Single Session(每用户一个活动令牌)时,一台机器登录可能使另一台机器令牌失效。多机场景建议在管理设置中禁用 Enforce Single Session。

安全特性 JWT 认证与刷新令牌、按用户速率限制、安全事件日志、MCP 请求跟踪与可疑活动检测、后端服务器健康监控、CORS 保护、安全凭据存储(支持加密数据库)。

适用场景 需要将多个 MCP 服务器统一认证、授权与监控的组织或开发者;希望通过 OAuth/DCR 让 MCP 客户端自助注册的场景;需要实时监控 MCP 活动与安全审计的环境。

限制 资料未提供关于收费、价格、具体平台支持或效果保证的信息。部署需要 Docker 或 Python 环境,部分功能(如 OAuth/DCR、用户注册)需在配置中启用。无头服务器需额外配置令牌存储。

许可证:MIT,详见 LICENSE 文件。