<img src="https://devin.ai/assets/deepwiki-badge.png" alt="在DeepWiki上关于auth0-mcp-server的问题" height="20"/>
📚 文档 • 🚀 开始使用 • 💻 支持的工具 • 💬 反馈
</div>MCP (模型上下文协议) 是由Anthropic引入的一个开放协议,它标准化了大型语言模型与外部工具、资源或远程服务之间的通信方式。
[!CAUTION] 测试软件通知:此软件目前处于测试阶段,并且按原样提供,不附带任何保证。
- 特性、API和功能可能会随时更改,无需提前通知
- 不建议用于生产环境或关键工作负载
- 测试期间的支持有限
- 可以通过 GitHub问题跟踪器 报告问题和反馈
使用此测试软件时,您确认并接受这些条件。
Auth0 MCP服务器与LLMs和AI代理集成,允许您使用自然语言执行各种Auth0管理操作。例如,您可以简单地请求Claude Desktop执行Auth0管理操作:
创建一个新的Auth0应用程序并获取其域名和客户端ID
创建并部署一个新的Auth0动作以生成JWT令牌
能否检查来自192.108.92.3 IP地址的登录日志?
前提条件:
安装Auth0 MCP服务器并将其配置为与您首选的MCP客户端一起工作。--tools参数指定了哪些工具应该可用(如果没有提供,默认为*)。
Claude Desktop与所有工具
npx @auth0/auth0-mcp-server init
Claude Desktop与只读工具
npx @auth0/auth0-mcp-server init --read-only
您也可以显式选择只读工具:
npx @auth0/auth0-mcp-server init --tools 'auth0_list_*,auth0_get_*'
Windsurf
npx @auth0/auth0-mcp-server init --client windsurf
Cursor
步骤1:
步骤2:
npx @auth0/auth0-mcp-server init --client cursor
Cursor具有有限的工具访问权限
npx @auth0/auth0-mcp-server init --client cursor --tools 'auth0_list_applications,auth0_get_application'
VS Code
npx @auth0/auth0-mcp-server init --client vscode
您可以配置VS Code以全局或工作区范围使用:
该命令会提示您选择首选范围,并自动配置相应的mcp.json文件。
VS Code具有有限的工具访问权限
npx @auth0/auth0-mcp-server init --client vscode --tools 'auth0_list_*,auth0_get_*' --read-only
其他MCP客户端
要使用Auth0 MCP服务器与任何其他MCP客户端,您可以手动添加此配置到客户端并重启以使更改生效:
{
"mcpServers": {
"auth0": {
"command": "npx",
"args": ["-y", "@auth0/auth0-mcp-server", "run"],
"capabilities": ["tools"],
"env": {
"DEBUG": "auth0-mcp"
}
}
}
}
您可以在args数组中添加--tools '<pattern>'来控制哪些工具可用。参见 工具访问的最佳安全实践 推荐模式。
您的浏览器将自动打开以启动OAuth 2.0设备授权流程。登录您的Auth0账户并授予所需权限。
[!NOTE] 凭据安全地存储在系统密钥链中。您可以通过密钥链管理工具验证存储情况。更多详情请参阅 认证。
重新启动您的MCP客户端(如Claude Desktop、Windsurf、Cursor等),并请求它帮助您管理您的Auth0租户
<div align="left"> <img src="https://gips0.baidu.com/it/u=281982043,2012721725&fm=3081&app=3081&f=PNG?w=808&h=318" alt="Claude Desktop帮助屏幕显示成功集成" width="300"> </div>Auth0 MCP服务器提供了以下工具供Claude与您的Auth0租户交互:
<div align="center" style="display: flex; justify-content: center; gap: 20px;"> <img src="https://gips1.baidu.com/it/u=1870109280,3959860199&fm=3081&app=3081&f=PNG?w=1086&h=1252" alt="支持的工具图片" width="400"> <img src="https://gips0.baidu.com/it/u=807651867,3378236289&fm=3081&app=3081&f=PNG?w=1108&h=1266" alt="支持的工具图片" width="400"> </div>| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_applications | 列出Auth0租户中的所有应用程序或按名称搜索 | - 展示我所有的Auth0应用程序 <br> - 查找名称中包含'api'的应用程序 <br> - 我在我的Auth0租户中有哪些应用程序? |
auth0_get_application | 获取特定Auth0应用程序的详细信息 | - 展示名为'客户门户'的应用程序的详细信息 <br> - 获取客户端ID为abc123的应用程序的信息 <br> - 我的'Mobile App'的回调URL是什么? |
auth0_create_application | 创建新的Auth0应用程序 | - 创建一个名为'分析仪表板'的单页应用程序 <br> - 设置一个名为'iOS客户端'的本地移动应用 <br> - 为我们的后台服务创建一个机器对机器应用程序 |
auth0_update_application | 更新现有的Auth0应用程序 | - 更新我的'Web App'的回调URL以包括https://staging.example.com/callback <br> - 更改'客户门户'的登出URL <br> - 向我的'Admin Dashboard'应用程序添加开发环境元数据 |
| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_resource_servers | 列出Auth0租户中的所有资源服务器(API) | - 展示我租户中的所有API <br> - 列出我的资源服务器 <br> - 我在Auth0中配置了哪些API? |
auth0_get_resource_server | 获取特定Auth0资源服务器的详细信息 | - 展示'用户API'的详细信息 <br> - '支付API'定义了哪些范围? <br> - 获取标识符为https://api.example.com的资源服务器的信息 |
auth0_create_resource_server | 创建新的Auth0资源服务器(API) | - 创建一个名为'库存API'的新API,具有读取和写入范围 <br> - 为我们的客户数据API设置资源服务器 <br> - 创建一个标识符为https://orders.example.com的API |
auth0_update_resource_server | 更新现有的Auth0资源服务器 | - 向'用户API'添加一个'管理员'范围 <br> - 将我的'支付API'的令牌生命周期更新为1小时 <br> - 更改我的API的签名算法为RS256 |
| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_actions | 列出Auth0租户中的所有动作 | - 展示我所有的Auth0动作 <br> - 我配置了哪些动作? <br> - 列出我的租户中的动作 |
auth0_get_action | 获取特定Auth0动作的详细信息 | - 展示我的'丰富用户资料'动作的代码 <br> - 获取我的登录流动作的详细信息 <br> - 我的'添加自定义声明'动作做什么? |
auth0_create_action | 创建新的Auth0动作 | - 创建一个将用户角色添加到令牌的动作 <br> - 设置一个记录失败登录尝试的动作 <br> - 创建一个检查用户位置的登录后动作 |
auth0_update_action | 更新现有的Auth0动作 | - 更新我的'添加自定义声明'动作以包含部门信息 <br> - 修改我的安全动作中的IP过滤逻辑 <br> - 修复我的用户丰富化动作中的错误 |
auth0_deploy_action | 部署Auth0动作 | - 将我的'添加自定义声明'动作部署到生产环境 <br> - 让我的新安全动作上线 <br> - 部署更新后的用户丰富化动作 |
| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_logs | 列出Auth0租户的日志 | - 展示最近的登录尝试 <br> - 查找过去24小时内失败的登录 <br> - 获取昨天的身份验证日志 <br> - 展示用户john@example.com的成功登录 |
auth0_get_log | 根据ID获取特定日志条目 | - 展示日志条目abc123的详细信息 <br> - 获取有关此失败登录尝试的更多信息 <br> - 导致这个身份验证错误的原因是什么? |
| 工具 | 描述 | 使用示例 |
|---|---|---|
auth0_list_forms | 列出Auth0租户中的所有表单 | - 展示我所有的Auth0表单 <br> - 我配置了哪些登录表单? <br> - 列出我的租户中的自定义表单 |
auth0_get_form | 获取特定Auth0表单的详细信息 | - 展示我的'公司登录'表单的详细信息 <br> - 我的密码重置表单看起来像什么? <br> - 获取我的注册表单的配置 |
auth0_create_form | 创建新的Auth0表单 | - 创建一个带有我们公司品牌的新的登录表单 <br> - 设置一个收集部门信息的自定义注册表单 <br> - 创建一个带有我们标志的密码重置表单 |
auth0_update_form | 更新现有的Auth0表单 | - 更新我们的登录表单的颜色以匹配新的品牌指南 <br> - 在我们的注册表单中添加隐私政策链接 <br> - 更改我们密码重置表单上的标志 |
auth0_publish_form | 发布Auth0表单 | - 发布我更新后的登录表单 <br>- 让新的注册表单上线 <br>- 将密码重置表单部署到生产环境 |
在配置Auth0 MCP服务器时,遵循安全最佳实践非常重要,即根据具体需求限制工具访问。服务器提供了灵活的配置选项,让您能够控制AI助手可以访问哪些工具。
您可以轻松地使用--tools和--read-only标志来限制工具访问:
# 启用仅限读取的操作
npx @auth0/auth0-mcp-server run --read-only
# 启用仅限读取操作的另一种方法
npx @auth0/auth0-mcp-server run --tools 'auth0_list_*,auth0_get_*'
# 仅限于与应用程序相关的工具
npx @auth0/auth0-mcp-server run --tools 'auth0_*_application*'
# 仅限于与应用程序相关的只读工具
# 注意:当与`--tools`一起使用时,`--read-only`标志优先考虑安全性。
npx @auth0/auth0-mcp-server run --tools 'auth0_*_application*' --read-only
# 仅限于查看日志的能力
npx @auth0/auth0-mcp-server run --tools 'auth0_list_logs,auth0_get_log'
# 启动服务器并启用所有工具
npx @auth0/auth0-mcp-server run --tools '*'
[!IMPORTANT] 当同时使用
--read-only和--tools标志时,--read-only标志优先考虑安全性。这意味着即使您的--tools模式匹配非只读工具,也只会提供只读操作。这确保您可以依赖--read-only标志作为安全护栏。
这种方法提供了几个重要的好处:
增强的安全性:通过将可用工具限制为仅需使用的工具,您减少了潜在的攻击面,并防止意外修改您的Auth0租户。
更好的性能:向AI助手提供较少的工具实际上提高了性能。当模型拥有许多工具的访问权限时,它们会使用更多的上下文窗口来判断应使用哪些工具。有了集中的工具集,您将获得更快且更相关的结果。
基于资源的访问控制:您可以根据具体需求配置不同实例的MCP服务器的不同工具集——开发环境可能需要完全访问,而生产环境则可能仅限于只读操作。
简化审计:通过限制工具,更容易追踪通过AI助手执行的操作。
对于大多数使用案例,从所需的最小工具集开始,并仅在必要时添加更多工具。这遵循最小特权原则——一个基本的安全最佳实践。
我们建议定期使用社区构建的工具扫描此服务器和其他您部署的MCP兼容服务器,以揭示协议级别的风险和配置错误。
这些扫描器有助于识别关键漏洞类别中的问题,包括:服务器实现错误、工具定义和生命周期风险、交互和数据流弱点以及配置或环境差距。
有用的工具包括:
mcpscan.ai
基于Web的扫描器,检查实时MCP端点的暴露工具、模式强制执行差距和其他问题。
mcp-scan
CLI工具,模拟攻击路径并从客户端角度评估服务器行为。
这些工具不是全面审核的替代品,但它们提供了有意义的安全护栏和早期警告。我们建议将它们纳入您的常规安全审查过程。
如果您发现漏洞,请遵循我们的 负责任披露流程。
Auth0 MCP服务器实现了模型上下