Token导航 LogoToken导航TokenDH.com
Oktaadmin MCP logo
运维云端未说明官方级别未说明来源级核验

Oktaadmin MCP

MCP Server

一个提供全面Okta管理功能的模型上下文协议(MCP)服务器,支持用户管理、应用管理、组操作和系统管理任务。

工具数

22

提示词数

0

GitHub Stars

0

资源数

0
系统管理TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

WhippsP

提供方

WhippsP

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Okta管理MCP服务器

一种模型上下文协议(MCP)服务器,通过标准化接口提供全面的Okta管理功能。该服务器使AI助手和其他MCP客户端能够在Okta环境中执行用户管理、应用程序管理、组操作和系统管理任务。

特性

用户管理

  • 列出用户:检索Okta组织中的所有用户
  • 获取用户:获取特定用户的详细信息
  • 创建用户:向组织添加新用户
  • 更新用户:修改现有用户配置文件(姓名、电子邮件、电话)
  • 启用/禁用用户:激活或停用用户帐户
  • 删除用户:从组织中永久删除用户
  • 重设密码:为用户生成密码重置令牌

应用程序管理

  • 列出应用程序:查看组织中的所有应用程序
  • 获取应用程序:检索详细的应用程序信息
  • 获取用户应用:查看分配给特定用户的应用程序
  • 将用户分配到应用程序:授予用户应用程序访问权限

组管理

  • 列出组:查看组织中的所有组
  • 获取组:检索详细的组信息
  • 创建组:添加新组
  • 将用户添加到组:将用户分配到组
  • 从组中删除用户:从组中取消分配用户
  • 列出组用户:查看特定组中的所有用户

多因素身份验证(MFA)

  • 列出用户因素:查看为用户配置的所有MFA方法

策略管理

  • 列出政策:查看组织策略(登录、密码、MFA等)

系统管理

  • 列出系统日志:检索审计日志和系统事件
  • 列出网络区域:查看已配置的网络区域

安装

  1. 克隆存储库:
git clone 
cd okta-admin-mcp-server
  1. 安装依赖项:
npm install
  1. 创建一个 .env 项目根目录中的文件:
OKTA_ORG_URL=https://your-org.okta.com
OKTA_API_TOKEN=your-api-token
NODE_ENV=production
  1. 构建项目:
npm run build

配置

环境变量

变量描述必填
OKTA_ORG_URL您的Okta组织URL
OKTA_API_TOKEN具有管理员权限的Okta API令牌
NODE_ENV环境模式(productiontest)没有

Okta API代币设置

  1. 登录Okta管理控制台
  2. 引导到 安全 > API
  3. 点击 代币 标签
  4. 点击 创建令牌
  5. 为令牌提供一个名称
  6. 复制生成的令牌(安全保存)

所需Okta权限

API令牌必须具有以下管理员角色:

  • 超级管理员 (建议使用完整功能)
  • 或特定的管理员角色:

- 用户管理员 - 应用程序管理员 - 组管理员 - 只读管理员(用于读取操作)

用法

启动服务器

npm start

服务器将以stdio模式启动,并通过模型上下文协议进行连接。

发展模式

对于使用模拟数据的开发:

NODE_ENV=test npm start

这使用模拟客户端,而不是对Okta进行真正的API调用。

MCP客户端集成

配置您的MCP客户端以连接到此服务器。各种客户端的示例配置:

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "okta-admin": {
      "command": "node",
      "args": ["path/to/okta-admin-mcp-server/dist/server.js"]
    }
  }
}

API工具参考

用户管理工具

create-user

在Okta中创建新用户。

  • 参数: email, firstName, lastName, activate (可选,默认值:true)

get-user

按ID检索特定用户。

  • 参数: userId

list-user

列出组织中的所有用户。

  • 参数:无

update-user

更新现有用户的个人资料。

  • 参数: userId, firstName (可选), lastName (可选), email (可选), mobilePhone (可选)

disable-user / enable-user

停用或激活用户帐户。

  • 参数: userId

delete-user

永久删除用户。

  • 参数: userId, sendEmail (可选,默认值:false)

reset-user-password

为用户生成密码重置令牌。

  • 参数: userId, sendEmail (可选,默认值:false)

应用程序管理工具

list-applications

列出组织中的所有应用程序。

  • 参数: limit (可选,默认值:20)

get-application

检索特定应用程序的详细信息。

  • 参数: appId

get-user-apps

获取分配给用户的所有应用程序。

  • 参数: userId

assign-user-to-app

将用户分配给应用程序。

  • 参数: appId, userId

组管理工具

list-groups

列出组织中的所有组。

  • 参数: limit (可选,默认值:20)

get-group

检索特定组的详细信息。

  • 参数: groupId

create-group

创建新组。

  • 参数: name, description (可选)

add-user-to-group

将用户添加到组中。

  • 参数: groupId, userId

remove-user-from-group

从组中删除用户。

  • 参数: groupId, userId

list-group-users

列出特定组中的所有用户。

  • 参数: groupId

系统管理工具

list-system-logs

检索系统审核日志。

  • 参数: limit (可选,默认值:100), since (可选,ISO 8601格式)

list-user-factors

列出为用户配置的所有MFA因素。

  • 参数: userId

list-policies

按类型列出组织策略。

  • 参数: type (必填,以下选项之一:OKTA_SIGN_ON、密码、MFA_ENROLL、IDP_DISCOVERY、访问权限、配置文件登录、发布授权、实体登录)

list-zones

列出所有网络区域。

  • 参数:无

建筑

项目结构

src/
├── server.ts              # Main MCP server entry point
├── client/
│   ├── client-factory.ts  # Factory for creating Okta clients
│   └── mock-client.ts     # Mock client for testing
└── tools/
    ├── tool-registry.ts   # Central tool registration
    ├── UserManagement.ts  # User-related operations
    ├── GroupManagement.ts # Group-related operations
    ├── ApplicationManagement.ts # App-related operations
    ├── FactorManagement.ts # MFA-related operations
    ├── PolicyManagement.ts # Policy-related operations
    ├── SystemManagement.ts # System/logging operations
    └── ZoneManagement.ts  # Network zone operations

关键组件

  • 服务器:处理协议通信的主MCP服务器
  • 客户工厂:管理真实与模拟Okta客户的创建
  • 工具模块:按职能领域组织,每个职能领域提供特定的操作
  • 工具注册表:所有可用工具的中心注册点

错误处理

服务器包括全面的错误处理:

  • API错误:捕获Okta API错误并返回描述性消息
  • 验证错误:使用Zod模式进行输入验证
  • 网络错误:连接问题得到妥善处理
  • 身份验证错误:明确报告了无效的令牌或权限

测试

该项目包括全面的基于Jest的测试,可以对模拟数据和真实Okta实例运行。

可用测试命令

# Run tests against mock data (safe, no real API calls)
npm run test

# Run tests against production Okta instance (requires valid credentials)
npm run prdtest

测试配置

测试使用模型上下文协议客户端与服务器交互,提供MCP接口的端到端测试。

模拟模式测试(npm run test)

  • 用途 NODE_ENV=test 环境
  • 没有真正的API调用Okta
  • 可预测的模拟响应
  • 安全,便于持续集成

模拟模式提供:

  • 2个样本用户(u1, u2)
  • 2个样本组(g1, g2)
  • 2个示例应用程序(app1, app2)
  • 示例系统日志、策略和网络区域

生产测试(npm run prdtest)

  • 用途 NODE_ENV=production 环境
  • 对您的Okta实例进行真正的API调用
  • 需要有效 OKTA_ORG_URLOKTA_API_TOKEN
  • 警告:在Okta组织中创建/修改/删除真实数据

测试覆盖率

测试套件涵盖了所有用户管理操作:

  • 列出用户 -检索组织中的所有用户
  • 创建用户 -使用基于时间戳的电子邮件创建测试用户
  • 更新用户 -修改用户配置文件(名字、姓氏)
  • 获取用户 -检索特定用户详细信息
  • 重设密码 -生成密码重置令牌
  • 禁止用户 -停用用户帐户
  • 启用用户 -重新激活用户帐户
  • 删除用户 -永久删除用户
  • 错误处理 -测试无效的用户ID场景

测试数据清理

测试会自动清理创建的数据:

  • 使用基于时间戳的唯一标识符创建测试用户
  • 创建的用户将在测试套件结束时删除
  • 模拟模式不需要清理(不创建真实数据)

运行个人测试

# Run with debug output
DEBUG=true npm run test

# Run specific test file
npm test okta-api.test.ts

测试结构

// Example test structure
describe('User Management Functions', () => {
  it('Should create a new user', async () => {
    const result = await mclient.callTool({
      name: "create-user",
      arguments: { 
        email: "test@example.com",
        firstName: "Test",
        lastName: "User"
      }
    });
    
    expect(result.isError).toBeFalsy();
    expect(result.content).toBeDefined();
  });
});

CI/CD集成

对于持续集成,使用模拟模式以避免API速率限制和数据污染:

# GitHub Actions example
- name: Run Tests
  run: npm run test
  env:
    NODE_ENV: test

安全考虑

  • API代币安全:安全地存储代币并定期轮换
  • 最小特权:使用具有最低所需权限的管理员角色
  • 网络安全:考虑IP限制和网络区域
  • 审计日志:监控系统日志以防止未经授权的访问
  • 环境隔离:使用单独的令牌进行开发/生产

故障排除

常见问题

  1. 身份验证失败

- 验证 OKTA_ORG_URL 正确(包括https://) - 检查API令牌的有效性和权限 - 确保令牌未过期

  1. 权限不足

- 验证管理员角色分配 - 检查特定操作是否需要更高的权限

  1. 网络问题

- 验证与Okta的网络连接 - 检查防火墙和代理设置 - 验证SSL/TLS配置

  1. 资源未找到

- 验证用户/组/应用程序ID是否正确 - 检查您的组织中是否存在资源

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 彻底测试(包括模拟模式)
  5. 提交拉取请求

许可证

\[待添加许可证信息\]

支持

对于问题和疑问:

  • 检查故障排除部分
  • 查看Okta API文件
  • 在项目存储库中打开问题

目录标签

目录标签

系统管理TypeScriptClaude身份管理本地部署用户管理应用管理组管理

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

22

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP