Okta MCP Server (Kapil Duraphe)
Okta user and group management operations for automated onboarding tasks.
Data last scanned today · Reviewed today
Overview
This server integrates Okta user management directly into your AI assistant, allowing for automated onboarding and administrative workflows. It retrieves detailed user profiles, statuses, and employment metadata, while supporting advanced search capabilities across various profile attributes using native Okta filtering.
Our verdict
With a security score of 34/100, this server carries a high risk level. The authentication method remains unreviewed, and the lack of OAuth support combined with the potential for broad API token usage necessitates caution. It is intended for development environments only and should not be used in systems where elevated administrative write access requires strict, verified governance.
- Supports advanced filtering by specific profile attributes
- Contains only 5 direct dependencies
- Includes PII masking for user data protection
- Documented setup for Node.js and Claude Desktop
- High risk level with unreviewed authentication
- Lacks support for OAuth authorization flows
- No read-only mode for restricted access
- Not maintained by the official Okta vendor
Setup
{
"mcpServers": {
"kapilduraphe-okta-mcp-server": {
"args": [
"-y",
"okta-mcp-server"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| get_user | Retrieves detailed user information from Okta, including user details, account dates, personal information, employment details, contact information, address, and preferences. | low |
| find_users_by_attribute | Search users by any profile attribute with advanced filtering. | low |
| list_users | Lists users from Okta with optional filtering and pagination. | low |
| activate_user | Activates a user in Okta. | medium |
| suspend_user | Suspends a user in Okta. | medium |
| unsuspend_user | Unsuspends a previously suspended user in Okta. | medium |
| delete_user | Deletes a user from Okta. | high |
| get_user_last_location | Retrieves the last known location and login information for a user from Okta system logs. | low |
| list_groups | Lists user groups from Okta with optional filtering and pagination. | low |
| create_group | Creates a new group in Okta with a name and optional description. | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›What are the prerequisites for using this MCP server?
You need Node.js (v16 or higher), the Claude Desktop App, an active Okta Developer Account, and an Admin API Token generated from the Okta Developer Console.
›Are there specific requirements for deleting a user in Okta?
Yes, a user must be deactivated within Okta before the delete_user tool can be used to remove them.
›Are the onboarding automation tools considered stable?
No, the onboarding automation tools are currently experimental and may change based on Okta's API constraints, so they should be used with caution.
›How are search operators handled for user attributes?
The server uses native Okta search for performance and includes an automatic fallback to client-side filtering if an operator is not natively supported for a specific attribute.
Badge
Maintain this server? Add the live badge to your README.