Skip to main content
Glama

Okta-mcp-server

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

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