Okta MCP 服务器
该 MCP 服务器使 Claude 能够与 Okta 的用户管理系统进行交互,提供全面的用户和组管理功能以及入职自动化。
先决条件
- Node.js(v16 或更高版本)
- 克劳德桌面应用程序
- Okta开发者账户
- Okta 的管理员 API 令牌
设置说明
1.创建 Okta 开发者账户
- 前往Okta 开发者控制台
- 创建新帐户或登录现有帐户
- 记下您的 Okta 域名(例如,
dev-123456.okta.com
)
2. 创建 API 令牌
- 在 Okta 开发者控制台中,转到“安全”>“API”>“令牌”
- 点击“创建代币”
- 给你的令牌起一个有意义的名字(例如,“MCP 服务器令牌”)
- 复制令牌值(您将无法再看到它)
3. 初始项目设置
安装依赖项:
4.配置Claude桌面
打开您的 Claude Desktop 配置文件:
对于 MacOS:
对于 Windows:
添加或更新配置:
保存文件并重新启动 Claude Desktop。
可用工具
该服务器提供以下工具:
用户管理
获取用户
从 Okta 检索详细的用户信息,包括:
- 用户详细信息(ID、状态)
- 帐户日期(创建、激活、上次登录等)
- 个人信息(姓名、电子邮件)
- 就业详情
- 联系信息
- 地址
- 偏好设置
列出用户
列出 Okta 中的用户,并提供可选的过滤和分页功能:
- 支持 SCIM 过滤表达式(例如,'profile.firstName eq“John”')
- 跨多个字段的自由格式文本搜索
- 排序选项(按状态、创建日期等)
- 具有可自定义限制的分页支持
激活用户
在 Okta 中激活用户:
- 发送激活电子邮件的选项
- 将用户状态更新为活跃
暂停用户
在 Okta 中暂停用户
取消暂停用户
取消 Okta 中先前暂停的用户
删除用户
从 Okta 中删除用户(注意:必须先停用用户)
获取用户最后位置
从 Okta 系统日志中检索用户的最后已知位置和登录信息
集团管理
列表组
列出 Okta 中的用户组,并带有可选的过滤和分页功能:
- 组的过滤表达式(例如,'type eq“OKTA_GROUP”')
- 跨组字段的自由格式文本搜索
- 排序选项(按名称、类型等)
- 具有可自定义限制的分页支持
创建组
在 Okta 中创建一个新组,并指定名称和可选描述
获取组
检索特定组的详细信息
删除组
从 Okta 中删除一个组
将用户分配给组
在 Okta 中将用户分配到组
从组中删除用户
从 Okta 中的组中删除用户
列出组用户
列出特定组中的所有用户,并支持分页
入职自动化(实验性)
**注意:**入门自动化工具尚处于实验阶段,可能会根据 Okta 的 API 限制而有所变更或受限。请在生产环境中谨慎使用。
批量用户导入
从 CSV 字符串导入多个用户:
- 根据 CSV 数据创建用户帐户
- 用户可选激活
- 可选的电子邮件通知
- 分配到默认组
将用户分配到组
根据属性映射将多个用户分配到组:
- 将用户属性(部门、职称等)映射到特定组
- 根据属性批量分配用户
预配应用程序
为多个用户提供应用程序访问权限:
- 将用户分配到应用程序
- 支持批量配置
运行入职工作流
通过 CSV 数据为多个用户运行完整的入职工作流程:
- 从 CSV 导入用户
- 自动激活
- 基于属性的组分配
- 应用程序配置
- 欢迎电子邮件配置
Claude 中的示例用法
设置完成后,您可以使用以下命令:
用户管理
- “显示用户 ID XXXX 的详细信息”
- “用户john.doe@company.com的状态是什么?”
- “用户jane.smith@organization.com的上次登录时间是什么时候”
- “列出市场部所有用户”
- “查找上个月创建的用户”
- “激活 ID XXXX 的用户”
- “暂停 ID 为 XXXX 的用户”
- “删除 ID 为 XXXX 的已停用用户”
- “用户XXXX上次从哪里登录的?”
集团管理
- “显示我的 Okta 组织中的所有群组”
- “列出包含单词‘admin’的组”
- “创建一个名为‘营销团队’的新组”
- “获取 ID 为 XXXX 的组的详细信息”
- “删除 ID 为 XXXX 的组”
- “将用户 XXXX 添加到组 YYYY”
- “从组 YYYY 中删除用户 XXXX”
- “列出‘财务’组中的所有用户”
入职自动化
- “从 CSV 数据导入这些用户:[CSV 内容]”
- “根据部门属性将用户分配到组”
- “为这 5 位用户提供应用程序访问权限”
- “为这些新员工运行完整的入职流程:[CSV 内容]”
错误处理
该服务器包括强大的错误处理功能:
- 未找到用户或组(404 错误)
- API 身份验证问题
- 用户资料缺失或无效
- 常规 API 错误
- CSV解析问题
- 用户属性映射失败
- 应用程序配置错误
故障排除
常见问题
Claude 中未出现的工具:
- 检查 Claude Desktop 日志:
tail -f ~/Library/Logs/Claude/mcp*.log
- 验证所有环境变量是否设置正确
- 确保 index.js 的路径是绝对的并且正确
身份验证错误:
- 验证您的 API 令牌是否有效
- 检查 OKTA_ORG_URL 是否包含带有 https:// 的完整 URL
- 确保您的 Okta 域名正确
服务器连接问题:
- 检查服务器是否搭建成功
- 验证 build/index.js 的文件权限(应为 755)
- 尝试直接运行服务器:
node /path/to/build/index.js
查看日志
查看服务器日志:
对于 MacOS/Linux:
对于 Windows:
环境变量
如果您收到环境变量错误,请验证:
OKTA_ORG_URL
:应为完整的 URL(例如,“ https://dev-123456.okta.com ”)OKTA_API_TOKEN
:应该是一个有效的 API 令牌
安全注意事项
- 确保您的 API 令牌安全
- 不要将凭证提交到版本控制
- 使用环境变量来存储敏感数据
- 定期轮换 API 令牌
- 在 Okta 管理控制台中监控 API 使用情况
- 实施 API 调用速率限制
- 使用 API 令牌所需的最低权限
类型
该服务器包括用于 Okta 用户和组数据的 TypeScript 接口:
用于入职培训的 CSV 格式
使用批量导入或入职工作流工具时,您的 CSV 应包含以下标题:
firstName
(必填)lastName
(必填)email
(必填)department
(可选)title
(可选)mobilePhone
(可选)
例子:
执照
MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
支持
如果您遇到任何问题:
- 查看上面的故障排除部分
- 查看 Claude Desktop 日志
- 检查服务器的错误输出
- 查看 Okta 的开发者文档
注意:欢迎 PR!
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
使 Claude 能够与 Okta 的用户管理系统进行交互,提供检索用户详细信息、使用过滤选项列出用户以及管理用户组的功能。
Related MCP Servers
- -securityFlicense-qualityConnects Claude with Microsoft Outlook through the Graph API, providing comprehensive email, calendar, folder management, and rules creation capabilities.Last updated -10JavaScript
- AsecurityFlicenseAqualityEnables Claude to interact with Spotify by searching songs, creating playlists, getting recommendations, and managing your music through your Spotify account.Last updated -74JavaScript
- -securityAlicense-qualityA toolkit for managing Claude desktop app extension configurations, enabling features like Brave search, file operations, Git/GitHub integration, shell access, web scraping, HTTP requests, AWS documentation search, and Obsidian note management.Last updated -1TypeScriptMIT License
- -securityFlicense-qualityProvides system monitoring and management capabilities for Claude CLI, allowing users to view system information, track resource usage, and manage processes through natural language commands.Last updated -Python