Skip to main content
Glama

Okta-mcp-server

Okta MCP 服务器是一款突破性的工具,它使 AI 模型能够使用模型上下文协议 (MCP) 直接与您的 Okta 环境交互。它专为 IAM 工程师、安全团队和 Okta 管理员构建,并遵循 MCP 规范,旨在彻底改变 AI 助手管理和分析 Okta 资源的方式。

📋 目录

🔍 什么是模型上下文协议?

⚠️ 重要提示:安全性和限制

在使用 Okta MCP 服务器之前,请仔细阅读本节。

🔄 数据流与隐私

当您发出请求时,交互直接发生在 LLM 和 Okta MCP 工具之间——客户端应用程序不再位于中间。这些工具返回的所有数据(包括完整的用户配置文件、组成员身份等)都会在该对话的整个事务期间发送到 LLM 的上下文中并存储在其中。

关键隐私考虑因素:

  • LLM(Claude、GPT 等)接收并处理工具检索的所有 Okta 数据
  • 这些数据在对话期间保留在法学硕士的上下文中
  • 您必须同意 LLM 提供商的系统处理您的 Okta 用户数据
  • 在使用这些工具之前,请确保您同意将 Okta 数据发送到 AI 模型的服务器

📊 上下文窗口限制

MCP 是为类似 Zapier 的轻量级工作流程而设计的,而不是批量数据操作。

**建议:**将每个事务的请求限制为少于 100 个实体。避免需要获取大型数据集或多次 API 调用的操作。

例子:

避免以下类型的请求:

  • “从我们的 Okta 租户中获取所有 10,000 名用户并分析他们的登录模式”
  • “查找未注册 Okta Verify 的用户”

更好的方法:

  • “获取最近创建的20个用户”
  • “查找 90 ��以上未登录的用户,限制显示前 50 条结果”

💡**对于更大的数据集和复杂的查询:**考虑使用Okta AI Agent进行更大的查询和数据集,该代理正在通过类似的“可操作”功能进行增强,以便在不久的将来处理更大的数据集和更复杂的场景。

🚨 SSE 传输安全警告

SSE over HTTP 传输模式存在较大的安全风险:

  • 它会打开一个未经身份验证的 HTTP 服务器,并具有对 Okta 租户的完全访问权限
  • 不提供身份验证或授权
  • 任何可以访问网络端口的人都可以向您的 Okta 环境发出命令

**最佳实践:**除非您有特定的安全控制,否则仅使用 STDIO 传输方法(默认模式)。

🛠️ 可用工具

Okta MCP 服务器目前提供以下工具:

用户管理

  • list_okta_users - 使用过滤、搜索和分页选项检索用户
  • get_okta_user - 通过 ID 或登录获取特定用户的详细信息
  • list_okta_user_groups - 列出特定用户所属的所有组
  • list_okta_user_applications - 列出特定用户的所有应用程序链接(分配的应用程序)
  • list_okta_user_factors - 列出为特定用户注册的所有身份验证因素

集团运营

  • list_okta_groups - 使用过滤、搜索和分页选项检索组
  • get_okta_group - 获取有关特定组的详细信息
  • list_okta_group_members - 列出特定组的所有成员
  • list_okta_assigned_applications_for_group - 列出分配给特定组的所有应用程序

应用程序管理

  • list_okta_applications - 使用过滤、搜索和分页选项检索应用程序
  • list_okta_application_users - 列出分配给特定应用程序的所有用户
  • list_okta_application_group_assignments - 列出分配给特定应用程序的所有组

策略与网络管理

  • list_okta_policy_rules - 列出特定策略的所有规则,包括详细条件和操作
  • get_okta_policy_rule - 获取有关特定策略规则的详细信息
  • list_okta_network_zones - 列出所有网络区域及其 IP 范围和配置详细信息

系统日志事件

  • get_okta_event_logs - 使用基于时间的过滤和搜索选项检索 Okta 系统日志事件

日期和时间实用程序

  • get_current_time - 获取 ISO 8601 格式的当前 UTC 时间
  • parse_relative_time - 将自然语言时间表达转换为 ISO 8601 格式

针对应用程序、因素、策略和更高级操作的附加工具已列入路线图,并将在未来的版本中添加。

🚀 快速入门

先决条件

✅ 您的机器上安装了 Python 3.8+
✅ 具有适当 API 访问权限的 Okta 租户
✅ 与 MCP 兼容的 AI 客户端(Claude Desktop、Microsoft Copilot Studio 等)

⚠️ 重要模型兼容性说明:
并非所有 AI 模型都可与此 MCP 服务器兼容。测试仅针对以下设备进行:

  • GPT-4.0
  • 克劳德 3.7 十四行诗
  • Google-2.5-pro

您必须使用明确支持工具调用/函数调用功能的最新模型版本。较旧的模型或不支持工具调用的模型将无法与 Okta MCP 服务器交互。

🧠 支持的 AI 提供商

Okta MCP 服务器通过其灵活的配置系统支持多个 AI 提供商。这允许您根据特定需求和现有访问权限连接到各种大型语言模型。

当前支持的提供商:

提供者环境变量描述
OpenAIAI_PROVIDER=openai使用 GPT-4o 等模型连接到 OpenAI API。需要 OpenAI API 密钥。
Azure OpenAIAI_PROVIDER=azure_openai使用具有增强安全性和合规性功能的 Azure 托管 OpenAI 模型。
人择AI_PROVIDER=anthropic连接到 Anthropic 的 Claude 模型(主要使用 Claude 3.7 Sonnet 进行测试)。
谷歌 Vertex AIAI_PROVIDER=vertex_ai通过 Vertex AI 使用 Google 的 Gemini 模型。需要 Google Cloud 服务帐户。
OpenAI 兼容AI_PROVIDER=openai_compatible连接到任何与 OpenAI API 兼容的端点,例如 Fireworks.ai、Ollama 或其他实现 OpenAI API 规范的提供商。

安装

# Clone the repository git clone https://github.com/fctr-id/okta-mcp-server.git cd okta-mcp-server # Create and activate a virtual environment python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate # Install dependencies pip install -r requirements.txt

**⚠️ 注意:**如果您重新克隆此存储库或提取更新,请务必重新运行pip install -r requirements.txt以确保所有依赖项都是最新的。

配置和使用

使用您的 Okta 设置创建一个配置文件:

要使用命令行客户端(无内存),请使用以下说明

# Copy the sample config cp .env.sample .env # Edit the env with your settings # Required: Okta domain and API token and LLM settings cd clients python mcp-cli-stdio-client.py

要使用 Claude Code、vsCode 等 MCP 主机,请找到下面的 json 配置

支持的运输和发射

Okta MCP 服务器支持两种传输协议:

1. 标准 I/O (STDIO) - 推荐
  • 安全性:通过标准输入/输出流直接通信
  • 用例:非常适合 Claude Desktop 等桌面 AI 助手
  • 配置:对于 Claude Desktop,添加到claude_desktop_config.json
    { "mcpServers": { "okta-mcp-server": { "command": "DIR/okta-mcp-server/venv/Scripts/python", "args": [ "DIR/okta-mcp-server/main.py" ], "env": { "OKTA_CLIENT_ORGURL": "https://dev-1606.okta.com", "OKTA_API_TOKEN": "OKTA_API_TOKEN" } } } }
    DIR替换为您的绝对目录路径,将OKTA_API_TOKEN为您的实际令牌
2. 服务器发送事件 (SSE) - 仅限高级使用
# Run in SSE mode (requires explicit risk acknowledgment) python main.py --sse --iunderstandtherisks

⚠️警告:SSE 传输会将您的服务器通过 Web 端点暴露给任何能够访问您网络的人。请仅在具有适当网络保护措施的安全环境中使用。

  • 对于其他 MCP 客户端:根据其 STDIO 或 SSE 传输的文档进行配置。

⚠️ 值得了解

Alpha 版本🧪

  • 早期开发阶段 - 预计频繁更新
  • API表面覆盖范围仍在扩大
  • 目前专注于用户和组的只读操作
  • 正在快速添加更多工具和功能
  • 尚不适合生产环境

安全第一

  • 专为最低权限操作而设计
  • Okta 资源的默认只读访问权限
  • 未来的写入操作将需要明确的批准流程

当前限制🔍

  • 从为用户和组提供有限的只读工具开始
  • 计划在即将发布的版本中快速扩展 API 覆盖范围
  • 一些复杂的 Okta 关系尚未公开
  • 非常大的 Okta 实例的性能尚未优化
  • 需要直接通过网络访问 Okta API 端点

🗺️ 路线图

目前进展:

  • [x] MCP 协议合规性
  • [x] 基本 Okta API 集成
  • [x] 只读操作支持

未来计划包括:

  • [ ] 综合文档
  • [ ] 完成用户生命周期操作
  • [ ] 应用程序分配管理
  • [ ] 群组成员操作
  • [ ] 因子登记与验证
  • [ ] 策略和规则管理
  • [ ] 敏感操作的审批工作流程
  • [ ] 多渠道审批选项(网络、电子邮件、Slack)
  • [ ] 审计日志和合规性报告
  • [ ] 系统日志集成
  • [ ] 安全洞察生成
  • [ ] 多租户支持
  • [ ] 基于角色的访问控制

🆘 需要幫助嗎?

在提出问题之前,请检查:

  1. 📝 服务器配置
  2. 🔑 Okta API 权限
  3. 🔌 MCP 客户端兼容性
  4. 📊 服务器日志

仍有问题?请在 GitHub 上提交问题或发送电子邮件至 support@fctr.io (回复时间可能有所不同)

💡 功能需求和想法

有想法或建议吗?在 GitHub 上提交功能请求

👥 贡献者

有兴趣贡献吗?我们非常欢迎!请联系info@fctr.io了解合作机会。

⚖️ 法律事务

请查看License.md了解详细信息。


🌟 © 2025 Fctr Identity。保留所有权利。用心❤️为 Okta 和 AI 社区打造。

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fctr-id/okta-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server