Okta-mcp-server

Integrations

  • Supported AI provider via Google Vertex AI, allowing use of Google's Gemini models through the Vertex AI platform.

  • Mentioned as an example integration that could be used alongside the Okta MCP Server for operations like creating spreadsheets with Okta user data.

  • Enables AI models to interact directly with Okta environments, providing tools for user management (listing, retrieving user details), group operations (listing groups and members), application management (listing applications and assigned users), policy and network management (listing policy rules and network zones), and system log event retrieval.

Okta MCPサーバーは、モデルコンテキストプロトコル(MCP)を使用してAIモデルがOkta環境と直接連携できるようにする画期的なツールです。IAMエンジニア、セキュリティチーム、そしてOkta管理者向けに特別に構築されたこのサーバーは、MCP仕様を実装し、AIアシスタントによるOktaリソースの管理と分析を変革します。

📋 目次

🔍 モデルコンテキストプロトコルとは何ですか?

⚠️ 重要: セキュリティと制限事項

Okta MCP サーバーを使用する前に、このセクションをよくお読みください。

🔄 データフローとプライバシー

リクエストを行うと、LLMとOkta MCPツールの間で直接やり取りが行われます。クライアントアプリケーションは介在しません。これらのツールから返されるすべてのデータ(完全なユーザープロファイル、グループメンバーシップなどを含む)は、その会話のトランザクション全体を通してLLMのコンテキストに送信され、保存されます。

重要なプライバシーに関する考慮事項:

  • LLM(Claude、GPTなど)は、ツールによって取得されたすべてのOktaデータを受信して処理します。
  • このデータは会話中はLLMのコンテキスト内に残ります
  • OktaユーザーデータがLLMプロバイダーのシステムによって処理されることに同意する必要があります。
  • これらのツールを使用する前に、OktaのデータがAIモデルのサーバーに送信されることに問題がないことを確認してください。

📊 コンテキストウィンドウの制限

MCP は、大量のデータ操作ではなく、Zapier に似た軽量ワークフロー向けに設計されています。

**推奨事項:**リクエストはトランザクションごとに100エンティティ未満に制限してください。大規模なデータセットの取得や複数のAPI呼び出しを必要とする操作は避けてください。

例:

次のようなリクエストは避けてください:

  • 「Okta テナントから 10,000 人のユーザー全員を取得し、ログイン パターンを分析します」
  • 「Okta Verify を要素として登録していないユーザーを検索する」

より良いアプローチ:

  • 「最近作成された20人のユーザーを取得する」
  • 「90日以上ログインしていないユーザーを検索します。最初の50件の結果に制限されます」

💡**大規模なデータセットと複雑なクエリの場合:**大規模なクエリとデータセットには、 Okta AI エージェントの使用を検討してください。エージェントは、近い将来、大規模なデータセットとより複雑なシナリオを処理できるように、同様の「実用的な」機能で強化される予定です。

🚨 SSE トランスポート セキュリティ警告

SSE over HTTP トランスポート モードには重大なセキュリティ リスクがあります。

  • Oktaテナントへのフルアクセス権を持つ認証されていないHTTPサーバーを開きます
  • 認証や承認は提供されません
  • ネットワークポートにアクセスできる人は誰でも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-プロ

ツール呼び出し/関数呼び出し機能を明示的にサポートする最新バージョンのモデルを使用する必要があります。古いモデルやツール呼び出しをサポートしていないモデルは、Okta MCPサーバーと連携できません。

🧠 サポートされているAIプロバイダー

Okta MCPサーバーは、柔軟な設定システムを通じて複数のAIプロバイダーをサポートします。これにより、特定のニーズと既存のアクセスに基づいて、さまざまな大規模言語モデルに接続できます。

現在サポートされているプロバイダー:

プロバイダー環境変数説明
オープンAIAI_PROVIDER=openaiGPT-4oなどのモデルを使用してOpenAI APIに接続します。OpenAI APIキーが必要です。
Azure OpenAIAI_PROVIDER=azure_openai強化されたセキュリティとコンプライアンス機能を備えた Azure ホストの OpenAI モデルを使用します。
人類学的AI_PROVIDER=anthropicAnthropic の Claude モデルに接続します (主に Claude 3.7 Sonnet でテストされています)。
Google Vertex AIAI_PROVIDER=vertex_aiVertex AI 経由で Google Gemini モデルを使用します。Google Cloud サービス アカウントが必要です。
OpenAI対応AI_PROVIDER=openai_compatibleFireworks.ai、Ollama、または OpenAI API 仕様を実装するその他のプロバイダーなど、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 サーバーは、次の 2 つのトランスポート プロトコルをサポートしています。

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 トランスポートのドキュメントに従って構成します。

⚠️ 知っておくと良いこと

アルファ版リリース 🧪

  • 開発初期段階 - 頻繁なアップデートが予想されます
  • 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. All rights reserved. OktaとAIコミュニティのために❤️を込めて作成しました。

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    An MCP server implementation that enables interaction with the Letta API for managing agents, memory blocks, and tools in the Letta system.
    Last updated -
    9
    13
    JavaScript
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    MCP Server for Netbird
    Last updated -
    28
    Go
    Apache 2.0

View all related MCP servers

ID: q1myh7k2mh