Okta User Management

by kapilduraphe

9 stars
Not rated
GitHub

About

Integrates with Okta's user management system to retrieve detailed user information including profile data, account status, employment details, and contact information through a Node.js implementation.

Details

Author
kapilduraphe
Repository
kapilduraphe/okta-mcp-server
GitHub stars
9
License
MIT License
Categories
Cloud Service, Security, Infrastructure, Automation, AI, Design, Developer Tools, File Management, Knowledge Base, API

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Okta User Management
    Command (node, npx, python, etc.) node
    Arguments
    • Argument 1 PATH_TO_PROJECT_DIRECTORY/dist/index.js
    Environment
    • OKTA_ORG_URL https://your-domain.okta.com
    • OKTA_API_TOKEN your-api-token

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install dependencies:

npm install

Open your Claude Desktop configuration file:

For MacOS:

code ~/Library/Application\ Support/Claude/claude_desktop_config.json

For Windows:

code %AppData%\Claude\claude_desktop_config.json

Add or update the configuration:

{
"mcpServers": {
"okta": {
"command": "node",
"args": [
"PATH_TO_PROJECT_DIRECTORY/dist/index.js"
],
"env": {
"OKTA_ORG_URL": "https://your-domain.okta.com",
"OKTA_API_TOKEN": "your-api-token"
}
}
}
}

Save the file and restart Claude Desktop.

After setup, you can use commands like:

If you're getting environment variable errors, verify:
- OKTA_ORG_URL: Should be complete URL (e.g., "https://dev-123456.okta.com")
- OKTA_API_TOKEN: Should be a valid API token

get_user

Retrieves detailed user information from Okta, including User Details, Account Dates, Personal Information, Employment Details, Contact Information, Address, and Preferences.

find_users_by_attribute

Search users by any profile attribute with advanced filtering using supported attributes like firstName, lastName, email, and more, along with various search operators.

list_users

Lists users from Okta with optional filtering and pagination, supporting SCIM filter expressions and free-form text search across multiple fields.

activate_user

Activates a user in Okta, with an option to send an activation email and updates user status to active.

suspend_user

Suspends a user in Okta.

unsuspend_user

Unsuspends a previously suspended user in Okta.

delete_user

Deletes a user from Okta, noting that the user must be deactivated first.

get_user_last_location

Retrieves the last known location and login information for a user from Okta system logs.

list_groups

Lists user groups from Okta with optional filtering and pagination, allowing for filter expressions and free-form text search.

create_group

Creates a new group in Okta with a name and optional description.

get_group

Retrieves detailed information about a specific group.

delete_group

Deletes a group from Okta.

assign_user_to_group

Assigns a user to a group in Okta.

remove_user_from_group

Removes a user from a group in Okta.

list_group_users

Lists all users in a specific group with pagination support.

bulk_user_import

Imports multiple users from a CSV string, creating user accounts based on CSV data with optional activation and email notifications.

assign_users_to_groups

Assigns multiple users to groups based on attribute mappings, mapping user attributes to specific groups.

provision_applications

Provisions application access for multiple users, assigning users to applications and supporting bulk provisioning.

run_onboarding_workflow

Runs a complete onboarding workflow for multiple users from CSV data, including user import, activation, group assignment, application provisioning, and welcome email configuration.

The server provides the following tools:

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "okta user management": {
            "env": {
                "OKTA_ORG_URL": "https://your-domain.okta.com",
                "OKTA_API_TOKEN": "your-api-token"
            },
            "args": [
                "PATH_TO_PROJECT_DIRECTORY/dist/index.js"
            ],
            "command": "node"
        }
    }
}

Linux

{
    "env": {
        "OKTA_ORG_URL": "https://your-domain.okta.com",
        "OKTA_API_TOKEN": "your-api-token"
    },
    "args": [
        "PATH_TO_PROJECT_DIRECTORY/dist/index.js"
    ],
    "command": "node"
}

Macos

{
    "env": {
        "OKTA_ORG_URL": "https://your-domain.okta.com",
        "OKTA_API_TOKEN": "your-api-token"
    },
    "args": [
        "PATH_TO_PROJECT_DIRECTORY/dist/index.js"
    ],
    "command": "node"
}

Windows

{
    "env": {
        "OKTA_ORG_URL": "https://your-domain.okta.com",
        "OKTA_API_TOKEN": "your-api-token"
    },
    "args": [
        "PATH_TO_PROJECT_DIRECTORY/dist/index.js"
    ],
    "command": "node"
}

User Management

get_user

Retrieves detailed user information from Okta, including: - User Details (ID, Status) - Account Dates (Created, Activated, Last Login, etc.) - Personal Information (Name, Email) - Employment Details - Contact Information - Address - Preferences

find_users_by_attribute

Search users by any profile attribute with advanced filtering: - Supported attributes: firstName, lastName, email, manager, department, title, division, organization, employeeNumber, costCenter, userType, city, state - Search operators: - eq (exact match) - Works for all attributes - sw (starts with) - Works for all attributes - ew (ends with) - Works for most attributes - co (contains) - Works for some attributes (firstName, lastName, email) - pr (present/exists) - Works for all attributes (finds users with any value for that attribute) - Features: - Uses Okta's native search for optimal performance - Automatic fallback to client-side filtering for unsupported operators - PII masking in search results for sensitive attributes - Status filtering (include/exclude inactive users) - Pagination support with customizable limits

list_users

Lists users from Okta with optional filtering and pagination: - Supports SCIM filter expressions (e.g., 'profile.firstName eq "John"') - Free-form text search across multiple fields - Sorting options (by status, creation date, etc.) - Pagination support with customizable limits

activate_user

Activates a user in Okta: - Option to send activation email - Updates user status to active

suspend_user

Suspends a user in Okta

unsuspend_user

Unsuspends a previously suspended user in Okta

delete_user

Deletes a user from Okta (note: user must be deactivated first)

get_user_last_location

Retrieves the last known location and login information for a user from Okta system logs
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.