MCP field guide / Okta
// mcp field guide · identity / iam
Identity is the strongest guard case in this whole guide, and for a simple reason: a wrong IAM change isn't a data edit — it's either an outage (real people locked out) or a breach (an attacker granted access). Deactivating users, weakening MFA policies, and group changes that hand out admin rights are the actions a human has to approve.
READS
WEAKList/get users, groups, apps, policies, logs. No state change; heavy gating is friction.
AVAILABILITY WRITES
STRONGDeactivate/delete user, delete app, delete group — lockout or broken SSO for many.
PRIVILEGE / SECURITY
STRONGESTAdmin-granting group adds, MFA/policy weakening — the attacker's dream tools.
okta/okta-mcp-server is Okta's official, self-hosted server (Apache-2.0, GA as of early 2026). It's a security-scoped layer over Okta's Admin Management APIs: an agent drives user/group/app lifecycle, policies, device assurance, and system logs in natural language. Two design points matter: it authenticates as an admin app via OAuth 2.0 Device Grant or Private Key JWT, and it dynamically registers only the tools its granted OAuth scopes permit (least-privilege — the model never sees tools it isn't authorized for). It also adds elicitation-based confirmation on destructive ops.12 (The community fctr-id/okta-mcp-server is read-only and self-describes as superseded — treat the official one as canonical.)
| Tier | Tools |
|---|---|
| read-only | list_users/get_user, list_groups/get_group, list_group_users/list_group_apps, list_applications, list_policies/get_policy, get_logs |
| mutating | create_user/update_user, create_group/update_group, create_application/update_application/activate_application, create_policy/update_policy/activate_policy |
| security-critical | Availability: deactivate_user, delete_deactivated_user (irreversible), deactivate_application/delete_application, delete_group. Privilege/security: add_user_to_group/remove_user_from_group, deactivate_policy/delete_policy/delete_policy_rule, delete_device_assurance_policy |
The two ways it hurts. (1) Lockout: deactivate_user revokes sessions and locks the person out; delete_deactivated_user destroys the record irreversibly; delete_application breaks SSO for everyone assigned. (2) Escalation / bypass: add_user_to_group is privilege escalation when the target group confers admin or sensitive-app access, and deactivating an MFA-enforcing sign-on policy silently lowers security for the whole org. (We did not confirm dedicated MFA-reset / password-reset / admin-role-assign tools in the fetched inventory — mark those unverified rather than assumed.)
Conversational IAM ops. "Deactivate this offboarded employee, remove them from all groups" — joiner/mover/leaver lifecycle in natural language.
Security investigation. Query get_logs + user/app/group state to triage suspicious sign-ins or answer "who can access app X?"
Policy management. Create/adjust sign-on policies and device-posture requirements from a prompt.
Reads → weak. list_*/get_*/get_logs — pass through.
Availability writes → strong. Deactivate/delete user, delete app/group: wrong target = lockout or broken SSO for many users. delete_deactivated_user is irreversible.
Privilege & security bypass → strongest. add_user_to_group onto an admin group, application assignment, and any deactivate/delete_policy that weakens MFA or conditional access — treat as break-glass, ideally multi-approver.
The honest positioning: Okta already does elicitation-based confirmation on deletes/deactivations, so a guard's value isn't "adding a confirm" — it's the parts confirmation doesn't cover: multi-approver quorum for break-glass, an independent tamper-evident audit, an impact diff (who loses/gains access), policy-based routing, and honest irreversibility labeling. Compensation is limited: a deactivate can often be reactivated, but a hard delete or a revoked-then-abused session cannot. Compensation is not undo, with the highest stakes being access itself.
ChronoMCP adds quorum, an independent audit trail and an access-impact diff on the identity actions that lock people out or grant admin.
Read the quickstart → More MCP profilesProfiles describe third-party software from its public sources; ChronoMCP is not affiliated with Okta. Tool names are from the official README (sourced, not hand-audited); MFA/password-reset and admin-role-assign tools were not seen and are marked unverified, not assumed. Risk groupings are our classification. Sources current as of Aug 2026 — check the source links.