Connectors · MSP & PSA
authentik MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to authentik and the rest of your systems. It gives your agent 1,159 authentik actions (552 reads, 438 writes and 169 that wait for a confirmation) and holds the authentik credential itself, so the agent never does. It paces authentik's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "authentik.core.users_list", intent: "check which authentik account is connected"}# User Viewset · read · 1 upstream call- 1,159actionsin one signed file
- 552readlook, never change
- 438writecreate and update
- 169wait for a yesdestructive, confirmed first
Set up
Connect authentik in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect authentik.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
access_tokenauthentik API token, sent as `AuthorizationhostWhere your authentik lives: your host
account { op: "connections.requirements", service: "authentik" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "authentik.core.users_list" }# user viewset · read · 1 upstream callcheck { action: "authentik.core.users_create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
authentik at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
access_token- Setup fields
host- Limits we pace to
- 20 calls a second, per connection
- API covered
- Authentik API v3, schema of release 2026.8.5 (OpenAPI 3.0.3), at your authentik instance's API base URL, which you enter when connecting (path /api/v3)
- Built from
- authentik's documentation, read 23 October 2026OpenAPI spec (GitHub)docs.goauthentik.io
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 517 of 552 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 5, so ask can line authentik up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in authentik.
1,159 actions in 25 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 552readlook, never change
- 438writecreate and update
- 169destructivewait for a confirmation
Stages
20993 read · 87 write · 29 destructive
Invitation Viewset · Invitation Viewset · Send invitation link via email to one or more addresses · Invitation Viewset
Sources
17279 read · 69 write · 24 destructive
Source Viewset · Source Viewset · Prevent deletion of built-in sources · Get all creatable types
Providers
12864 read · 45 write · 19 destructive
Provider Viewset · Get all creatable types · Get a list of all objects that use this object · GoogleWorkspaceProvider Viewset
Propertymappings
11150 read · 45 write · 16 destructive
PropertyMapping Viewset · Test Property Mapping · Get all creatable types · Get a list of all objects that use this object
Authenticators
8337 read · 33 write · 13 destructive
Get all devices for current user · Viewset for Duo authenticator devices (for admins) · Viewset for Duo authenticator devices (for admins) · Viewset for email authenticator devices (for admins)
Policies
7637 read · 27 write · 12 destructive
Policy Viewset · Test policy · Get all creatable types · Get a list of all objects that use this object
Core
7533 read · 31 write · 11 destructive
User Viewset · Group Viewset · Get information about current user · User Viewset
Endpoints
6331 read · 23 write · 9 destructive
Agents connectors create (endpoints) · Agents connectors list (endpoints) · Generate configuration for MDM systems to deploy authentik Agent · Get a list of all objects that use this object
17 more areas · 242 actions
- Outposts 34
- Events 33
- Requests 29
- Rbac 22
- Flows 20
- Lifecycle 14
- Admin 13
- Rac 13
- Oauth2 12
- Crypto 10
- Enterprise 10
- Tasks 10
- Managed 9
- Agents 6
- Reports 3
- SSF 3
- Root 1
Top actions
The authentik API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 52 of authentik's 52 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
authentik.core.users_listUser Viewset | User Viewset | read | identity.user.list474 connectors |
authentik.core.groups_listGroup Viewset | Group Viewset | read | identity.group.list262 connectors |
authentik.rbac.roles_listRole viewset | Role viewset | read | identity.role.list184 connectors |
authentik.core.users_me_retrieveGet information about current user | Get information about current user | read | identity.current_user.get307 connectors |
authentik.core.users_createUser Viewset | User Viewset | write | identity.user.create262 connectors |
authentik.core.applications_listCustom list method that checks Policy based access instead of guardian | Custom list method that checks Policy based access instead of guardian | read | identity.application.list37 connectors |
authentik.core.groups_createGroup Viewset | Group Viewset | write | identity.group.create205 connectors |
authentik.rbac.roles_createRole viewset | Role viewset | write | identity.role.create105 connectors |
authentik.core.users_destroyUser Viewset | User Viewset | destructive | identity.user.delete253 connectors |
authentik.core.applications_createApplication Viewset | Application Viewset | write | identity.application.create27 connectors |
authentik.core.tokens_createToken Viewset | Token Viewset | write | identity.api_key.create100 connectors |
authentik.core.tokens_listToken Viewset | Token Viewset | read | identity.api_key.list96 connectors |
Try it
Prompts to paste into Claude.
Each one names the authentik actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Who has access in authentik? List every user and their role.
calls
authentik.core.users_list - Writewrite
User Viewset in authentik. Show me exactly what you will send before you save it.
calls
authentik.core.users_create
Governance for authentik
Destructive actions wait for a yes.
169 authentik actions are destructive. The first 10:
- User Viewset
authentik.core.users_destroy - Group Viewset
authentik.core.groups_destroy - Role viewset
authentik.rbac.roles_destroy - Application Viewset
authentik.core.applications_destroy - Token Viewset
authentik.core.tokens_destroy - Remove user from group
authentik.core.groups_remove_user_create - Remove user from role
authentik.rbac.roles_remove_user_create - Prevent deletion of built-in sources
authentik.sources.all_destroy - AuthenticatedSession Viewset
authentik.core.authenticated_sessions_destroy - Invitation Viewset
authentik.stages.invitation_invitations_destroy
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
User Viewset?
intent: the user asked me to user Viewset
account { op: "keys.create", name: "authentik-agent", allowed_actions: ["authentik.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "authentik.core.users_destroy", approver: "[email protected]" }, { match: "authentik.core.groups_destroy", approver: "[email protected]" }, { match: "authentik.rbac.roles_destroy", approver: "[email protected]" } ]}Cost
What authentik costs on actionlake.
Every authentik action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call authentik refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 1,159 authentik actions
- 1,159actions pageeach page of a long list is one call
- 517reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every authentik action.
1,159 actions by area: the id your agent calls, what it does, and its effect.
Stages209
authentik.stages.invitation_invitations_createInvitation Viewsetwriteauthentik.stages.invitation_invitations_destroyInvitation Viewsetdestructiveauthentik.stages.invitation_invitations_listInvitation Viewsetreadauthentik.stages.invitation_invitations_partial_updateInvitation Viewsetwriteauthentik.stages.invitation_invitations_retrieveInvitation Viewsetreadauthentik.stages.invitation_invitations_send_email_createSend invitation link via email to one or more addresseswrite- and 203 more in this area
Sources172
authentik.sources.all_destroyPrevent deletion of built-in sourcesdestructiveauthentik.sources.all_listSource Viewsetreadauthentik.sources.all_retrieveSource Viewsetreadauthentik.sources.all_types_listGet all creatable typesreadauthentik.sources.oauth_createSource Viewsetwriteauthentik.sources.oauth_destroySource Viewsetdestructive- and 166 more in this area
Providers128
authentik.providers.all_destroyProvider Viewsetdestructiveauthentik.providers.all_listProvider Viewsetreadauthentik.providers.all_retrieveProvider Viewsetreadauthentik.providers.all_types_listGet all creatable typesreadauthentik.providers.all_used_by_listGet a list of all objects that use this objectreadauthentik.providers.google_workspace_createGoogleWorkspaceProvider Viewsetwrite- and 122 more in this area
Propertymappings111
authentik.propertymappings.all_destroyPropertyMapping Viewsetdestructiveauthentik.propertymappings.all_listPropertyMapping Viewsetreadauthentik.propertymappings.all_retrievePropertyMapping Viewsetreadauthentik.propertymappings.all_test_createTest Property Mappingreadauthentik.propertymappings.all_types_listGet all creatable typesreadauthentik.propertymappings.all_used_by_listGet a list of all objects that use this objectread- and 105 more in this area
Authenticators83
authentik.authenticators.admin_all_listGet all devices for current userreadauthentik.authenticators.admin_duo_createViewset for Duo authenticator devices (for admins)writeauthentik.authenticators.admin_duo_destroyViewset for Duo authenticator devices (for admins)destructiveauthentik.authenticators.admin_duo_listViewset for Duo authenticator devices (for admins)readauthentik.authenticators.admin_duo_partial_updateViewset for Duo authenticator devices (for admins)writeauthentik.authenticators.admin_duo_retrieveViewset for Duo authenticator devices (for admins)read- and 77 more in this area
Policies76
authentik.policies.all_destroyPolicy Viewsetdestructiveauthentik.policies.all_listPolicy Viewsetreadauthentik.policies.all_retrievePolicy Viewsetreadauthentik.policies.all_test_createTest policyreadauthentik.policies.all_types_listGet all creatable typesreadauthentik.policies.all_used_by_listGet a list of all objects that use this objectread- and 70 more in this area
Core75
authentik.core.groups_createGroup Viewsetwriteauthentik.core.groups_destroyGroup Viewsetdestructiveauthentik.core.groups_listGroup Viewsetreadauthentik.core.groups_partial_updateGroup Viewsetwriteauthentik.core.groups_retrieveGroup Viewsetreadauthentik.core.groups_updateGroup Viewsetwrite- and 69 more in this area
Endpoints63
authentik.endpoints.agents_connectors_createAgents connectors create (endpoints)writeauthentik.endpoints.agents_connectors_listAgents connectors list (endpoints)readauthentik.endpoints.agents_connectors_mdm_config_createGenerate configuration for MDM systems to deploy authentik Agentreadauthentik.endpoints.agents_connectors_used_by_listGet a list of all objects that use this objectreadauthentik.endpoints.agents_enrollment_tokens_used_by_listGet a list of all objects that use this objectreadauthentik.endpoints.agents_psso_ise_used_by_listGet a list of all objects that use this objectread- and 57 more in this area
Outposts34
authentik.outposts.instances_createOutpost Viewsetwriteauthentik.outposts.instances_destroyOutpost Viewsetdestructiveauthentik.outposts.instances_health_listGet outposts current healthreadauthentik.outposts.instances_listOutpost Viewsetreadauthentik.outposts.instances_partial_updateOutpost Viewsetwriteauthentik.outposts.instances_retrieveOutpost Viewsetread- and 28 more in this area
Events33
authentik.events.events_actions_listGet all actionsreadauthentik.events.events_createEvent Read-Only Viewsetwriteauthentik.events.events_destroyEvent Read-Only Viewsetdestructiveauthentik.events.events_listEvent Read-Only Viewsetreadauthentik.events.events_partial_updateEvent Read-Only Viewsetwriteauthentik.events.events_retrieveEvent Read-Only Viewsetread- and 27 more in this area
Requests29
authentik.requests.grant_requests_agent_createDelegate access an agent's owner already holds to the agent, time-boxedwriteauthentik.requests.grant_requests_createGrant requests createwriteauthentik.requests.grant_requests_listGrant requests listreadauthentik.requests.grant_requests_pending_review_listList pending grant requests the current user is eligible to reviewreadauthentik.requests.grant_requests_destroyGrant requests destroydestructiveauthentik.requests.grant_requests_fulfill_partial_updateGrant requests fulfill partial updatewrite- and 23 more in this area
Rbac22
authentik.rbac.roles_createRole viewsetwriteauthentik.rbac.roles_destroyRole viewsetdestructiveauthentik.rbac.roles_listRole viewsetreadauthentik.rbac.roles_partial_updateRole viewsetwriteauthentik.rbac.roles_retrieveRole viewsetreadauthentik.rbac.roles_updateRole viewsetwrite- and 16 more in this area
Flows20
authentik.flows.bindings_createFlowStageBinding Viewsetwriteauthentik.flows.bindings_destroyFlowStageBinding Viewsetdestructiveauthentik.flows.bindings_listFlowStageBinding Viewsetreadauthentik.flows.bindings_partial_updateFlowStageBinding Viewsetwriteauthentik.flows.bindings_retrieveFlowStageBinding Viewsetreadauthentik.flows.bindings_updateFlowStageBinding Viewsetwrite- and 14 more in this area
Lifecycle14
authentik.lifecycle.iterations_createIterations create (lifecycle)writeauthentik.lifecycle.iterations_list_latestIterations list latest (lifecycle)readauthentik.lifecycle.iterations_list_openIterations list open (lifecycle)readauthentik.lifecycle.reviews_createReviews create (lifecycle)writeauthentik.lifecycle.rules_createRules createwriteauthentik.lifecycle.rules_destroyRules destroydestructive- and 8 more in this area
Admin13
authentik.admin.apps_listRead-only view list all installed appsreadauthentik.admin.file_listList files from storage backendreadauthentik.admin.file_used_by_listFile used by listreadauthentik.admin.models_listRead-only view list all installed modelsreadauthentik.admin.file_destroyDelete file from storage backenddestructiveauthentik.admin.settings_partial_updateSettings viewwrite- and 7 more in this area
Rac13
authentik.rac.connection_tokens_destroyConnectionToken Viewsetdestructiveauthentik.rac.connection_tokens_listConnectionToken Viewsetreadauthentik.rac.connection_tokens_partial_updateConnectionToken Viewsetwriteauthentik.rac.connection_tokens_retrieveConnectionToken Viewsetreadauthentik.rac.connection_tokens_updateConnectionToken Viewsetwriteauthentik.rac.connection_tokens_used_by_listGet a list of all objects that use this objectread- and 7 more in this area
Oauth212
authentik.oauth2.access_tokens_destroyAccessToken Viewsetdestructiveauthentik.oauth2.access_tokens_listAccessToken Viewsetreadauthentik.oauth2.access_tokens_retrieveAccessToken Viewsetreadauthentik.oauth2.access_tokens_used_by_listGet a list of all objects that use this objectreadauthentik.oauth2.authorization_codes_destroyAuthorizationCode Viewsetdestructiveauthentik.oauth2.authorization_codes_listAuthorizationCode Viewsetread- and 6 more in this area
Crypto10
authentik.crypto.certificatekeypairs_createCertificateKeyPair Viewsetwriteauthentik.crypto.certificatekeypairs_destroyCertificateKeyPair Viewsetdestructiveauthentik.crypto.certificatekeypairs_listCertificateKeyPair Viewsetreadauthentik.crypto.certificatekeypairs_partial_updateCertificateKeyPair Viewsetwriteauthentik.crypto.certificatekeypairs_retrieveCertificateKeyPair Viewsetreadauthentik.crypto.certificatekeypairs_updateCertificateKeyPair Viewsetwrite- and 4 more in this area
Enterprise10
authentik.enterprise.license_createLicense Viewsetwriteauthentik.enterprise.license_destroyLicense Viewsetdestructiveauthentik.enterprise.license_forecast_retrieveForecast how many users will be required in a yearreadauthentik.enterprise.license_listLicense Viewsetreadauthentik.enterprise.license_partial_updateLicense Viewsetwriteauthentik.enterprise.license_retrieveLicense Viewsetread- and 4 more in this area
Tasks10
authentik.tasks.schedules_listSchedules listreadauthentik.tasks.schedules_partial_updateSchedules partial updatewriteauthentik.tasks.tasks_listTasks listreadauthentik.tasks.workers_listGet currently connected worker countreadauthentik.tasks.schedules_retrieveSchedules retrievereadauthentik.tasks.schedules_send_createTrigger this schedule nowwrite- and 4 more in this area
Managed9
authentik.managed.blueprints_available_listGet blueprintsreadauthentik.managed.blueprints_createBlueprint instanceswriteauthentik.managed.blueprints_destroyBlueprint instancesdestructiveauthentik.managed.blueprints_listBlueprint instancesreadauthentik.managed.blueprints_partial_updateBlueprint instanceswriteauthentik.managed.blueprints_retrieveBlueprint instancesread- and 3 more in this area
Agents6
authentik.agents.agents_createAdmin-provisioned delegate identitieswriteauthentik.agents.agents_destroyAdmin-provisioned delegate identitiesdestructiveauthentik.agents.agents_listAdmin-provisioned delegate identitiesreadauthentik.agents.agents_partial_updateAdmin-provisioned delegate identitieswriteauthentik.agents.agents_retrieveAdmin-provisioned delegate identitiesreadauthentik.agents.agents_updateAdmin-provisioned delegate identitieswrite
Reports3
authentik.reports.exports_destroyExports destroydestructiveauthentik.reports.exports_listExports listreadauthentik.reports.exports_retrieveExports retrieveread
SSF3
authentik.ssf.streams_destroySSFStream Viewsetdestructiveauthentik.ssf.streams_listSSFStream Viewsetreadauthentik.ssf.streams_retrieveSSFStream Viewsetread
Root1
authentik.root.config_retrieveRetrieve public configuration optionsread
This index shows a sample of each area. All 1,159 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The authentik MCP server, answered.
Is there an authentik MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 1,159 authentik actions across stages, sources, providers and propertymappings, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by authentik.
What do I need to connect authentik?
Authentik API token, sent as `Authorization. Plus your host. The free call account { op: "connections.requirements", service: "authentik" } lists exactly what to paste.
Can an AI agent delete or change things in authentik?
Only if its key allows it, and only with an explicit confirmation. 169 authentik actions are destructive, including user Viewset, group Viewset and role viewset. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my authentik API limit?
actionlake paces every call to the limits in the authentik service file: 20 calls a second per connection. Repeated reads are answered from cache (517 authentik actions can be), which never reaches authentik.
What does an authentik action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (1,159 authentik actions page). Cache hits, searches, dry runs and calls authentik refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which authentik API does it cover?
The authentik API v3, schema of release 2026.8.5 (OpenAPI 3.0.3) at your authentik instance's API base URL, which you enter when connecting (path /api/v3). It is built from authentik's documentation as read on 23 October 2026. 1,159 actions in 25 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my authentik data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your authentik credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent authentik today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.