Lets AI models query and work with users, groups and other entities in an Okta environment.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add okta-server-fctr-id --env OKTA_API_TOKEN='<OKTA_API_TOKEN>' --env OKTA_CLIENT_ORGURL='<OKTA_CLIENT_ORGURL>' -- python -m venv venv~/.codex/config.toml
[mcp_servers.okta-server-fctr-id]
command = "python"
args = ["-m", "venv", "venv"]
env = { OKTA_API_TOKEN = "<OKTA_API_TOKEN>", OKTA_CLIENT_ORGURL = "<OKTA_CLIENT_ORGURL>" }
# codex mcp add okta-server-fctr-id --env OKTA_API_TOKEN='<OKTA_API_TOKEN>' --env OKTA_CLIENT_ORGURL='<OKTA_CLIENT_ORGURL>' -- python -m venv venv~/.cursor/mcp.json
{
"mcpServers": {
"okta-server-fctr-id": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"OKTA_API_TOKEN": "<OKTA_API_TOKEN>",
"OKTA_CLIENT_ORGURL": "<OKTA_CLIENT_ORGURL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"okta-server-fctr-id": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"OKTA_API_TOKEN": "<OKTA_API_TOKEN>",
"OKTA_CLIENT_ORGURL": "<OKTA_CLIENT_ORGURL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"okta-server-fctr-id": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"OKTA_API_TOKEN": "<OKTA_API_TOKEN>",
"OKTA_CLIENT_ORGURL": "<OKTA_CLIENT_ORGURL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"okta-server-fctr-id": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"OKTA_API_TOKEN": "<OKTA_API_TOKEN>",
"OKTA_CLIENT_ORGURL": "<OKTA_CLIENT_ORGURL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"okta-server-fctr-id": {
"command": "python",
"args": [
"-m",
"venv",
"venv"
],
"env": {
"OKTA_API_TOKEN": "<OKTA_API_TOKEN>",
"OKTA_CLIENT_ORGURL": "<OKTA_CLIENT_ORGURL>"
}
}
}
}Environment variables
OKTA_API_TOKENOKTA_CLIENT_ORGURL
Replace the placeholders with your own credentials and keep them out of version control.