Okta管理API工具集

Gemini CLI扩展,将694个Okta管理API操作自动生成为MCP工具,并按10个特定领域服务器分类,实现按需加载。

  • by ebarti
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 ebarti/okta-mcp-servers

使用说明

Okta管理MCP服务器

Gemini CLI扩展,公开 所有694 Okta Management API运营 作为MCP工具——根据官方OpenAPI规范自动生成,并拆分为 10个特定于域的服务器 所以你只加载你需要的东西。

服务器

服务器 工具 域
okta-users 93 用户、组、会话、因素、凭据
okta-apps 75 应用程序、SSO、配置、应用程序用户/组
okta-authz 48 授权服务器、策略、规则、声明、范围
okta-idps 39 身份提供者、密钥、身份源
okta-security 87 身份验证器、策略、行为规则、网络区域
okta-roles 81 角色分配、目标、资源集、自定义角色
okta-customization 97 品牌、主题、自定义页面、模式、电子邮件
okta-org 68 组织设置、功能、可信来源、速率限制
okta-hooks 55 事件/内联挂钩、日志流、系统日志、SSF
okta-devices 51 设备、代理池、领域、推送提供商

安装

1.安装扩展

gemini extension install /path/to/okta-mcp-server

2.配置身份验证

服务器支持三种身份验证模式,可从环境变量中自动检测。

选项A——私钥JWT (建议用于自动化)

最适合CI/CD、脚本和服务器到服务器使用。无需用户交互。

OCT设置: 创建一个 服务 Okta管理控制台中的应用程序→ 应用程序,启用 客户端凭证 授权类型,并在应用程序的凭据下添加公钥(JWK)。

export OKTA_ORG_URL=https://your-org.okta.com
export OKTA_CLIENT_ID=0oa...your-client-id
export OKTA_PRIVATE_KEY_FILE=/path/to/private-key.pem
# Optional:
export OKTA_PRIVATE_KEY_KID=your-key-id        # if multiple keys are registered
export OKTA_SCOPES="okta.users.manage okta.apps.manage"  # space-separated scopes
export OKTA_AUTH_SERVER_ID=default              # omit for org-level authorization server

或者,内联传递PEM密钥:

export OKTA_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"

选项B——设备授权授予 (建议交互式使用)

最适合有人在场的CLI会话。服务器将打印一个URL和代码——在浏览器中打开URL并输入代码进行授权。

OCT设置: 创建一个 本土的 Okta管理控制台中的应用程序→ 应用程序,启用 设备授权 授权类型,并确保授权服务器策略允许设备授权。

export OKTA_ORG_URL=https://your-org.okta.com
export OKTA_CLIENT_ID=0oa...your-client-id
# Optional:
export OKTA_SCOPES="okta.users.manage okta.apps.manage"
export OKTA_AUTH_SERVER_ID=default

选项C-SSWS API令牌 (遗产)

静态API令牌-简单但安全性较差。保留以实现向后兼容性。

export OKTA_ORG_URL=https://your-org.okta.com
export OKTA_API_TOKEN=your-ssws-token

身份验证模式优先级

当设置多个变量时,服务器会选择最安全的选项:

  1. 私钥JWT --如果 OKTA_CLIENT_ID + OKTA_PRIVATE_KEY / OKTA_PRIVATE_KEY_FILE 已设置
  2. 设备授权授予 要是…就好了 OKTA_CLIENT_ID 已设置
  3. SSWS 要是…就好了 OKTA_API_TOKEN 已设置

自动更新

A. GitHub操作工作流 每周(每周一)运行一次,检查上游对 Okta OpenAPI规范。如果检测到更改,它将重新生成工具清单并自动打开PR。

您还可以从“操作”选项卡手动触发它。

重新生成(供贡献者使用)

如果你更新OpenAPI规范:

  1. 替换 okta-management-openapi.yaml
  2. 跑 npm install && npm run generate
  3. 在中提交更新的JSON清单 src/servers/

项目结构

├── okta-management-openapi.yaml   # Okta OpenAPI spec (input)
├── scripts/
│   └── generate-tools.js          # Parses YAML → per-server JSON manifests
├── src/
│   ├── server-groups.js           # Tag-to-server mapping config
│   ├── create-server.js           # Shared MCP server factory
│   ├── okta-auth.js               # OAuth2 token manager (Device Auth / PKJWT / SSWS)
│   ├── okta-client.js             # HTTP client (delegates auth to okta-auth.js)
│   └── servers/                   # Pre-generated per-server manifests
│       ├── okta-users.json
│       ├── okta-apps.json
│       └── ...
├── servers/                       # Entry points (one per server)
│   ├── okta-users.js
│   ├── okta-apps.js
│   └── ...
└── gemini-extension.json          # Registers all 10 servers