Okta用户管理工具
启用 Claude 与 Okta 的用户管理系统交互,提供检索用户详细信息、列出带有过滤选项的用户以及管理用户组的功能。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"okta": {
"args": [
"PATH_TO_PROJECT_DIRECTORY/dist/index.js"
],
"command": "node",
"env": {
"OKTA_API_TOKEN": "your-api-token",
"OKTA_ORG_URL": "https://your-domain.okta.com"
}
}
}
}
该服务需要配置环境变量:OKTA_API_TOKEN、OKTA_ORG_URL
服务介绍
Okta MCP 服务器
该MCP服务器使Claude能够与Okta的用户管理系统进行交互,提供用户和组管理功能。
先决条件
- Node.js (v16或更高版本)
- Claude桌面应用程序
- Okta开发者账户
- 来自Okta的管理员API令牌
设置说明
1. 创建一个Okta开发者账号
- 访问 Okta开发者控制台
- 创建新账户或登录现有账户
- 记录您的Okta域名(例如:
dev-123456.okta.com)
2. 创建API令牌
- 在Okta开发者控制台中,转到安全> API > 令牌
- 点击“创建令牌”
- 给您的令牌起一个有意义的名字(例如:“MCP服务器令牌”)
- 复制令牌值(您之后将无法再看到它)
3. 初始项目设置
安装依赖项:
npm install
4. 配置Claude桌面应用
打开您的Claude桌面配置文件:
对于MacOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
对于Windows:
code %AppData%\Claude\claude_desktop_config.json
添加或更新配置:
{
"mcpServers": {
"okta": {
"command": "node",
"args": [
"PATH_TO_PROJECT_DIRECTORY/dist/index.js"
],
"env": {
"OKTA_ORG_URL": "https://your-domain.okta.com",
"OKTA_API_TOKEN": "your-api-token"
}
}
}
}
保存文件并重启Claude桌面应用。
可用工具
服务器提供了以下工具:
get_user
从Okta检索详细的用户信息,包括:
- 用户详情(ID、状态)
- 账户日期(创建、激活、最后登录等)
- 个人信息(姓名、电子邮件)
- 工作信息
- 联系信息
- 地址
- 偏好设置
list_users
列出Okta中的用户,并可选择过滤和分页:
- 支持SCIM过滤表达式(例如:'profile.firstName eq "John"')
- 对多个字段进行自由文本搜索
- 排序选项(按状态、创建日期等)
- 支持自定义限制的分页
list_groups
列出Okta中的用户组,并可选择过滤和分页:
- 组的过滤表达式(例如:'type eq "OKTA_GROUP"')
- 对组字段进行自由文本搜索
- 排序选项(按名称、类型等)
- 支持自定义限制的分页
Claude中的示例使用
设置完成后,您可以使用如下命令:
- “显示userId为XXXX的用户的详细信息”
- “john.doe@company.com的状态是什么”
- “jane.smith@organization.com最后一次登录是什么时候”
- “列出市场部门的所有用户”
- “查找过去一个月内创建的用户”
- “显示我Okta组织中的所有组”
- “列出包含'admin'一词的组”
错误处理
服务器包含了针对以下情况的强大错误处理机制:
- 找不到用户或组(404错误)
- API认证问题
- 缺失或无效的用户资料
- 一般API错误
故障排除
常见问题
Claude中未出现工具:
- 检查Claude桌面日志:
tail -f ~/Library/Logs/Claude/mcp*.log - 确认所有环境变量设置正确
- 确保指向index.js的路径是绝对且正确的
认证错误:
- 确认您的API令牌有效
- 检查OKTA_ORG_URL是否包含了完整的URL(带有https://)
- 确保您的Okta域名正确
服务器连接问题:
- 检查服务器是否构建成功
- 验证 build/index.js 文件的权限(应为 755)
- 尝试直接运行服务器:
node /path/to/build/index.js
查看日志
要查看服务器日志:
对于 MacOS/Linux:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
对于 Windows:
Get-Content -Path "$env:AppData\Claude\Logs\mcp*.log" -Wait -Tail 20
环境变量
如果您遇到环境变量错误,请验证:
OKTA_ORG_URL:应该是完整的 URL(例如,“https://dev-123456.okta.com”)OKTA_API_TOKEN:应该是一个有效的 API 令牌
安全注意事项
- 保持您的 API 令牌安全
- 不要将凭证提交到版本控制
- 使用环境变量存储敏感数据
- 定期轮换 API 令牌
- 在 Okta 管理控制台中监控 API 使用情况
- 实施 API 调用的速率限制
- 为 API 令牌使用最小必需的权限
类型
服务器包括用于 Okta 用户和组数据的 TypeScript 接口:
interface OktaUserProfile {
login: string;
email: string;
secondEmail?: string;
firstName: string;
lastName: string;
displayName: string;
nickName?: string;
organization: string;
title: string;
division: string;
department: string;
employeeNumber: string;
userType: string;
costCenter: string;
mobilePhone?: string;
primaryPhone?: string;
streetAddress: string;
city: string;
state: string;
zipCode: string;
countryCode: string;
preferredLanguage: string;
profileUrl?: string;
}
interface OktaUser {
id: string;
status: string;
created: string;
activated: string;
lastLogin: string;
lastUpdated: string;
statusChanged: string;
passwordChanged: string;
profile: OktaUserProfile;
}
interface OktaGroup {
id: string;
created: string;
lastUpdated: string;
lastMembershipUpdated: string;
type: string;
objectClass: string[];
profile: {
name: string;
description: string;
};
}
许可证
MIT 许可证 - 请参阅 LICENSE 文件以获取详细信息。
支持
如果您遇到任何问题:
- 检查上面的故障排除部分
- 查看 Claude Desktop 日志
- 检查服务器的错误输出
- 查看 Okta 的开发者文档
注意:欢迎提交 PR!