Okta MCP Server

Official open-source MCP server from Okta: manage users, groups, applications, policies, and system logs by conversation, with confirmation for destructive actions.

Description

The Okta MCP Server connects AI assistants such as Claude Code or Cursor to the Admin Management APIs of your Okta organization. Instead of clicking through the admin console or assembling API calls by hand, you phrase a task in natural language, for example "Show me all sign-in failures of the last 24 hours" or "Create a user and add them to the Sales group", and the assistant calls the matching tools. The project lives in the GitHub organization okta, carries the copyright notice "Okta, Inc.", is released under the Apache 2.0 license, currently has around 70 stars, is not archived, and was last updated on October 20, 2026. According to the README the server is generally available and uses Okta's official Python SDK.

What can the Okta MCP Server do?

According to the README the server covers the main administration areas of an Okta organization. For users there is list, retrieve, create, update, deactivate, delete, and viewing group memberships. Groups can be created, changed, and deleted, and their members and assigned applications managed. For applications the scope ranges from creating and changing through activating and deactivating to searching the Okta Integration Network and installing apps from it. Added to that are policies and policy rules, device assurance policies, retrieval of system logs, brands with themes, logos, and sign-in pages, email templates and settings, and custom domains including certificate and verification.

What is it particularly useful for?

The greatest value lies in recurring administration tasks and in troubleshooting. Whoever looks after joiners, role changes, or leavers can describe the steps to the assistant instead of running them repeatedly in the console. For support requests, access to the system logs helps: the assistant filters sign-in events, summarizes anomalies, and names possible causes. Clean-up work, such as finding unused groups or checking which applications are assigned to a group, can also be done in one conversation. Compared with a plain script the flow stays flexible, because the assistant reads intermediate results and adapts the next query to them.

Setup and configuration

The prerequisites are Python 3.13 or newer (or Docker), the tool uv, an MCP client such as Claude Desktop, Claude Code, or VS Code, and an Okta account with suitable permissions. There are three ways to install: Docker (recommended by the README), uv from source, and the PyPI package, which starts without cloning via uvx okta-mcp-server. Two sign-in methods are available. The interactive device authorization grant needs a native OIDC app with the device authorization grant enabled; sign-in happens in the browser, and in Docker you copy the URL from the logs. According to the README this method is not supported for private cloud tenants. The second method, private key JWT, works without a browser and uses an "API Services" app with a key pair; DPoP must be disabled for it, and API scopes and admin roles have to be assigned. Which tools the server offers depends on the scopes set in OKTA_SCOPES.

Security: what to keep in mind

An identity system is an especially sensitive target, so caution pays off. According to the README the server registers only tools for which matching scopes are configured at startup and additionally checks every call at runtime. Destructive operations such as delete or deactivate require confirmation through MCP's elicitation feature; clients without support receive a confirmation request in JSON format instead. The README stresses the principle of least privilege: grant write scopes (*.manage) only when you really need them, and start with read access. The option OKTA_MCP_INCLUDE_RAW passes stack frames to the client and should be enabled only deliberately for troubleshooting. Note also that every call consumes your management API rate limit. Retrieve untrusted content, such as user profile fields, with care, because it could lead the assistant into unintended calls.

Costs

The MCP server itself is free under Apache 2.0. A prerequisite is an Okta organization. According to the pricing page there is a free trial and, for developers, a free integrator plan for trying APIs and SDKs, which is intended only for non-production environments and has a limited number of users. For production use, paid plans for workforce and customer identities are available. Current terms are on Okta's official pricing page.

Who is the Okta MCP Server for?

It is worthwhile for administrators and platform and security teams who already use Okta and want to handle recurring tasks or log analysis in conversation. Without an Okta organization it is useless. Start with a test organization and read scopes before you grant write permissions, and keep the confirmation prompts for delete and deactivate switched on.

Requirements

Python 3.13 or newer (or Docker) with uv, an MCP client such as Claude Code or Cursor, and an Okta organization with an OIDC app (device authorization grant) or an API Services app (private key JWT) and suitable admin roles.

Installation instructions

With the Okta MCP Server an AI assistant manages users, groups, and applications of your Okta organization and analyzes system logs. This guide leads from the prerequisites to the first query.

Step 1: Check the prerequisites

You need Python 3.13 or newer with uv (or Docker), an MCP client such as Claude Code or Cursor, and an Okta organization. For first experiments use a test or developer organization, not your production environment.

Prepare the app and scopes

For interactive sign-in, create a native OIDC app in Okta with the device authorization grant enabled. For operation without a browser, use an API Services app instead, with a key pair, DPoP disabled, and API scopes and admin roles assigned. Start with read scopes; add write scopes (*.manage) only later.

Step 2: Register it in the MCP client

In Claude Code the command is claude mcp add okta -e OKTA_ORG_URL=<org-url> -e OKTA_CLIENT_ID=<client-id> -e OKTA_SCOPES=<scopes> -- uvx okta-mcp-server. Alternatively start the server via Docker or from source, as described in the README. On first sign-in the browser opens; in Docker you copy the URL from the logs.

bash
claude mcp add okta -e OKTA_ORG_URL=<org-url> -e OKTA_CLIENT_ID=<client-id> -e OKTA_SCOPES=<scopes> -- uvx okta-mcp-server

Limit the risks

The server registers only tools for which matching scopes are set. Keep the confirmation prompts for delete and deactivate switched on and grant write permissions as narrowly as possible. Enable OKTA_MCP_INCLUDE_RAW only for deliberate troubleshooting.

Step 3: First queries

Start with read tasks, such as "List the groups of the organization" or "Show the sign-in failures of the last 24 hours". Test changes such as creating a user in the test organization first.

claude mcp add okta -e OKTA_ORG_URL=<org-url> -e OKTA_CLIENT_ID=<client-id> -e OKTA_SCOPES=<scopes> -- uvx okta-mcp-server

Authentication

Device authorization grant (interactive, sign-in in the browser) or private key JWT via an API Services app (no browser).

Required access permissions

Depending on the configured scopes, read or write access to users, groups, applications, policies, system logs, brands, email templates, and domains. Write scopes (*.manage) should be granted only when needed.

Transmitted or stored data

The server runs locally on your machine and talks to the Okta API. Retrieved user data, groups, and log entries enter the AI client context and therefore reach the model provider. Every call consumes management API rate limits.

Security risks

Unintended deletion or deactivation of users, groups, and applications, policy changes affecting all sign-ins, overly broad write scopes, prompt injection via profile or log content, and passing stack frames to the client when OKTA_MCP_INCLUDE_RAW is enabled.

License and costs

License
Not recorded yet.
Cost
free

The MCP server is free under Apache 2.0; Okta itself offers a free trial, a free integrator plan for non-production environments, and paid plans. Details are on Okta's official pricing page.

Alternatives

Not recorded yet.

At a glance

Provider
Okta
Status
Official server
Deployment
Local
Current version
Not recorded yet.
Last reviewed
22.10.2026

Repository and documentation

Categories

Supported clients