使用说明
项目简介
okta-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在作为 Claude 桌面应用的扩展,使其能够安全地访问和操作 Okta 用户管理系统中的数据。通过此服务器,Claude 可以调用预定义的工具来检索 Okta 用户的详细信息,从而扩展 Claude 在企业应用场景下的能力。
主要功能点
- 用户数据检索: 提供 'get_user' 工具,允许 Claude 通过用户 ID 从 Okta 系统中检索用户的详细信息,包括个人信息、账户状态、联系方式、职位、部门等。
- 标准 MCP 协议: 遵循 MCP 协议规范,通过 JSON-RPC 与客户端(如 Claude)进行通信,处理工具调用请求并返回结构化响应。
- 易于配置: 通过环境变量配置 Okta API 密钥和组织 URL,方便快速部署和集成。
- 详细的错误处理: 针对用户未找到、API 认证失败等常见错误情况提供友好的错误提示。
- 详细的日志记录: 方便用户排查问题和监控服务器运行状态。
安装步骤
- 安装 Node.js: 确保你的系统已安装 Node.js (v16 或更高版本)。
- 安装 Claude 桌面应用: 确保已安装 Claude 桌面应用。
- 创建 Okta 开发者账户: 如果没有 Okta 开发者账户,请访问 Okta Developer Console 创建一个。
- 创建 API Token: 在 Okta 开发者控制台中,导航到 "安全" -> "API" -> "令牌",创建一个新的 API 令牌,并复制令牌值。
- 下载仓库代码: 从 GitHub 仓库 https://github.com/kapilduraphe/okta-mcp-server 下载代码到本地。
- 安装依赖: 在项目根目录下打开终端,运行 'npm install' 安装项目依赖。
- 配置环境变量: 在项目根目录下创建 '.env' 文件,并添加以下内容,替换为你自己的 Okta 组织 URL 和 API 令牌:
OKTA_ORG_URL=https://your-domain.okta.com OKTA_API_TOKEN=your-api-token - 构建项目: 运行 'npm run build' (如果仓库有构建脚本) 或直接使用 'node src/index.js' 启动服务器。
服务器配置 (Claude Desktop)
要将 okta-mcp-server 集成到 Claude 桌面应用,你需要修改 Claude 的配置文件 'claude_desktop_config.json'。
配置文件路径:
- MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows: '%AppData%\Claude\claude_desktop_config.json'
配置内容:
在 'claude_desktop_config.json' 文件中,找到或创建 'mcpServers' 字段,并添加 'okta' 服务器的配置信息。
{ "mcpServers": { "okta": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/YOUR/build/index.js" // 替换为你的项目 build 目录下 index.js 文件的绝对路径,如果直接运行 src/index.js,则替换为 /ABSOLUTE/PATH/TO/YOUR/src/index.js ], "env": { "OKTA_ORG_URL": "https://your-domain.okta.com", // 替换为你的 Okta 组织 URL,例如:https://dev-123456.okta.com "OKTA_API_TOKEN": "your-api-token" // 替换为你在 Okta 控制台创建的 API 令牌 } } } }
注意:
- '/ABSOLUTE/PATH/TO/YOUR/build/index.js' 需要替换为你实际的项目 'build/index.js' 文件的绝对路径。如果你直接运行 'src/index.js',则需要替换为 'src/index.js' 的绝对路径。
- 'your-domain.okta.com' 和 'your-api-token' 需要替换为你自己的 Okta 组织 URL 和 API 令牌。
- 保存 'claude_desktop_config.json' 文件后,重启 Claude 桌面应用使配置生效。
基本使用方法
配置完成后,在 Claude 中你可以使用自然语言指令来调用 'get_user' 工具,例如:
- "Show me details for user [email protected]" (显示用户 [email protected] 的详细信息)
- "What's the status of user [email protected]" ([email protected] 用户的状态是什么)
- "When was the last login for user [email protected]" ([email protected] 用户上次登录是什么时候)
Claude 会解析你的指令,识别需要调用 'get_user' 工具,并将用户 ID 作为参数传递给 okta-mcp-server。服务器会调用 Okta API 获取用户信息,并将结果返回给 Claude 进行展示。
信息
分类
商业系统