Onelogin Mcp

io.github.onelogin由 GitHub 账号 onelogin 发布v1.2.1更新于 Oct 25, 2026

MCP server for OneLogin API - manage users, apps, roles, and authentication

已验证STDIO仅桌面效率与工作流安全与监控

概览

AI 生成的概览

一个本地 MCP 服务器,将助手连接到 OneLogin API,用于管理用户、角色、应用、身份验证和安全设置。

可以做什么
管理身份与访问:用户、角色、权限、用户组和映射,包括创建用户以及为用户分配角色或权限(R55、R56、R57、R58、R59、R60、R51)。管理应用:应用和连接器,包括列出 SAML 与 OAuth 应用(R61、R62、R63、R51)。处理身份验证:MFA 令牌、会话、SAML 断言、OAuth 令牌和邀请链接(R64、R65、R66、R67、R68、R69)。配置安全:策略、风险规则、Smart Hooks 和 API 授权范围(R70、R71、R72、R73、R74)。定制与监控:品牌、事件、报告和速率限制,以及子账户(R75、R76、R77、R78、R79、R80、R81、R82)。
适用场景
当助手需要直接操作 OneLogin 租户时适用:查询或创建用户、分配角色、列出 SAML 应用、生成 MFA 令牌、查看审计事件和报告,或通过自然语言调整安全策略和 API 范围。
运行要求
通过 npm 包 @onelogin/onelogin-mcp 以 npx 在本地运行,需要 Node.js。需要 OneLogin OAuth2 API 凭据(客户端 ID 和密钥)以及租户 URL,通过 ONELOGIN_CLIENT_ID、ONELOGIN_CLIENT_SECRET 和 ONELOGIN_URL 提供,或使用安装脚本存入本地配置文件。OAuth2 客户端需在 OneLogin 管理面板中具备 API 权限。需要能访问 OneLogin 实例的网络。
安装前请注意
该服务器持有 OneLogin OAuth2 凭据(ONELOGIN_CLIENT_ID、ONELOGIN_CLIENT_SECRET),可授予对租户的管理访问权限;请勿放入共享配置,并优先在测试租户中试用。156 个工具中许多会写入或更改数据,例如创建用户、分配角色、生成 MFA 令牌、修改策略、风险规则和 API 授权。还可配置可选的旧版 API 密钥(ONELOGIN_LEGACY_KEY)。所有请求都会发送到所配置的 OneLogin 实例。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Onelogin Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

OneLogin MCP Server

A Model Context Protocol server providing comprehensive access to the OneLogin API. Enables Claude Desktop, OpenCode, and other MCP clients to manage users, apps, roles, authentication, and security settings.

Overview

This server provides tools covering a comprehensive set of supported OneLogin API endpoints:

  • Identity Management: Users, roles, groups
  • Applications: Apps, connectors, SAML, OAuth
  • Authentication: MFA, sessions, risk rules
  • Security: API authorization
  • Configuration: Brands, mappings
  • Operations: Events, reports, rate limits

All tools include comprehensive descriptions with warnings, best practices, and return data specifications.

Demo

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

Installation

Prerequisites

Setup

Option 1: Environment Variables (Recommended)

Configure credentials directly in Claude Desktop config - no separate setup required.

Edit the config file:

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

Single environment:

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"      }    }  }}

Multiple environments (production/test separation):

json
{  "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"      }    }  }}

Optional environment variables:

  • ONELOGIN_USE_PREPROD: Set to "true" for preprod environments
  • ONELOGIN_LEGACY_KEY: Legacy API key (rarely needed)
  • ONELOGIN_SERVER: Server name for logging (defaults to "default")

Restart Claude Desktop completely after configuration.

OpenCode Configuration

For OpenCode users, add to ~/.config/opencode/mcp.json:

Single environment:

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"      }    }  }}

Multiple environments:

json
{  "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"      }    }  }}

Restart OpenCode after configuration.

Option 2: Setup Script (servers.json)

Alternative method using a configuration file:

  1. Install the package:
bash
npm install -g @onelogin/onelogin-mcp
  1. Configure OneLogin credentials:
bash
npx onelogin-mcp-setup

Enter your OneLogin server details when prompted:

  • Server name (e.g., "Production", "Test")
  • OneLogin subdomain URL (e.g., https://mycompany.onelogin.com)
  • OAuth2 client ID and secret

Configuration is stored in ~/.config/onelogin-mcp/servers.json.

  1. Add to Claude Desktop config:

Edit the config file:

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

Single environment:

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

Multiple environments (reference servers by name):

json
{  "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. Restart Claude Desktop completely.

Usage

Use natural language to interact with OneLogin:

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

Claude will select the appropriate tool, call the OneLogin API, and present results.

API Coverage

This server provides 156 tools organized into 7 major categories:

Identity & Access (59 tools)

  • Users (14)
  • Roles (13)
  • Privileges (11)
  • Groups (6)
  • Mappings (15)

Applications (17 tools)

  • Apps (15)
  • Connectors (2)

Authentication (21 tools)

  • MFA (10)
  • Sessions (5)
  • SAML (2)
  • OAuth Tokens (2)
  • Invite Links (2)

Security (40 tools)

  • Policies (7)
  • Risk Rules (6)
  • Smart Hooks (11)
  • API Authorization (16)

Customization (6 tools)

  • Brands (6)

Monitoring (9 tools)

  • Events (2)
  • Reports (5)
  • Rate Limits (2)

Account Management (4 tools)

  • Accounts (4)

Configuration

Credential Management

The server supports two configuration methods:

  1. Environment Variables (recommended): Set ONELOGIN_URL, ONELOGIN_CLIENT_ID, and ONELOGIN_CLIENT_SECRET in your MCP client config (see Installation above)
  2. Configuration File: Use npx onelogin-mcp-setup to store credentials in ~/.config/onelogin-mcp/servers.json

Environment variables take precedence over the configuration file. See the Installation section above for complete configuration examples.

Optional Environment Variables

  • ONELOGIN_USE_PREPROD: Set to "true" for preprod environments
  • ONELOGIN_LEGACY_KEY: Legacy API key (rarely needed)
  • ONELOGIN_SERVER: Server name for logging (defaults to "default") or to select a named server from servers.json

Response Format

All tools return structured responses:

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

The request_id matches the x-request-id HTTP header for tracing in Datadog and OneLogin logs.

Troubleshooting

Server not appearing in Claude Desktop

  1. Verify JSON config syntax
  2. Ensure absolute path to index.js
  3. Restart Claude Desktop completely (quit and reopen)

"spawn bun ENOENT" error

Claude cannot find the Bun runtime. Solutions:

bash
# Verify Bun is installedwhich bun
# If not found, install Buncurl -fsSL https://bun.sh/install | bash
# Or use full path in config{  "command": "/Users/yourname/.bun/bin/bun",  "args": ["run", "/path/to/index.js"]}

Authentication errors

  1. If using environment variables: Verify ONELOGIN_URL, ONELOGIN_CLIENT_ID, and ONELOGIN_CLIENT_SECRET in Claude Desktop config
  2. If using servers.json: Verify credentials in ~/.config/onelogin-mcp/servers.json
  3. Ensure OAuth2 client has API permissions in OneLogin admin panel
  4. Check client_id and client_secret are for API v2

Wrong environment

Using environment variables: Each MCP server entry has its own credentials - verify you're talking to the correct server instance in Claude.

Using servers.json: Check the ONELOGIN_SERVER environment variable in Claude Desktop config matches a server name in servers.json.

Project Structure

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

Development

See CONTRIBUTING.md for guidelines on adding new tools.

Key conventions:

  • Tool descriptions include warnings, best practices, and return data structure
  • All modules export tools array and handlers object
  • Registry auto-discovers tools from module imports

Releasing

To publish a new version to npm:

  1. Merge your changes to the main branch

  2. Create a GitHub Release:

    • Go to Releases → "Draft a new release"
    • Create a new tag with the version (e.g., v1.1.0)
    • Set the release title (e.g., "v1.1.0 - MFA API fixes")
    • Add release notes describing the changes
    • Click "Publish release"
  3. Automatic Publishing: The GitHub Action will:

    • Extract the version from the release tag (strips v prefix)
    • Update package.json with the new version
    • Publish to npm under @onelogin/onelogin-mcp

Version Format: Use semantic versioning (MAJOR.MINOR.PATCH)

  • MAJOR: Breaking API changes
  • MINOR: New features, backward compatible
  • PATCH: Bug fixes, backward compatible

Manual Publishing (if needed):

  • Go to Actions → "Publish Package" → "Run workflow"
  • Optionally specify a version override

Support

License

MIT

来源:README.md,提交 1e7d1f2

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.2.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分