mcpField
O
onelogin-mcp

onelogin-mcp

ローカル
github.com/oneloginセキュリティ56 週間前に更新

onelogin-mcp について

onelogin-mcpは、MCPクライアントからOneLogin APIを利用し、ID、アプリケーション、認証、セキュリティを管理するサーバーです。対応APIの各領域をツールで扱え、認証情報の設定方法とツール説明も用意されています。

主な機能

  1. 01ユーザー、ロール、グループの管理
  2. 02アプリケーションとコネクターの操作
  3. 03MFA、セッション、トークンのツール
  4. 04セキュリティポリシーとリスクルールの制御
  5. 05イベント、レポート、アカウントの操作

活用シーン

  1. 01ユーザーの作成とロールの割り当て
  2. 02SAMLアプリの確認と管理
  3. 03MFAトークンの生成とセッションの確認

MCP 対応

MCPサーバーは、Claude DesktopやOpenCodeを含むMCPクライアントに、OneLogin API操作を構造化ツールとして公開します。認証情報は環境変数または設定ファイルで指定できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"onelogin-onelogin": {
"command": "npx",
"args": [
"-y",
"@onelogin/onelogin-mcp"
],
"env": {
"ONELOGIN_URL": "<ONELOGIN_URL>",
"ONELOGIN_CLIENT_ID": "<ONELOGIN_CLIENT_ID>",
"ONELOGIN_CLIENT_SECRET": "<ONELOGIN_CLIENT_SECRET>"
}
}
}
}
起動コマンドnpx -y @onelogin/onelogin-mcp
設定が必要な環境変数
ONELOGIN_URLYour OneLogin instance URL (e.g. https://mycompany.onelogin.com)
ONELOGIN_CLIENT_IDシークレットOneLogin OAuth2 API client ID
ONELOGIN_CLIENT_SECRETシークレットOneLogin OAuth2 API client secret

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@onelogin/onelogin-mcp1.2.1

ツール

156

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pagenumberいいえページ分割のページ番号
emailstringいいえメールアドレスで絞り込みます
limitnumberいいえ返す結果の数(デフォルトは 50)
cursorstringいいえ次のページを取得するには、以前のレスポンスのページネーションブロックにある after_cursor(次のページ)または before_cursor(前のページ)の値を渡します。カーソルパラメーターはどちらの方向にも使用できます。単独で送信してください。limit/page はすでにエンコードされており、API はカーソルと limit/page/sort の併用を拒否します。
statusnumberいいえステータスで絞り込みます(0=未アクティブ、1=アクティブ、2=停止中、3=ロック中、4=パスワード期限切れ、5=パスワードリセット待ち、7=パスワード設定待ち、8=セキュリティ質問が必要)
lastnamestringいいえ姓で絞り込みます
firstnamestringいいえ名で絞り込みます

詳細

OneLogin MCP サーバー

Model Context Protocol サーバーで、OneLogin API への包括的なアクセスを提供します。Claude Desktop、OpenCode、その他の MCP クライアントから、ユーザー、アプリ、ロール、認証、セキュリティ設定を管理できます。

概要

このサーバーは、サポートされている OneLogin API エンドポイントを幅広くカバーするツールを提供します。

  • ID 管理:ユーザー、ロール、グループ
  • アプリケーション:アプリ、コネクタ、SAML、OAuth
  • 認証:MFA、セッション、リスクルール
  • セキュリティ:API 認可
  • 設定:ブランド、マッピング
  • 運用:イベント、レポート、レート制限

すべてのツールには、警告、ベストプラクティス、戻り値の仕様を含む詳細な説明が用意されています。

デモ

https://github.com/user-attachments/assets/512abc44-6bb4-42e4-bb47-c0bc16f29beb

インストール

前提条件
セットアップ
オプション 1:環境変数(推奨)

認証情報を Claude Desktop の設定に直接記述します。個別のセットアップは必要ありません。

設定ファイルを編集します。

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

単一環境:

{
  "mcpServers": {
    "onelogin": {
      "command": "npx",
      "args": ["-y", "@onelogin/onelogin-mcp"],
      "env": {
        "ONELOGIN_URL": "https://mycompany.onelogin.com",
        "ONELOGIN_CLIENT_ID": "your_client_id",
        "ONELOGIN_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

複数環境(本番/テストの分離):

{
  "mcpServers": {
    "onelogin-prod": {
      "command": "npx",
      "args": ["-y", "@onelogin/onelogin-mcp"],
      "env": {
        "ONELOGIN_URL": "https://company.onelogin.com",
        "ONELOGIN_CLIENT_ID": "prod_client_id",
        "ONELOGIN_CLIENT_SECRET": "prod_secret"
      }
    },
    "onelogin-test": {
      "command": "npx",
      "args": ["-y", "@onelogin/onelogin-mcp"],
      "env": {
        "ONELOGIN_URL": "https://company-test.onelogin.com",
        "ONELOGIN_CLIENT_ID": "test_client_id",
        "ONELOGIN_CLIENT_SECRET": "test_secret"
      }
    }
  }
}

任意の環境変数:

  • ONELOGIN_USE_PREPROD:preprod 環境の場合は "true" に設定します
  • ONELOGIN_LEGACY_KEY:レガシー API キー(通常は不要です)
  • ONELOGIN_SERVER:ログ記録用のサーバー名(デフォルトは "default")

設定後、Claude Desktop を完全に再起動してください。

OpenCode の設定

OpenCode を利用する場合は、~/.config/opencode/mcp.json に追加します。

単一環境:

{
  "mcpServers": {
    "onelogin": {
      "command": "npx",
      "args": ["-y", "@onelogin/onelogin-mcp"],
      "env": {
        "ONELOGIN_URL": "https://mycompany.onelogin.com",
        "ONELOGIN_CLIENT_ID": "your_client_id",
        "ONELOGIN_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

複数環境:

{
  "mcpServers": {
    "onelogin-prod": {
      "command": "npx",
      "args": ["-y", "@onelogin/onelogin-mcp"],
      "env": {
        "ONELOGIN_URL": "https://company.onelogin.com",
        "ONELOGIN_CLIENT_ID": "prod_client_id",
        "ONELOGIN_CLIENT_SECRET": "prod_secret"
      }
    },
    "onelogin-test": {
      "command": "npx",
      "args": ["-y", "@onelogin/onelogin-mcp"],
      "env": {
        "ONELOGIN_URL": "https://company-test.onelogin.com",
        "ONELOGIN_CLIENT_ID": "test_client_id",
        "ONELOGIN_CLIENT_SECRET": "test_secret"
      }
    }
  }
}

設定後、OpenCode を再起動してください。

オプション 2:セットアップスクリプト(servers.json)

設定ファイルを使用する代替方法です。

  1. パッケージをインストールします。
npm install -g @onelogin/onelogin-mcp
  1. OneLogin の認証情報を設定します。
npx onelogin-mcp-setup

プロンプトが表示されたら、OneLogin サーバーの詳細を入力します。

  • サーバー名(例:"Production"、"Test")
  • OneLogin サブドメイン URL(例:https://mycompany.onelogin.com)
  • OAuth2 クライアント ID とシークレット

設定は ~/.config/onelogin-mcp/servers.json に保存されます。

  1. Claude Desktop の設定に追加します。

設定ファイルを編集します。

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

単一環境:

{
  "mcpServers": {
    "onelogin": {
      "command": "npx",
      "args": ["-y", "@onelogin/onelogin-mcp"]
    }
  }
}

複数環境(サーバー名で参照):

{
  "mcpServers": {
    "onelogin-prod": {
      "command": "npx",
      "args": ["-y", "@onelogin/onelogin-mcp"],
      "env": {
        "ONELOGIN_SERVER": "Production"
      }
    },
    "onelogin-test": {
      "command": "npx",
      "args": ["-y", "@onelogin/onelogin-mcp"],
      "env": {
        "ONELOGIN_SERVER": "Test"
      }
    }
  }
}
  1. Claude Desktop を完全に再起動します。

使い方

自然言語で OneLogin を操作します。

List all users with email ending in @example.com
Get details for user ID 12345
Create a user [email protected] with firstname John, lastname Doe
Assign roles [123, 456] to user 789
Generate MFA token for user 101112
List all SAML apps

Claude が適切なツールを選択して OneLogin API を呼び出し、結果を提示します。

API の対応範囲

このサーバーは、7 つの主要カテゴリに分類された 156 個のツールを提供します。

ID とアクセス(59 個のツール)

  • ユーザー(14)
  • ロール(13)
  • 権限(11)
  • グループ(6)
  • マッピング(15)

アプリケーション(17 個のツール)

  • アプリ(15)
  • コネクタ(2)

認証(21 個のツール)

  • MFA(10)
  • セッション(5)
  • SAML(2)
  • OAuth トークン(2)
  • 招待リンク(2)

セキュリティ(40 個のツール)

  • ポリシー(7)
  • リスクルール(6)
  • スマートフック(11)
  • API 認可(16)

カスタマイズ(6 個のツール)

  • ブランド(6)

監視(9 個のツール)

  • イベント(2)
  • レポート(5)
  • レート制限(2)

アカウント管理(4 個のツール)

  • アカウント(4)

設定

認証情報の管理

このサーバーでは、次の 2 つの設定方法をサポートしています。

  1. 環境変数(推奨):MCP クライアントの設定で ONELOGIN_URL、ONELOGIN_CLIENT_ID、ONELOGIN_CLIENT_SECRET を設定します(上記のインストールを参照)
  2. 設定ファイル:npx onelogin-mcp-setup を使って、認証情報を ~/.config/onelogin-mcp/servers.json に保存します

環境変数は設定ファイルより優先されます。設定例の詳細については、上記のインストールセクションを参照してください。

任意の環境変数
  • ONELOGIN_USE_PREPROD:プレプロダクション環境では "true" に設定します
  • ONELOGIN_LEGACY_KEY:レガシー API キー(通常は不要です)
  • ONELOGIN_SERVER:ログ用のサーバー名(デフォルトは "default")、または servers.json から名前付きサーバーを選択します

レスポンス形式

すべてのツールは、構造化されたレスポンスを返します。

{
  "success": true,
  "request_id": "68F194DE-0A0D05A2-55F8-0A0F6C42-01BB-62EAE-0008",
  "status": 200,
  "data": {
    // Tool-specific data
  }
}

request_id は、Datadog と OneLogin のログでトレースするための HTTP ヘッダー x-request-id と一致します。

トラブルシューティング

Claude Desktop にサーバーが表示されない
  1. JSON 設定の構文を確認します
  2. index.js への絶対パスを指定していることを確認します
  3. Claude Desktop を完全に再起動します(終了してから再度開きます)
"spawn bun ENOENT" エラー

Claude が Bun ランタイムを見つけられません。解決方法:

# Verify Bun is installed
which bun

# If not found, install Bun
curl -fsSL https://bun.sh/install | bash

# Or use full path in config
{
  "command": "/Users/yourname/.bun/bin/bun",
  "args": ["run", "/path/to/index.js"]
}
認証エラー
  1. 環境変数を使用している場合:Claude Desktop の設定で ONELOGIN_URL、ONELOGIN_CLIENT_ID、ONELOGIN_CLIENT_SECRET を確認します
  2. servers.json を使用している場合:~/.config/onelogin-mcp/servers.json の認証情報を確認します
  3. OAuth2 クライアントに OneLogin 管理パネルで API 権限が付与されていることを確認します
  4. client_id と client_secret が API v2 用であることを確認します
環境が異なる

環境変数を使用している場合:各 MCP サーバーエントリーにはそれぞれの認証情報が設定されています。Claude で正しいサーバーインスタンスと通信していることを確認します。

servers.json を使用している場合:Claude Desktop の設定にある ONELOGIN_SERVER 環境変数が、servers.json のサーバー名と一致していることを確認します。

プロジェクト構成

onelogin-mcp/
├── index.js                    # MCP server entry point
├── setup.js                    # Interactive credential setup
├── lib/
│   ├── config.js               # Credential management
│   ├── onelogin-api.js         # OAuth2 client with token caching
│   └── tools/
│       ├── registry.js         # Tool registry and dispatcher
│       ├── users.js            # User management (14 tools)
│       ├── roles.js            # Role management (13 tools)
│       ├── privileges.js       # Privilege management (11 tools)
│       ├── apps.js             # App management (15 tools)
│       ├── mfa.js              # MFA management (10 tools)
│       ├── mappings.js         # User mappings (15 tools)
│       ├── smart-hooks.js      # Smart Hooks (11 tools)
│       ├── policies.js         # Security policies (7 tools)
│       ├── risk-rules.js       # Risk rules (6 tools)
│       ├── api-authorization.js # OAuth scopes (16 tools)
│       ├── sessions.js         # Session tokens (5 tools)
│       ├── brands.js           # Branding (6 tools)
│       ├── connectors.js       # App catalog (2 tools)
│       ├── reports.js          # Analytics (5 tools)
│       ├── rate-limits.js      # API throttling (2 tools)
│       ├── saml.js             # SAML assertions (2 tools)
│       ├── invite-links.js     # Password resets (2 tools)
│       ├── oauth-tokens.js     # OAuth tokens (2 tools)
│       ├── events.js           # Audit logs (2 tools)
│       ├── groups.js           # User groups (6 tools)
│       └── accounts.js         # Child accounts (4 tools)
├── package.json
├── CONTRIBUTING.md
├── PROGRESS.md
└── README.md

開発

新しいツールの追加に関するガイドラインについては、CONTRIBUTING.md を参照してください。

主な規約:

  • ツールの説明には、警告、ベストプラクティス、返却データの構造を含めます
  • すべてのモジュールは tools 配列と handlers オブジェクトをエクスポートします
  • レジストリはモジュールのインポートからツールを自動検出します

リリース

npm に新しいバージョンを公開するには:

  1. 変更を main ブランチにマージします

  2. GitHub リリースを作成します:

    • Releases → "Draft a new release" に移動します
    • バージョンを含む新しいタグ(例:v1.1.0)を作成します
    • リリースタイトル(例:"v1.1.0 - MFA API fixes")を設定します
    • 変更内容を説明するリリースノートを追加します
    • "Publish release" をクリックします
  3. 自動公開:GitHub Action が次の処理を行います:

    • リリースタグからバージョンを抽出します(v 接頭辞を除去します)
    • package.json を新しいバージョンに更新します
    • @onelogin/onelogin-mcp として npm に公開します

バージョン形式:セマンティックバージョニング(MAJOR.MINOR.PATCH)を使用します

  • MAJOR:互換性を損なう API の変更
  • MINOR:後方互換性のある新機能
  • PATCH:後方互換性のあるバグ修正

手動での公開(必要な場合):

  • Actions → "Publish Package" → "Run workflow" に移動します
  • 必要に応じて、バージョンの上書きを指定します

サポート

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。