onelogin-mcp について
onelogin-mcpは、MCPクライアントからOneLogin APIを利用し、ID、アプリケーション、認証、セキュリティを管理するサーバーです。対応APIの各領域をツールで扱え、認証情報の設定方法とツール説明も用意されています。
主な機能
- 01ユーザー、ロール、グループの管理
- 02アプリケーションとコネクターの操作
- 03MFA、セッション、トークンのツール
- 04セキュリティポリシーとリスクルールの制御
- 05イベント、レポート、アカウントの操作
活用シーン
- 01ユーザーの作成とロールの割り当て
- 02SAMLアプリの確認と管理
- 03MFAトークンの生成とセッションの確認
MCP 対応
MCPサーバーは、Claude DesktopやOpenCodeを含むMCPクライアントに、OneLogin API操作を構造化ツールとして公開します。認証情報は環境変数または設定ファイルで指定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @onelogin/onelogin-mcpONELOGIN_URLYour OneLogin instance URL (e.g. https://mycompany.onelogin.com)ONELOGIN_CLIENT_IDシークレットOneLogin OAuth2 API client IDONELOGIN_CLIENT_SECRETシークレットOneLogin OAuth2 API client secretローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
156掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| page | number | いいえ | ページ分割のページ番号 |
| string | いいえ | メールアドレスで絞り込みます | |
| limit | number | いいえ | 返す結果の数(デフォルトは 50) |
| cursor | string | いいえ | 次のページを取得するには、以前のレスポンスのページネーションブロックにある after_cursor(次のページ)または before_cursor(前のページ)の値を渡します。カーソルパラメーターはどちらの方向にも使用できます。単独で送信してください。limit/page はすでにエンコードされており、API はカーソルと limit/page/sort の併用を拒否します。 |
| status | number | いいえ | ステータスで絞り込みます(0=未アクティブ、1=アクティブ、2=停止中、3=ロック中、4=パスワード期限切れ、5=パスワードリセット待ち、7=パスワード設定待ち、8=セキュリティ質問が必要) |
| lastname | string | いいえ | 姓で絞り込みます |
| firstname | string | いいえ | 名で絞り込みます |
詳細
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
インストール
前提条件
- OneLogin API 認証情報(OAuth2 クライアント ID とシークレット)
- OpenCode、Claude Desktop、Copilot CLI、Claude Code などの AI クライアント
セットアップ
オプション 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)
設定ファイルを使用する代替方法です。
- パッケージをインストールします。
npm install -g @onelogin/onelogin-mcp
- OneLogin の認証情報を設定します。
npx onelogin-mcp-setup
プロンプトが表示されたら、OneLogin サーバーの詳細を入力します。
- サーバー名(例:"Production"、"Test")
- OneLogin サブドメイン URL(例:
https://mycompany.onelogin.com) - OAuth2 クライアント ID とシークレット
設定は ~/.config/onelogin-mcp/servers.json に保存されます。
- 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"
}
}
}
}
- 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 つの設定方法をサポートしています。
- 環境変数(推奨):MCP クライアントの設定で
ONELOGIN_URL、ONELOGIN_CLIENT_ID、ONELOGIN_CLIENT_SECRETを設定します(上記のインストールを参照) - 設定ファイル:
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 にサーバーが表示されない
- JSON 設定の構文を確認します
index.jsへの絶対パスを指定していることを確認します- 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"]
}
認証エラー
- 環境変数を使用している場合:Claude Desktop の設定で
ONELOGIN_URL、ONELOGIN_CLIENT_ID、ONELOGIN_CLIENT_SECRETを確認します - servers.json を使用している場合:
~/.config/onelogin-mcp/servers.jsonの認証情報を確認します - OAuth2 クライアントに OneLogin 管理パネルで API 権限が付与されていることを確認します
- 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 に新しいバージョンを公開するには:
-
変更を
mainブランチにマージします -
GitHub リリースを作成します:
- Releases → "Draft a new release" に移動します
- バージョンを含む新しいタグ(例:
v1.1.0)を作成します - リリースタイトル(例:"v1.1.0 - MFA API fixes")を設定します
- 変更内容を説明するリリースノートを追加します
- "Publish release" をクリックします
-
自動公開:GitHub Action が次の処理を行います:
- リリースタグからバージョンを抽出します(
v接頭辞を除去します) package.jsonを新しいバージョンに更新します@onelogin/onelogin-mcpとして npm に公開します
- リリースタグからバージョンを抽出します(
バージョン形式:セマンティックバージョニング(MAJOR.MINOR.PATCH)を使用します
MAJOR:互換性を損なう API の変更MINOR:後方互換性のある新機能PATCH:後方互換性のあるバグ修正
手動での公開(必要な場合):
- Actions → "Publish Package" → "Run workflow" に移動します
- 必要に応じて、バージョンの上書きを指定します
サポート
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。