Okta MCP Server
Okta MCP server exists for a simple reason — assistants are far more useful when they can act on Okta directly instead of describing what you should do. Okta MCP Server.
This MCP server enables Claude to interact with Okta's user management system, providing comprehensive user and group management capabilities along with onboarding automation.
Once Okta is connected, these are the calls the assistant has available:
get_user — Retrieves detailed user information from Okta, including: - User Details (ID, Status) - Account Dates (Created, Activated, Last Login, etc.) -find_users_by_attribute — Search users by any profile attribute with advanced filtering: - Supported attributes: firstName, lastName, email, manager, department, titlelist_users — Lists users from Okta with optional filtering and pagination: - Supports SCIM filter expressions (e.g., 'profile.firstName eq "John"') - Free-formactivate_user — Activates a user in Okta: - Option to send activation email - Updates user status to activesuspend_user — The suspend_user tool exposed by this serverunsuspend_user — The unsuspend_user tool exposed by this serverdelete_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 logslist_groups — Lists user groups from Okta with optional filtering and pagination: - Filter expressions for groups (e.g., 'type eq "OKTA_GROUP"') - Free-form textcreate_group — Creates a new group in Okta with a name and optional descriptionget_group — The get_group tool exposed by this serverdelete_group — The delete_group tool exposed by this serverSetup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.
You will need 2 environment variables: OKTA_ORG_URL, OKTA_API_TOKEN. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Plenty of team communication servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Okta's toolset — get_user, find_users_by_attribute, list_users and 11 more — is a fair guide to whether it matches your workflow. It is maintained by kapilduraphe; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| 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 |
| 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 |
| 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 |
| activate_user | Activates a user in Okta: - Option to send activation email - Updates user status to active |
| suspend_user | The suspend_user tool exposed by this server. |
| unsuspend_user | The unsuspend_user tool exposed by this server. |
| 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 |
| list_groups | Lists user groups from Okta with optional filtering and pagination: - Filter expressions for groups (e.g., 'type eq "OKTA_GROUP"') - Free-form text search across group fields - Sorting options (by name, type, etc.) - Pag |
| create_group | Creates a new group in Okta with a name and optional description |
| get_group | The get_group tool exposed by this server. |
| delete_group | The delete_group tool exposed by this server. |
| assign_user_to_group | The assign_user_to_group tool exposed by this server. |
| remove_user_from_group | The remove_user_from_group tool exposed by this server. |
{
"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"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| OKTA_ORG_URL | Endpoint or connection string the server talks to. | Yes |
| OKTA_API_TOKEN | Credential the server authenticates with. | Yes |
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Inbox intelligence — search, read, draft and send Gmail through your assistant with OAuth auto-setup.
Read and write Jira, Confluence, Bitbucket, JSM and Compass from your AI client — with your own permissions.
Read and send Telegram messages through your assistant — chats, channels and history via the client API.
Enables Discord bot integration with Model Context Protocol (MCP) compatible applications like Claude Desktop.
Exposes REST APIs defined by OpenAPI specifications as Model Context Protocol (MCP) tools, facilitating seamless integration into MCP-based workflows.