Skip to content

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/mcp
the first call
do {  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.

  1. 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
  2. 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 `Authorization
    • hostWhere your authentik lives: your host
    account { op: "connections.requirements", service: "authentik" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates 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
  1. Stages

    209

    93 read · 87 write · 29 destructive

    Invitation Viewset · Invitation Viewset · Send invitation link via email to one or more addresses · Invitation Viewset

  2. Sources

    172

    79 read · 69 write · 24 destructive

    Source Viewset · Source Viewset · Prevent deletion of built-in sources · Get all creatable types

  3. Providers

    128

    64 read · 45 write · 19 destructive

    Provider Viewset · Get all creatable types · Get a list of all objects that use this object · GoogleWorkspaceProvider Viewset

  4. Propertymappings

    111

    50 read · 45 write · 16 destructive

    PropertyMapping Viewset · Test Property Mapping · Get all creatable types · Get a list of all objects that use this object

  5. Authenticators

    83

    37 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)

  6. Policies

    76

    37 read · 27 write · 12 destructive

    Policy Viewset · Test policy · Get all creatable types · Get a list of all objects that use this object

  7. Core

    75

    33 read · 31 write · 11 destructive

    User Viewset · Group Viewset · Get information about current user · User Viewset

  8. Endpoints

    63

    31 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.

ActionWhat it doesEffectSame name in
authentik.core.users_listUser ViewsetUser Viewsetreadidentity.user.list474 connectors
authentik.core.groups_listGroup ViewsetGroup Viewsetreadidentity.group.list262 connectors
authentik.rbac.roles_listRole viewsetRole viewsetreadidentity.role.list184 connectors
authentik.core.users_me_retrieveGet information about current userGet information about current userreadidentity.current_user.get307 connectors
authentik.core.users_createUser ViewsetUser Viewsetwriteidentity.user.create262 connectors
authentik.core.applications_listCustom list method that checks Policy based access instead of guardianCustom list method that checks Policy based access instead of guardianreadidentity.application.list37 connectors
authentik.core.groups_createGroup ViewsetGroup Viewsetwriteidentity.group.create205 connectors
authentik.rbac.roles_createRole viewsetRole viewsetwriteidentity.role.create105 connectors
authentik.core.users_destroyUser ViewsetUser Viewsetdestructiveidentity.user.delete253 connectors
authentik.core.applications_createApplication ViewsetApplication Viewsetwriteidentity.application.create27 connectors
authentik.core.tokens_createToken ViewsetToken Viewsetwriteidentity.api_key.create100 connectors
authentik.core.tokens_listToken ViewsetToken Viewsetreadidentity.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.

  1. Readread

    Who has access in authentik? List every user and their role.

    callsauthentik.core.users_list

  2. Writewrite

    User Viewset in authentik. Show me exactly what you will send before you save it.

    callsauthentik.core.users_create

Governance for authentik

Destructive actions wait for a yes.

169 authentik actions are destructive. The first 10:

  • User Viewsetauthentik.core.users_destroy
  • Group Viewsetauthentik.core.groups_destroy
  • Role viewsetauthentik.rbac.roles_destroy
  • Application Viewsetauthentik.core.applications_destroy
  • Token Viewsetauthentik.core.tokens_destroy
  • Remove user from groupauthentik.core.groups_remove_user_create
  • Remove user from roleauthentik.rbac.roles_remove_user_create
  • Prevent deletion of built-in sourcesauthentik.sources.all_destroy
  • AuthenticatedSession Viewsetauthentik.core.authenticated_sessions_destroy
  • Invitation Viewsetauthentik.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.

doauthentik.core.users_destroyconfirm_policy: human

User Viewset?

intent: the user asked me to user Viewset

run suspended · waiting for a named person · key authentik-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
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]" }  ]}
Illustrative. Scoped to authentik only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

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

See pricing

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 Viewsetwrite
  • authentik.stages.invitation_invitations_destroyInvitation Viewsetdestructive
  • authentik.stages.invitation_invitations_listInvitation Viewsetread
  • authentik.stages.invitation_invitations_partial_updateInvitation Viewsetwrite
  • authentik.stages.invitation_invitations_retrieveInvitation Viewsetread
  • authentik.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 sourcesdestructive
  • authentik.sources.all_listSource Viewsetread
  • authentik.sources.all_retrieveSource Viewsetread
  • authentik.sources.all_types_listGet all creatable typesread
  • authentik.sources.oauth_createSource Viewsetwrite
  • authentik.sources.oauth_destroySource Viewsetdestructive
  • and 166 more in this area
Providers128
  • authentik.providers.all_destroyProvider Viewsetdestructive
  • authentik.providers.all_listProvider Viewsetread
  • authentik.providers.all_retrieveProvider Viewsetread
  • authentik.providers.all_types_listGet all creatable typesread
  • authentik.providers.all_used_by_listGet a list of all objects that use this objectread
  • authentik.providers.google_workspace_createGoogleWorkspaceProvider Viewsetwrite
  • and 122 more in this area
Propertymappings111
  • authentik.propertymappings.all_destroyPropertyMapping Viewsetdestructive
  • authentik.propertymappings.all_listPropertyMapping Viewsetread
  • authentik.propertymappings.all_retrievePropertyMapping Viewsetread
  • authentik.propertymappings.all_test_createTest Property Mappingread
  • authentik.propertymappings.all_types_listGet all creatable typesread
  • authentik.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 userread
  • authentik.authenticators.admin_duo_createViewset for Duo authenticator devices (for admins)write
  • authentik.authenticators.admin_duo_destroyViewset for Duo authenticator devices (for admins)destructive
  • authentik.authenticators.admin_duo_listViewset for Duo authenticator devices (for admins)read
  • authentik.authenticators.admin_duo_partial_updateViewset for Duo authenticator devices (for admins)write
  • authentik.authenticators.admin_duo_retrieveViewset for Duo authenticator devices (for admins)read
  • and 77 more in this area
Policies76
  • authentik.policies.all_destroyPolicy Viewsetdestructive
  • authentik.policies.all_listPolicy Viewsetread
  • authentik.policies.all_retrievePolicy Viewsetread
  • authentik.policies.all_test_createTest policyread
  • authentik.policies.all_types_listGet all creatable typesread
  • authentik.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 Viewsetwrite
  • authentik.core.groups_destroyGroup Viewsetdestructive
  • authentik.core.groups_listGroup Viewsetread
  • authentik.core.groups_partial_updateGroup Viewsetwrite
  • authentik.core.groups_retrieveGroup Viewsetread
  • authentik.core.groups_updateGroup Viewsetwrite
  • and 69 more in this area
Endpoints63
  • authentik.endpoints.agents_connectors_createAgents connectors create (endpoints)write
  • authentik.endpoints.agents_connectors_listAgents connectors list (endpoints)read
  • authentik.endpoints.agents_connectors_mdm_config_createGenerate configuration for MDM systems to deploy authentik Agentread
  • authentik.endpoints.agents_connectors_used_by_listGet a list of all objects that use this objectread
  • authentik.endpoints.agents_enrollment_tokens_used_by_listGet a list of all objects that use this objectread
  • authentik.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 Viewsetwrite
  • authentik.outposts.instances_destroyOutpost Viewsetdestructive
  • authentik.outposts.instances_health_listGet outposts current healthread
  • authentik.outposts.instances_listOutpost Viewsetread
  • authentik.outposts.instances_partial_updateOutpost Viewsetwrite
  • authentik.outposts.instances_retrieveOutpost Viewsetread
  • and 28 more in this area
Events33
  • authentik.events.events_actions_listGet all actionsread
  • authentik.events.events_createEvent Read-Only Viewsetwrite
  • authentik.events.events_destroyEvent Read-Only Viewsetdestructive
  • authentik.events.events_listEvent Read-Only Viewsetread
  • authentik.events.events_partial_updateEvent Read-Only Viewsetwrite
  • authentik.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-boxedwrite
  • authentik.requests.grant_requests_createGrant requests createwrite
  • authentik.requests.grant_requests_listGrant requests listread
  • authentik.requests.grant_requests_pending_review_listList pending grant requests the current user is eligible to reviewread
  • authentik.requests.grant_requests_destroyGrant requests destroydestructive
  • authentik.requests.grant_requests_fulfill_partial_updateGrant requests fulfill partial updatewrite
  • and 23 more in this area
Rbac22
  • authentik.rbac.roles_createRole viewsetwrite
  • authentik.rbac.roles_destroyRole viewsetdestructive
  • authentik.rbac.roles_listRole viewsetread
  • authentik.rbac.roles_partial_updateRole viewsetwrite
  • authentik.rbac.roles_retrieveRole viewsetread
  • authentik.rbac.roles_updateRole viewsetwrite
  • and 16 more in this area
Flows20
  • authentik.flows.bindings_createFlowStageBinding Viewsetwrite
  • authentik.flows.bindings_destroyFlowStageBinding Viewsetdestructive
  • authentik.flows.bindings_listFlowStageBinding Viewsetread
  • authentik.flows.bindings_partial_updateFlowStageBinding Viewsetwrite
  • authentik.flows.bindings_retrieveFlowStageBinding Viewsetread
  • authentik.flows.bindings_updateFlowStageBinding Viewsetwrite
  • and 14 more in this area
Lifecycle14
  • authentik.lifecycle.iterations_createIterations create (lifecycle)write
  • authentik.lifecycle.iterations_list_latestIterations list latest (lifecycle)read
  • authentik.lifecycle.iterations_list_openIterations list open (lifecycle)read
  • authentik.lifecycle.reviews_createReviews create (lifecycle)write
  • authentik.lifecycle.rules_createRules createwrite
  • authentik.lifecycle.rules_destroyRules destroydestructive
  • and 8 more in this area
Admin13
  • authentik.admin.apps_listRead-only view list all installed appsread
  • authentik.admin.file_listList files from storage backendread
  • authentik.admin.file_used_by_listFile used by listread
  • authentik.admin.models_listRead-only view list all installed modelsread
  • authentik.admin.file_destroyDelete file from storage backenddestructive
  • authentik.admin.settings_partial_updateSettings viewwrite
  • and 7 more in this area
Rac13
  • authentik.rac.connection_tokens_destroyConnectionToken Viewsetdestructive
  • authentik.rac.connection_tokens_listConnectionToken Viewsetread
  • authentik.rac.connection_tokens_partial_updateConnectionToken Viewsetwrite
  • authentik.rac.connection_tokens_retrieveConnectionToken Viewsetread
  • authentik.rac.connection_tokens_updateConnectionToken Viewsetwrite
  • authentik.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 Viewsetdestructive
  • authentik.oauth2.access_tokens_listAccessToken Viewsetread
  • authentik.oauth2.access_tokens_retrieveAccessToken Viewsetread
  • authentik.oauth2.access_tokens_used_by_listGet a list of all objects that use this objectread
  • authentik.oauth2.authorization_codes_destroyAuthorizationCode Viewsetdestructive
  • authentik.oauth2.authorization_codes_listAuthorizationCode Viewsetread
  • and 6 more in this area
Crypto10
  • authentik.crypto.certificatekeypairs_createCertificateKeyPair Viewsetwrite
  • authentik.crypto.certificatekeypairs_destroyCertificateKeyPair Viewsetdestructive
  • authentik.crypto.certificatekeypairs_listCertificateKeyPair Viewsetread
  • authentik.crypto.certificatekeypairs_partial_updateCertificateKeyPair Viewsetwrite
  • authentik.crypto.certificatekeypairs_retrieveCertificateKeyPair Viewsetread
  • authentik.crypto.certificatekeypairs_updateCertificateKeyPair Viewsetwrite
  • and 4 more in this area
Enterprise10
  • authentik.enterprise.license_createLicense Viewsetwrite
  • authentik.enterprise.license_destroyLicense Viewsetdestructive
  • authentik.enterprise.license_forecast_retrieveForecast how many users will be required in a yearread
  • authentik.enterprise.license_listLicense Viewsetread
  • authentik.enterprise.license_partial_updateLicense Viewsetwrite
  • authentik.enterprise.license_retrieveLicense Viewsetread
  • and 4 more in this area
Tasks10
  • authentik.tasks.schedules_listSchedules listread
  • authentik.tasks.schedules_partial_updateSchedules partial updatewrite
  • authentik.tasks.tasks_listTasks listread
  • authentik.tasks.workers_listGet currently connected worker countread
  • authentik.tasks.schedules_retrieveSchedules retrieveread
  • authentik.tasks.schedules_send_createTrigger this schedule nowwrite
  • and 4 more in this area
Managed9
  • authentik.managed.blueprints_available_listGet blueprintsread
  • authentik.managed.blueprints_createBlueprint instanceswrite
  • authentik.managed.blueprints_destroyBlueprint instancesdestructive
  • authentik.managed.blueprints_listBlueprint instancesread
  • authentik.managed.blueprints_partial_updateBlueprint instanceswrite
  • authentik.managed.blueprints_retrieveBlueprint instancesread
  • and 3 more in this area
Agents6
  • authentik.agents.agents_createAdmin-provisioned delegate identitieswrite
  • authentik.agents.agents_destroyAdmin-provisioned delegate identitiesdestructive
  • authentik.agents.agents_listAdmin-provisioned delegate identitiesread
  • authentik.agents.agents_partial_updateAdmin-provisioned delegate identitieswrite
  • authentik.agents.agents_retrieveAdmin-provisioned delegate identitiesread
  • authentik.agents.agents_updateAdmin-provisioned delegate identitieswrite
Reports3
  • authentik.reports.exports_destroyExports destroydestructive
  • authentik.reports.exports_listExports listread
  • authentik.reports.exports_retrieveExports retrieveread
SSF3
  • authentik.ssf.streams_destroySSFStream Viewsetdestructive
  • authentik.ssf.streams_listSSFStream Viewsetread
  • authentik.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.