Connect Claude to Okta's official self-hosted MCP server for scoped identity administration, users, groups, applications, policies, logs, brands, and tenant management workflows.
Okta MCP Server connects to Okta Admin Management APIs. Even ordinary natural-language prompts can translate into identity administration actions, so use a dedicated app integration and the smallest useful API scope set., The server uses scope-based tool loading. Tools whose required OAuth scope is not present in `OKTA_SCOPES` are removed from the tool list, and runtime scope guards provide another permission check before API calls., Prefer read scopes such as `okta.users.read`, `okta.groups.read`, and `okta.logs.read` for investigation. Add `okta.<resource>.manage` scopes only for an approved change window and an explicit task., Manage scopes can create, update, activate, deactivate, delete, assign, or otherwise change users, groups, applications, policies, brands, templates, custom domains, email domains, and device assurance policies., Destructive operations use MCP elicitation when the client supports it and return a fallback confirmation payload for clients that do not. Keep MCP client approval prompts enabled and manually review every mutating action., Private Key JWT is intended for browserless automation, but it introduces a long-lived private key. Store the key outside source control, rotate it on schedule, and restrict the app's admin role and scopes., Device Authorization Grant is convenient for interactive use, but Docker setups may persist tokens in a mounted keyring volume. Treat that volume as sensitive and remove it when the temporary workflow ends., MCP usage consumes Okta Management API rate limits. Avoid broad loops, unbounded list operations, or repeated audit-report prompts against a production org.
Privacy notes
Okta MCP can return user profiles, group memberships, application metadata, assignments, policy settings, sign-in failures, System Log events, IP addresses, device context, brand assets, email templates, custom domains, and other tenant administration data into the model conversation., Prompts, tool results, MCP client logs, screenshots, debug files, and generated reports can retain Okta identifiers and security event details outside the Okta System Log and normal tenant retention controls., Do not paste API tokens, private keys, client secrets, session cookies, recovery links, full user exports, raw System Log dumps, customer identifiers, or production incident data into prompts, issue comments, or PR descriptions., If you enable `OKTA_LOG_LEVEL=DEBUG` or `OKTA_LOG_FILE`, store logs in an approved location and scrub them before sharing because troubleshooting output can include tenant URLs, resource identifiers, request context, and authentication details.
Author
Okta
Submitted by
MkDev11
Claim status
unclaimed
Last verified
2026-06-05
Decision playbook
Review trust signals before you adopt
Signals are present but mixed. Use the checklist below to confirm the source and operational safety for your environment.
Compare context
Selected
0
Current score
78
Baseline
—
Delta
No baseline selected
No major trust-signal divergence detected in the current selection.
Source and provenance checks
Complete
Confirm ownership and provenance before trusting install instructions.
Source link availableRequired
Open the canonical repository and verify ownership.
Done
Source provenance statusRequired
Marked as source-backed.
Done
Metadata reviewed
Registry metadata indicates a reviewed listing.
Done
Safety and privacy checks
Complete
Validate risk disclosures before installation or API wiring.
Safety notes presentRequired
Review the listed safety guidance before running commands.
Done
Privacy notes presentRequired
Review data handling notes before connecting accounts or secrets.
Done
Trust level risk gateRequired
Trust level does not block evaluation.
Done
Package and install checks
Needs review
Check package metadata and artifact integrity signals.
Install payload available
Install or copy payload is available for review.
Done
Package verification flag
No package verification flag provided.
Pending
Checksum metadata
No checksum provided for downloaded artifact.
Pending
Compare-driven decision checks
Needs review
Use compare context to validate trade-offs before adoption.
Compare tray has multiple entries
Add at least one more entry to compare trust differences.
Current risk score 16/100. Use staged verification before broader rollout.
Risk 16
Pre-adoption checks
Validate source and review signals before any execution.
Confirm source provenanceRequired
Source URL/provenance metadata is present.
Done
Confirm metadata review state
Listing has review metadata.
Done
Verify install payload
Install/config payload exists and can be inspected.
Done
Security checks
Confirm safety, privacy, and package integrity signals.
Review safety notesRequired
Safety notes are present.
Done
Review privacy notesRequired
Privacy notes are present.
Done
Verify package integrity metadata
No package verification/checksum metadata.
Pending
Rollout
Adopt in controlled steps based on the selected plan.
Run in isolated sandbox firstRequired
Use a constrained sandbox and observe behavior across multiple tasks.
Pending
Roll out graduallyRequired
Roll out to a small cohort before wider usage.
Pending
Set monitoring and fallback
Define rollback path and monitor errors after adoption.
Pending
Evidence readiness
Evidence readiness matrix · balanced
Required evidence gates are covered (5/6 signals complete).
Risk 15
Source provenance
Present
Source repository/provenance is listed.
Required in this preset
Metadata review
Present
Review metadata is present.
Required in this preset
Safety notes
Present
Safety notes are present.
Required in this preset
Privacy notes
Present
Privacy notes are present.
Optional in this preset
Package integrity
Missing
Package integrity metadata is missing.
Optional in this preset
Install payload
Present
Install payload is available.
Required in this preset
Required evidence gates are covered for this preset.
Decision timeline
Decision timeline · balanced
5/6 steps complete with no blocking gaps for this preset.
Risk 14
triage
Confirm source provenanceRequired
Source/provenance metadata is available.
Done
triage
Check metadata review statusRequired
Review metadata is available.
Done
verify
Review safety notesRequired
Safety notes are available.
Done
verify
Review privacy notes
Privacy notes are available.
Done
verify
Validate package integrity metadata
Package integrity metadata is missing.
Pending
rollout
Verify install payload and commandsRequired
Install payload is available.
Done
No required blockers for this timeline preset.
Prerequisite readiness
Prerequisite readiness
7 prerequisites to line up before setup.
0/7 ready
Install & runtime3Permissions & scopes420 minutes
Safety & privacy surface
Safety & privacy surface
8 safety and 4 privacy notes across 6 risk areas. Review closely: credentials & tokens, permissions & scopes, network access.
6 areas
SafetyPermissions & scopesOkta MCP Server connects to Okta Admin Management APIs. Even ordinary natural-language prompts can translate into identity administration actions, so use a dedicated app integration and the smallest useful API scope set.
SafetyCredentials & tokensThe server uses scope-based tool loading. Tools whose required OAuth scope is not present in `OKTA_SCOPES` are removed from the tool list, and runtime scope guards provide another permission check before API calls.
SafetyPermissions & scopesPrefer read scopes such as `okta.users.read`, `okta.groups.read`, and `okta.logs.read` for investigation. Add `okta.<resource>.manage` scopes only for an approved change window and an explicit task.
SafetyPermissions & scopesManage scopes can create, update, activate, deactivate, delete, assign, or otherwise change users, groups, applications, policies, brands, templates, custom domains, email domains, and device assurance policies.
SafetyExecution & processesDestructive operations use MCP elicitation when the client supports it and return a fallback confirmation payload for clients that do not. Keep MCP client approval prompts enabled and manually review every mutating action.
SafetyCredentials & tokensPrivate Key JWT is intended for browserless automation, but it introduces a long-lived private key. Store the key outside source control, rotate it on schedule, and restrict the app's admin role and scopes.
SafetyCredentials & tokensDevice Authorization Grant is convenient for interactive use, but Docker setups may persist tokens in a mounted keyring volume. Treat that volume as sensitive and remove it when the temporary workflow ends.
SafetyGeneralMCP usage consumes Okta Management API rate limits. Avoid broad loops, unbounded list operations, or repeated audit-report prompts against a production org.
PrivacyPermissions & scopesOkta MCP can return user profiles, group memberships, application metadata, assignments, policy settings, sign-in failures, System Log events, IP addresses, device context, brand assets, email templates, custom domains, and other tenant administration data into the model conversation.
PrivacyLocal filesPrompts, tool results, MCP client logs, screenshots, debug files, and generated reports can retain Okta identifiers and security event details outside the Okta System Log and normal tenant retention controls.
PrivacyCredentials & tokensDo not paste API tokens, private keys, client secrets, session cookies, recovery links, full user exports, raw System Log dumps, customer identifiers, or production incident data into prompts, issue comments, or PR descriptions.
PrivacyNetwork accessIf you enable `OKTA_LOG_LEVEL=DEBUG` or `OKTA_LOG_FILE`, store logs in an approved location and scrub them before sharing because troubleshooting output can include tenant URLs, resource identifiers, request context, and authentication details.
Safety notes
Okta MCP Server connects to Okta Admin Management APIs. Even ordinary natural-language prompts can translate into identity administration actions, so use a dedicated app integration and the smallest useful API scope set.
The server uses scope-based tool loading. Tools whose required OAuth scope is not present in `OKTA_SCOPES` are removed from the tool list, and runtime scope guards provide another permission check before API calls.
Prefer read scopes such as `okta.users.read`, `okta.groups.read`, and `okta.logs.read` for investigation. Add `okta.<resource>.manage` scopes only for an approved change window and an explicit task.
Manage scopes can create, update, activate, deactivate, delete, assign, or otherwise change users, groups, applications, policies, brands, templates, custom domains, email domains, and device assurance policies.
Destructive operations use MCP elicitation when the client supports it and return a fallback confirmation payload for clients that do not. Keep MCP client approval prompts enabled and manually review every mutating action.
Private Key JWT is intended for browserless automation, but it introduces a long-lived private key. Store the key outside source control, rotate it on schedule, and restrict the app's admin role and scopes.
Device Authorization Grant is convenient for interactive use, but Docker setups may persist tokens in a mounted keyring volume. Treat that volume as sensitive and remove it when the temporary workflow ends.
MCP usage consumes Okta Management API rate limits. Avoid broad loops, unbounded list operations, or repeated audit-report prompts against a production org.
Privacy notes
Okta MCP can return user profiles, group memberships, application metadata, assignments, policy settings, sign-in failures, System Log events, IP addresses, device context, brand assets, email templates, custom domains, and other tenant administration data into the model conversation.
Prompts, tool results, MCP client logs, screenshots, debug files, and generated reports can retain Okta identifiers and security event details outside the Okta System Log and normal tenant retention controls.
Do not paste API tokens, private keys, client secrets, session cookies, recovery links, full user exports, raw System Log dumps, customer identifiers, or production incident data into prompts, issue comments, or PR descriptions.
If you enable `OKTA_LOG_LEVEL=DEBUG` or `OKTA_LOG_FILE`, store logs in an approved location and scrub them before sharing because troubleshooting output can include tenant URLs, resource identifiers, request context, and authentication details.
Prerequisites
Okta org, such as an Okta Integrator Free Plan org, with admin permissions for the resources Claude should access.
Okta admin role assignment that matches the intended workflow, not a broad super-admin grant by default.
Okta app integration created for the MCP server with either Device Authorization Grant for interactive use or Private Key JWT for browserless automation.
Okta API scopes granted to the app and repeated in `OKTA_SCOPES`, starting with read-only scopes such as `okta.users.read`, `okta.groups.read`, and `okta.logs.read`.
Local copy of `okta/okta-mcp-server` plus `uv`, or Docker if you prefer the repository's Docker path.
Python runtime compatible with the current repository when using `uv`; check `pyproject.toml` because the docs and repo requirements can change independently.
MCP-capable client such as Claude Desktop, VS Code with GitHub Copilot, Claude Code, or another stdio-compatible client.
Okta MCP Server is Okta's official self-hosted Model Context Protocol server
for connecting Claude and other MCP-capable clients to Okta Admin Management
APIs. It runs locally through the okta/okta-mcp-server Python project, uses
Okta's Python SDK, and authenticates to an Okta org with either Device
Authorization Grant for interactive use or Private Key JWT for browserless
automation.
Use it when an identity, IT, security, or platform team wants Claude to inspect
or administer Okta resources with explicit API scopes: users, groups,
applications, policies, System Logs, brands, email templates, custom domains,
email domains, and device assurance policies. Because the tool surface can be
read-only or mutating depending on the granted scopes, start with read scopes
and add manage scopes only for a reviewed workflow.
Features
Official Okta Developer concept page and setup guides for the MCP server.
Public okta/okta-mcp-server source repository under Apache-2.0.
Self-hosted stdio MCP server that can run with uv, Docker, or Docker
Compose.
Device Authorization Grant for interactive browser-based authentication.
Private Key JWT for headless or automation use cases.
Scope-based tool loading through OKTA_SCOPES.
Runtime scope guard checks before API calls.
Integration with Okta System Log for auditing and security investigation.
MCP elicitation prompts for destructive operations when supported by the
client, with fallback confirmation payloads for other clients.
Tools for users, groups, applications, policies, logs, brands, templates,
custom domains, email domains, and device assurance policy workflows.
Troubleshooting support through debug logging and Okta System Log review.
Tool Surface
Okta's docs summarize the core capabilities as user management, group
administration, application management, policy and security management, System
Log monitoring, and brand customization. The source repository documents more
specific scope-to-tool mappings.
Examples include read tools for users, groups, applications, policies, device
assurance policies, logs, brands, email templates, custom domains, and email
domains. Manage scopes unlock mutating tools such as creating users, updating
groups, activating or deactivating applications, changing policies, replacing
brand themes, deleting custom pages, sending test emails, and verifying
domains.
The visible tools depend on the scopes granted in the Okta Admin Console and
listed in OKTA_SCOPES. If a scope is missing, the corresponding tools should
not appear to the model.
Installation
Clone and Install
Clone the official repository and install dependencies:
git clone https://github.com/okta/okta-mcp-server.git
cd okta-mcp-server
uv sync
Create the Okta app integration first, grant only the required Okta API scopes,
and copy the resulting values into your MCP client configuration.
Read-Only Starter Config
Use a narrow configuration for first-time inspection. This example exposes user,
group, and log read tools only:
When the server starts with Device Authorization Grant, complete the browser
authorization prompt with an Okta admin account that has the intended admin
role.
Browserless Automation
For headless or CI/CD environments, configure an API Services app integration
with Private Key JWT as described in Okta's authentication guide. Add
OKTA_PRIVATE_KEY and OKTA_KEY_ID to the client environment only after the
private key is stored securely and the app role and scopes have been reviewed.
Use Cases
Ask Claude to list users matching a department or status filter before
drafting an access cleanup plan.
Review failed sign-in attempts or recent System Log events during incident
triage.
Inspect group membership and application assignments before a role or access
change.
Compare application configuration and inactive app usage before preparing an
admin-console change.
Generate a security audit summary from scoped System Log data.
Draft user or group provisioning steps for manual approval.
Manage brands, email templates, custom domains, or email domains in a
non-production org after the relevant manage scopes are intentionally granted.
Run a browserless automation workflow with Private Key JWT when interactive
device authorization is not possible.
Safety Checklist
Use a dedicated Okta app integration for MCP rather than reusing a broad
admin app.
Assign the smallest admin role and API scope set required for the task.
Start with read scopes and add manage scopes only after approval.
Keep OKTA_SCOPES in sync with the scopes granted on the app integration.
Confirm the active Okta org before approving any tool call.
Keep client approval prompts enabled for creates, updates, deletes,
activations, deactivations, assignments, policy changes, domain changes, and
email-template changes.
Store Private Key JWT material in an approved secret manager or protected
local secret store, never in the repository.
Remove temporary Docker token volumes, debug logs, and local .env files
when the workflow is complete.
Show that Okta MCP Server for Claude is listed on HeyClaude. Paste this Markdown into your README — it renders the badge and links back to this page.
[](https://heyclau.de/entry/mcp/okta-mcp-server)
How it compares
Okta MCP Server for Claude side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
1 trust signal differ across this comparison (Submitter).
Connect Claude to Okta's official self-hosted MCP server for scoped identity administration, users, groups, applications, policies, logs, brands, and tenant management workflows.
Connect Claude to Auth0's official local MCP server for tenant administration, application setup, Actions, logs, forms, and scoped Management API workflows.
Official AWS Labs MCP server for AWS Identity and Access Management that lets AI assistants inspect and manage IAM users, roles, groups, policies, and access keys, with policy simulation and an opt-in read-only mode.
The official Infisical MCP server (@infisical/mcp) that lets AI assistants work with Infisical's secrets-management API through function calling — reading, creating, updating, and deleting secrets, and managing projects, environments, folders, and project members — authenticating with a Machine Identity (universal auth) or an access token against Infisical Cloud or a self-hosted instance.
✓Okta MCP Server connects to Okta Admin Management APIs. Even ordinary natural-language prompts can translate into identity administration actions, so use a dedicated app integration and the smallest useful API scope set.
The server uses scope-based tool loading. Tools whose required OAuth scope is not present in `OKTA_SCOPES` are removed from the tool list, and runtime scope guards provide another permission check before API calls.
Prefer read scopes such as `okta.users.read`, `okta.groups.read`, and `okta.logs.read` for investigation. Add `okta.<resource>.manage` scopes only for an approved change window and an explicit task.
Manage scopes can create, update, activate, deactivate, delete, assign, or otherwise change users, groups, applications, policies, brands, templates, custom domains, email domains, and device assurance policies.
Destructive operations use MCP elicitation when the client supports it and return a fallback confirmation payload for clients that do not. Keep MCP client approval prompts enabled and manually review every mutating action.
Private Key JWT is intended for browserless automation, but it introduces a long-lived private key. Store the key outside source control, rotate it on schedule, and restrict the app's admin role and scopes.
Device Authorization Grant is convenient for interactive use, but Docker setups may persist tokens in a mounted keyring volume. Treat that volume as sensitive and remove it when the temporary workflow ends.
MCP usage consumes Okta Management API rate limits. Avoid broad loops, unbounded list operations, or repeated audit-report prompts against a production org.
✓Auth0 documents the server as beta software. Treat command behavior, available tools, requested scopes, and client setup flows as subject to change until Auth0 publishes a stable release.
Start with `--read-only` or a narrow `--tools` pattern such as `auth0_list_*,auth0_get_*`. Enable create, update, deploy, or publish tools only for a scoped task and an approved tenant.
The server can expose tools for applications, APIs, client grants, Actions, logs, and forms. Some of those tools can change callback URLs, token settings, Actions code, branding, and other live authentication behavior.
Review every mutating tool call before approving it. A mistaken tenant change can break sign-in, weaken security settings, deploy incorrect Actions, expose callback URLs, or affect production users.
Keep token lifetime and Management API scopes as small as possible when using the client-credentials setup path. Revoke or rotate credentials that were created for temporary MCP work.
Use `npx @auth0/auth0-mcp-server logout` when finished or when switching tenants so local authentication state is removed from the system keychain.
✓Run with the `--readonly` flag (shown above) to block all mutating operations. Without it the server can create and delete IAM users, roles, groups, policies, and access keys — high-impact identity changes — so enable write access only deliberately and with scoped permissions.
IAM controls account-wide access; a misused write operation can grant or revoke permissions broadly. Prefer non-production accounts while evaluating, and use policy simulation to test changes before applying them.
This server acts on real IAM with your AWS credentials; scope the profile tightly and run it only on a trusted host.
✓The server can read, create, update, and delete secrets (`get-secret`, `list-secrets`, `create-secret`, `update-secret`, `delete-secret`) in the projects and environments its identity can access, so deletions and edits affect real secrets.
It can also create projects, environments, and folders and invite members to a project (`create-project`, `create-environment`, `create-folder`, `invite-members-to-project`), which change structure and access.
Access is bounded by the Machine Identity or access token, not by tool naming; scope that identity to the minimum projects, environments, and permissions needed.
Because this manages secrets, prefer a least-privilege identity and a non-production project when an agent acts autonomously.
The universal-auth client secret or `INFISICAL_TOKEN` grants access to your secrets and must itself be treated as a secret.
Privacy notes
✓Okta MCP can return user profiles, group memberships, application metadata, assignments, policy settings, sign-in failures, System Log events, IP addresses, device context, brand assets, email templates, custom domains, and other tenant administration data into the model conversation.
Prompts, tool results, MCP client logs, screenshots, debug files, and generated reports can retain Okta identifiers and security event details outside the Okta System Log and normal tenant retention controls.
Do not paste API tokens, private keys, client secrets, session cookies, recovery links, full user exports, raw System Log dumps, customer identifiers, or production incident data into prompts, issue comments, or PR descriptions.
If you enable `OKTA_LOG_LEVEL=DEBUG` or `OKTA_LOG_FILE`, store logs in an approved location and scrub them before sharing because troubleshooting output can include tenant URLs, resource identifiers, request context, and authentication details.
✓The local MCP server can send selected tenant operations to the Auth0 Management API and return application metadata, API identifiers, Actions code, form configuration, log events, user identifiers, IP addresses, and authentication error details into the model conversation.
Prompts, MCP client logs, Claude transcripts, terminal history, screenshots, and issue comments can retain Auth0 resource names, tenant domains, client IDs, redirect URLs, organization names, and troubleshooting details outside Auth0's normal audit and retention controls.
Do not paste client secrets, access tokens, refresh tokens, private keys, production user records, password-reset links, session cookies, or full log payloads into the conversation.
Auth0 says the server stores credentials in the system keychain and redacts sensitive response fields such as client secrets and tokens. Still review assistant output before copying it into tickets, commits, runbooks, or shared chats.
The server collects anonymized analytics by default according to Auth0's README. Set `AUTH0_MCP_ANALYTICS=false` when analytics collection is not approved for the environment.
✓IAM user/role/group names, ARNs, policy documents, and account metadata can be returned through tool calls and exposed to the model.
Access key IDs and other identity material may appear in responses; never expose secret access keys, and keep account identifiers and policy contents out of public prompts, issues, and screenshots.
✓The `get-secret` and `list-secrets` tools return secret values to the LLM/MCP client, so plaintext secrets can be exposed to the model and its provider — a significant consideration for a secrets manager.
Avoid pointing the server at production secrets; use a scoped, non-sensitive project for agent workflows where possible.
The identity credentials (client ID/secret or access token) live in your MCP client config env block — keep that config out of version control and restrict access to it.
When self-hosting, `INFISICAL_HOST_URL` targets your own instance, and requests plus credentials are sent there.
Prerequisites
Okta org, such as an Okta Integrator Free Plan org, with admin permissions for the resources Claude should access.
Okta admin role assignment that matches the intended workflow, not a broad super-admin grant by default.
Okta app integration created for the MCP server with either Device Authorization Grant for interactive use or Private Key JWT for browserless automation.
Okta API scopes granted to the app and repeated in `OKTA_SCOPES`, starting with read-only scopes such as `okta.users.read`, `okta.groups.read`, and `okta.logs.read`.
Auth0 account and approval to connect an MCP client to the selected tenant.
Node.js 18 or newer with `npx` available to the MCP client.
MCP-capable client such as Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Gemini CLI, or another stdio-compatible client.
Interactive browser access for the OAuth 2.0 device authorization setup flow, unless using the documented client-credentials path for private cloud tenants.
An AWS account with IAM access and permissions for the IAM read (and, if write is enabled, manage) operations you intend to use.
Python 3.10 or newer and `uv` / `uvx` installed (Astral) to run the package.
AWS credentials configured locally (for example via `aws configure` or `AWS_PROFILE`) scoped least-privilege; read-only IAM permissions are enough for the recommended `--readonly` mode.
An MCP client that supports stdio servers; the server runs locally on the same host as the client.
Node.js and npm (the server runs via `npx -y @infisical/mcp`)
An Infisical account on Infisical Cloud or a self-hosted instance
Credentials — a Machine Identity universal-auth client ID and secret, or an access token (`INFISICAL_TOKEN`)
Optionally `INFISICAL_HOST_URL` for a self-hosted or dedicated instance (defaults to `https://app.infisical.com`)