Auth0 MCP服务
Auth0 MCP服务器与大型语言模型(LLM)和人工智能代理集成,使您能够使用自然语言执行各种Auth0管理操作。例如,您可以简单地要求克劳德“创建一个新的Auth0应用并获取域名和客户端ID”。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"auth0": {
"args": [
"-y",
"@auth0/auth0-mcp-server",
"run"
],
"capabilities": [
"tools"
],
"command": "npx",
"env": {
"DEBUG": "auth0-mcp"
}
}
}
}
服务介绍

📚 文档 • 🚀 入门指南 • 💻 支持的工具 • 💬 反馈
MCP (Model Context Protocol) 是由 Anthropic 引入的一种开放协议,它标准化了大型语言模型与外部工具、资源或远程服务之间的通信方式。
⚠ 测试功能通知:
此功能目前处于测试阶段。在调用工具时请谨慎使用,因为功能可能不稳定或会发生变化。
Auth0 MCP 服务器与 LLMs 和 AI 代理集成,允许您使用自然语言执行各种 Auth0 管理操作。例如,您可以简单地让 Claude 执行 Auth0 管理操作:
-
创建一个新的 Auth0 应用并获取域和客户端 ID
-
创建并部署一个新的 Auth0 动作以生成 JWT 令牌
-
您能否检查来自 192.108.92.3 IP 地址的 Auth0 登录日志?
🚀 入门指南
先决条件:
- Node.js v18 或更高版本
- Claude Desktop 或任何其他 MCP 客户端
- Auth0 账户,并具有适当的权限
安装 Auth0 MCP 服务器
安装 Auth0 MCP 服务器并配置它以与您首选的 MCP 客户端一起工作。--tools 参数指定应提供哪些工具(如果未提供,默认为 *)。
带有所有工具的 Claude Desktop
npx @auth0/auth0-mcp-server init
带有只读工具的 Claude Desktop
npx @auth0/auth0-mcp-server init --tools 'auth0_list_*,auth0_get_*'
Windsurf
npx @auth0/auth0-mcp-server init --client windsurf
Cursor
npx @auth0/auth0-mcp-server init --client cursor
有限工具访问
npx @auth0/auth0-mcp-server init --client cursor --tools 'auth0_list_applications,auth0_get_application'
其他 MCP 客户端
要将 Auth0 MCP 服务器与其他任何 MCP 客户端一起使用,您可以手动将此配置添加到客户端中,并重新启动以使更改生效:
{
"mcpServers": {
"auth0": {
"command": "npx",
"args": ["-y", "@auth0/auth0-mcp-server", "run"],
"capabilities": ["tools"],
"env": {
"DEBUG": "auth0-mcp"
}
}
}
}
您可以通过在 args 数组中添加 --tools '<pattern>' 来控制可用的工具。有关推荐模式,请参阅安全最佳实践。
使用 Auth0 进行身份验证
您的浏览器将自动打开以启动 OAuth 2.0 设备授权流程。登录您的 Auth0 账户并授予请求的权限。
[!NOTE]
凭证安全地存储在您的系统的钥匙串中。您可以选择通过您的钥匙串管理工具来验证存储。请参阅 身份验证 以获取更多信息。
验证您的集成
重新启动您的MCP客户端(如Claude、Windsurf、Cursor等),并请求它帮助您管理Auth0租户
🛠️ 支持的工具
Auth0 MCP服务器为Claude提供了以下工具,以便与您的Auth0租户进行交互:
应用程序
| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_applications |
列出Auth0租户中的所有应用程序或按名称搜索 | - 显示我所有的Auth0应用程序 - 查找名称中包含'api'的应用程序 - 我在Auth0租户中有哪些应用程序? |
auth0_get_application |
获取特定Auth0应用程序的详细信息 | - 显示名为'Customer Portal'的应用程序的详情 - 获取我的客户端ID为abc123的应用程序的信息 - 我的'Mobile App'有哪些回调URL? |
auth0_create_application |
创建一个新的Auth0应用程序 | - 创建一个名为'Analytics Dashboard'的新单页应用程序 - 设置一个名为'iOS Client'的新原生移动应用 - 为我们的后台服务创建一个机器对机器的应用程序 |
auth0_update_application |
更新现有的Auth0应用程序 | - 将我的'Web App'的回调URL更新为包括https://staging.example.com/callback - 更改'Customer Portal'的注销URL - 向我的'Admin Dashboard'应用程序添加开发环境元数据 |
资源服务器
注意:原文档未提供“资源服务器”部分的具体内容,因此翻译到此为止。如果需要进一步补充,请提供完整信息。
| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_resource_servers |
列出 Auth0 租户中的所有资源服务器(API) | - 显示我 Auth0 租户中的所有 API - 列出我的资源服务器 - 我在 Auth0 中配置了哪些 API? |
auth0_get_resource_server |
获取特定 Auth0 资源服务器的详细信息 | - 显示 'User API' 的详细信息 - 我的 'Payment API' 定义了哪些范围? - 获取标识符为 https://api.example.com 的资源服务器的信息" |
auth0_create_resource_server |
创建一个新的 Auth0 资源服务器(API) | - 创建一个名为 'Inventory API' 的新 API,具有读取和写入范围 - 为我们客户数据 API 设置资源服务器 - 创建一个标识符为 https://orders.example.com 的 API" |
auth0_update_resource_server |
更新现有的 Auth0 资源服务器 | - 向 'User API' 添加 'admin' 范围 - 将我的 'Payment API' 的令牌生命周期更新为 1 小时 - 将我的 API 的签名算法更改为 RS256 |
操作
| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_actions |
列出 Auth0 租户中的所有操作 | - 显示我所有的 Auth0 操作 - 我配置了哪些操作? - 列出我的租户中的操作 |
auth0_get_action |
获取特定 Auth0 操作的详细信息 | - 显示我的 '丰富用户资料' 操作的代码 - 获取有关我的登录流程操作的详细信息 - 我的 '添加自定义声明' 操作是做什么的? |
auth0_create_action |
创建一个新的 Auth0 操作 | - 创建一个将用户角色添加到令牌的操作 - 设置一个记录失败登录尝试的操作 - 创建一个检查用户位置的登录后操作 |
auth0_update_action |
更新现有的 Auth0 操作 | - 更新我的 '添加自定义声明' 操作以包含部门信息 - 修改我的安全操作中的 IP 过滤逻辑 - 修复我的用户丰富操作中的错误 |
auth0_deploy_action |
部署一个 Auth0 操作 | - 将我的 '添加自定义声明' 操作部署到生产环境 - 使我的新安全操作生效 - 部署已更新的用户丰富操作 |
日志
| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_logs |
列出 Auth0 租户的日志 | - 显示最近的登录尝试 - 查找过去24小时内的失败登录 - 获取昨天的身份验证日志 - 显示用户 john@example.com 的成功登录 |
auth0_get_log |
通过 ID 获取特定日志条目 | - 显示日志条目 abc123 的详细信息 - 获取有关这次失败登录尝试的更多信息 - 是什么导致了这个身份验证错误? |
表单
| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_forms |
列出 Auth0 租户中的所有表单 | - 显示我所有的 Auth0 表单 - 我配置了哪些登录表单? - 列出我的租户中的自定义表单 |
auth0_get_form |
获取特定 Auth0 表单的详细信息 | - 显示我的 '企业登录' 表单的详细信息 - 我的密码重置表单是什么样的? - 获取我的注册表单的配置 |
auth0_create_form |
创建一个新的 Auth0 表单 | - 使用我们公司的品牌创建一个新的登录表单 - 设置一个收集部门信息的自定义注册表单 - 使用我们的标志创建一个密码重置表单 |
auth0_update_form |
更新现有的 Auth0 表单 | - 将我们的登录表单的颜色更新为与新的品牌指南一致 - 在我们的注册表单中添加隐私政策链接 - 更改我们的密码重置表单上的标志 |
auth0_publish_form |
发布一个 Auth0 表单 | - 发布我更新后的登录表单 - 使新的注册表单生效 - 将密码重置表单部署到生产环境 |
🔒 工具访问的安全最佳实践
在配置 Auth0 MCP 服务器时,根据您的具体需求限制工具访问是非常重要的。服务器提供了灵活的配置选项,让您能够控制 AI 助手可以访问哪些工具。
您可以使用 --tools 标志在启动服务器时轻松地限制工具访问:
# Enable only read-only operations
npx @auth0/auth0-mcp-server run --tools 'auth0_list_*,auth0_get_*'
# Limit to just application-related tools
npx @auth0/auth0-mcp-server run --tools 'auth0_*_application*'
# Restrict to only log viewing capabilities
npx @auth0/auth0-mcp-server run --tools 'auth0_list_logs,auth0_get_log'
# Run the server with all tools enabled
npx @auth0/auth0-mcp-server run --tools '*'
这种方法提供了几个重要的好处:
-
增强安全性:通过仅限于必需的工具,可以减少潜在的攻击面,并防止对您的 Auth0 租户进行意外修改。
-
更好的性能:为 AI 助手提供更少的工具实际上可以提高性能。当模型可以访问许多工具时,它们会使用更多的上下文窗口来推理应该使用哪些工具。通过一套集中的工具,您可以获得更快且更相关的响应。
-
基于资源的访问控制:您可以根据特定需求配置具有不同工具集的不同 MCP 服务器实例 - 开发环境可能需要完全访问权限,而生产环境则可以限制为仅读操作。
-
简化审计:通过限制工具的数量,更容易跟踪哪些操作是通过 AI 助手执行的。
对于大多数用例,从最少的必要工具集开始,并在需要时再添加更多工具。这遵循最小特权原则——一个基本的安全最佳实践。
🕸️ 架构
Auth0 MCP 服务器实现了 Model Context Protocol,允许 Claude:
- 请求可用的 Auth0 工具列表
- 使用参数调用特定工具
- 从 Auth0 管理 API 接收结构化的响应
服务器处理身份验证、请求验证以及与 Auth0 管理 API 的安全通信。
[!NOTE]
服务器作为一个本地进程运行,连接到 Claude Desktop,从而实现安全通信而不暴露您的 Auth0 凭据。
🔐 身份验证
Auth0 MCP 服务器使用 Auth0 管理 API,并需要身份验证才能访问您的 Auth0 租户。
初始设置
要对 MCP 服务器进行身份验证:
npx @auth0/auth0-mcp-server init
这将启动设备授权流程,允许您登录到您的 Auth0 账户并选择要使用的租户。
[!IMPORTANT]
在以下情况下需要运行init命令:
- 您首次设置 MCP 服务器
- 您从前一个会话中注销
- 您希望切换到不同的租户
- 您的令牌已过期
会话管理
要查看有关当前身份验证会话的信息:
npx @auth0/auth0-mcp-server session
注销
为了遵循安全最佳实践,在完成会话后始终使用注销命令:
npx @auth0/auth0-mcp-server logout
这确保您的身份验证令牌从系统密钥链中正确移除。
身份验证流程
服务器使用 OAuth 2.0 设备授权流程以安全方式与 Auth0 进行身份验证。您的凭据安全地存储在系统的密钥链中,永远不会以明文形式暴露。
🩺 故障排除
在遇到 Auth0 MCP 服务器问题时,有几种故障排除选项可以帮助诊断和解决问题。
首先通过探索所有可用的命令和选项开始故障排除:
npx @auth0/auth0-mcp-server help
🚥 操作模式
🐞 调试模式
- 更详细的日志记录
- 通过设置环境变量启用:
export DEBUG=auth0-mcp
[!TIP]
在排查连接或认证问题时,调试模式特别有用。
🔑 范围选择
服务器在初始化期间提供了一个交互式的范围选择界面:
-
交互式选择:使用箭头键导航,并用空格键切换选择
-
无默认范围:默认情况下,不选择任何范围以达到最大安全性
-
支持通配符模式:使用模式快速选择多个相关范围:
# 选择所有读取范围 npx @auth0/auth0-mcp-server init --scopes 'read:*' # 选择多个范围模式(逗号分隔) npx @auth0/auth0-mcp-server init --scopes 'read:*,create:clients,update:actions'
[!NOTE]
选择的范围决定了MCP服务器可以对您的Auth0租户执行哪些操作。
⚙️ 配置
其他MCP客户端:
要将Auth0 MCP服务器与其他任何MCP客户端一起使用,您可以向客户端添加此配置并重新启动以使更改生效:
{
"mcpServers": {
"auth0": {
"command": "npx",
"args": ["-y", "@auth0/auth0-mcp-server", "run"],
"capabilities": ["tools"],
"env": {
"DEBUG": "auth0-mcp"
}
}
}
}
[!NOTE]
如果需要或者在运行npx init命令时遇到任何意外错误,您可以手动更新。
🚨 常见问题
-
认证失败
- 确保您在Auth0租户中有正确的权限
- 尝试重新初始化:
npx @auth0/auth0-mcp-server init
-
Claude无法连接到服务器
- 安装后重启Claude桌面应用程序
- 使用
ps aux | grep auth0-mcp检查服务器是否正在运行
-
API错误或权限问题
- 启用调试模式:
export DEBUG=auth0-mcp - 检查您的Auth0令牌权限和有效期
- 使用特定范围重新初始化:
npx @auth0/auth0-mcp-server init --scopes 'read:*,update:*,create:*' - 如果某个具体操作失败,可能是因为缺少所需的范围
- 启用调试模式:
[!TIP]
大多数连接问题可以通过同时重启服务器和Claude桌面应用程序来解决。
📋 调试日志
启用调试模式查看详细日志:
export DEBUG=auth0-mcp
从Claude桌面获取详细的MCP客户端日志:
# Follow logs in real-time
tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
对于高级故障排除,请使用MCP Inspector:
npx @modelcontextprotocol/inspector -e DEBUG='auth0-mcp' @auth0/auth0-mcp-server run
要获取详细的MCP服务器日志,请以调试模式运行服务器:
DEBUG=auth0-mcp npx @auth0/auth0-mcp-server run
👨💻 开发
从源码构建
# Clone the repository
git clone https://github.com/auth0/auth0-mcp-server.git
cd auth0-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Initiate device auth flow
npx . init
# Configure your MCP client(Claude Desktop) with MCP server path
npm run local-setup
# Restart MCP client, in this case claude desktop app
[!NOTE]
该服务器要求Node.js v18或更高版本。
🔒 安全性
Auth0 MCP服务器优先考虑安全性:
- 凭证存储在系统的安全钥匙串中
- 不以明文形式存储任何敏感信息
- 认证使用 OAuth 2.0 设备授权流程
- 默认不请求任何权限(范围)
- 交互式范围选择允许您精确选择要授予的权限
- 支持 glob 模式快速选择相关范围(例如,
read:*) - 当不再需要时,可以通过
logout命令轻松移除令牌
[!IMPORTANT]
为了遵循最佳安全实践,在会话结束或切换租户时,请始终使用npx @auth0/auth0-mcp-server logout。这确保您的认证令牌从系统钥匙串中正确移除。
[!CAUTION]
在认证过程中,请始终审查所请求的权限,以确保它们符合您的安全要求。
💬 反馈和贡献
我们非常欢迎对本项目的反馈和贡献!在开始之前,请参阅:
报告问题
若要提供反馈或报告错误,请在我们的问题跟踪器上提出问题。
漏洞报告
请勿在公共 GitHub 问题跟踪器上报告安全漏洞。负责任披露计划详细说明了披露安全问题的程序。
📄 许可证
本项目采用 MIT 许可证。更多信息请参见 LICENSE 文件。