Okta MCP Server
by YiyangLi
The Okta MCP Server enables Claude to interact with Okta organizations through a set of tools for managing users, groups, and applications. It provides a way to automate Okta tasks using natural language.
Last updated: N/A
Okta MCP Server
MCP Server for the Okta API, enabling Claude to interact with Okta organizations.
Demo

demo
Tools
-
okta_list_users_make_request
- List users in the Okta organization
- Optional inputs:
limit
(number, default: 20): Maximum number of users to returnquery
(string): Search a user by firstName, lastName, or email
- Returns: List of users with their basic information
-
okta_create_user_make_request
- Create a new user in Okta
- Required inputs:
profile
(object):firstName
(string): User's first namelastName
(string): User's last nameemail
(string): User's email addresslogin
(string): User's login (usually email)
- Optional inputs:
credentials
(object):password
(object):value
(string): User's password
- Returns: Created user object with full details
-
okta_get_user_make_request
- Get detailed information about a specific user
- Required inputs:
userId
(string): User ID or login
- Returns: Full user object with all details
-
okta_update_user_make_request
- Update an existing user's profile
- Required inputs:
userId
(string): User ID to updateprofile
(object): Profile fields to updatefirstName
(string, optional)lastName
(string, optional)email
(string, optional)login
(string, optional)
- Returns: Updated user object
-
okta_delete_user_make_request
- Delete a user (automatically handles deactivation first)
- Required inputs:
userId
(string): User ID to delete
- Returns: Confirmation message
-
okta_list_groups_make_request
- List groups in the Okta organization
- Optional inputs:
limit
(number, default: 20): Maximum number of groups to returnsearch
(string): Search expression for groups
- Returns: List of groups with their information
-
okta_create_group_make_request
- Create a new group
- Required inputs:
profile
(object):name
(string): Name of the groupdescription
(string, optional): Group description
- Returns: Created group object
-
okta_assign_user_to_group_make_request
- Add a user to a group
- Required inputs:
groupId
(string): ID of the groupuserId
(string): ID of the user
- Returns: Confirmation message
-
okta_list_applications_make_request
- List applications in the Okta organization
- Optional inputs:
limit
(number, default: 20): Maximum number of applications to returnquery
(string): Search for apps with name or label properties
- Returns: List of applications with their details
-
okta_assign_user_to_application_make_request
- Assign a user to an application
- Required inputs:
appId
(string): Application IDuserId
(string): User ID
- Optional inputs:
profile
(object): Application-specific user profile
- Returns: Application user assignment object
-
okta_assign_group_to_application_make_request
- Assign a group to an application
- Required inputs:
appId
(string): Application IDgroupId
(string): Group ID
- Returns: Application group assignment object
-
okta_deactivate_application_make_request
- Deactivate an application
- Required inputs:
appId
(string): ID of the application to deactivate
- Returns: Confirmation message
-
okta_delete_application_make_request
- Delete an application
- Required inputs:
appId
(string): ID of the application to delete
- Returns: Confirmation message
Setup
-
Create an Okta API Token:
- Log in to your Okta organization as an administrator
- Navigate to Security → API → Tokens
- Click "Create Token" and save the token value
-
Get your Okta Domain:
- Your Okta domain typically looks like:
dev-123456.okta.com
- You can find this in your Okta dashboard URL
- Your Okta domain typically looks like:
Example Interactions with Claude
Here are some natural ways to interact with the server through Claude:
- Find a user by name
Is there a user named "Joe" in my okta org?
- Assign a user to an application
assign the user [email protected] to the Slack application
Usage with Claude Desktop
Add the following to your claude_desktop_config.json
:
{
"mcpServers": {
"okta": {
"command": "npx",
"args": [
"-y",
"@yiyang.1i/okta-mcp-server"
],
"env": {
"OKTA_DOMAIN": "your-domain.okta.com",
"API_TOKEN": "your-api-token"
}
}
}
}
Troubleshooting
If you encounter permission errors, verify that:
- Your API token is valid
- The API token has sufficient permissions for the operations you're trying to perform
- The Okta domain is correctly specified
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.