Authentik MCP Server

平台与服务

by samik081

让 AI assistants 管理 Authentik,支持身份认证相关配置、查询与运维操作。

什么是 Authentik MCP Server?

让 AI assistants 管理 Authentik,支持身份认证相关配置、查询与运维操作。

README

npm version Docker image License: MIT Node.js Version

MCP Authentik

MCP server for Authentik identity management. Manage users, groups, applications, flows, policies, providers, and more through natural language in Cursor, Claude Code, and Claude Desktop.

Features

  • 297 tools across 22 categories covering the complete Authentik API
  • Read-only mode via AUTHENTIK_ACCESS_TIER=read-only for safe monitoring
  • Category filtering via AUTHENTIK_CATEGORIES to expose only the tools you need
  • Type-safe SDK client via @goauthentik/api
  • Docker images for linux/amd64 and linux/arm64 on GHCR
  • Remote MCP via HTTP transport (MCP_TRANSPORT=http) using the Streamable HTTP protocol
  • TypeScript/ESM with full type safety

API Compatibility

Built for Authentik 2026.5.

Quick Start

Run the server directly with npx:

bash
AUTHENTIK_URL="https://auth.example.com" \
AUTHENTIK_TOKEN="your-api-token" \
npx -y @samik081/mcp-authentik

The server validates your Authentik connection on startup and fails immediately with a clear error if credentials are missing or invalid.

Docker

Run with Docker (stdio transport, same as npx):

bash
docker run --rm -i \
  -e AUTHENTIK_URL=https://auth.example.com \
  -e AUTHENTIK_TOKEN=your-api-token \
  ghcr.io/samik081/mcp-authentik

To run as a remote MCP server with HTTP transport:

bash
docker run -d -p 3000:3000 \
  -e MCP_TRANSPORT=http \
  -e AUTHENTIK_URL=https://auth.example.com \
  -e AUTHENTIK_TOKEN=your-api-token \
  ghcr.io/samik081/mcp-authentik

The MCP endpoint is available at http://localhost:3000 and a health check at http://localhost:3000/health.

Configuration

Claude Code CLI (recommended):

bash
# Using npx
claude mcp add --transport stdio authentik \
  --env AUTHENTIK_URL=https://auth.example.com \
  --env AUTHENTIK_TOKEN=your-api-token \
  -- npx -y @samik081/mcp-authentik

# Using Docker
claude mcp add --transport stdio authentik \
  --env AUTHENTIK_URL=https://auth.example.com \
  --env AUTHENTIK_TOKEN=your-api-token \
  -- docker run --rm -i ghcr.io/samik081/mcp-authentik

# Using remote HTTP (connect to a running Docker container or HTTP server)
claude mcp add --transport http authentik http://localhost:3000

JSON config (works with Claude Code .mcp.json, Claude Desktop claude_desktop_config.json, Cursor .cursor/mcp.json):

json
{
  "mcpServers": {
    "authentik": {
      "command": "npx",
      "args": ["-y", "@samik081/mcp-authentik"],
      "env": {
        "AUTHENTIK_URL": "https://auth.example.com",
        "AUTHENTIK_TOKEN": "your-api-token"
      }
    }
  }
}

Docker (stdio):

json
{
  "mcpServers": {
    "authentik": {
      "command": "docker",
      "args": ["run", "--rm", "-i",
        "-e", "AUTHENTIK_URL=https://auth.example.com",
        "-e", "AUTHENTIK_TOKEN=your-api-token",
        "ghcr.io/samik081/mcp-authentik"
      ]
    }
  }
}

Remote MCP (connect to a running Docker container or HTTP server):

json
{
  "mcpServers": {
    "authentik": {
      "type": "streamable-http",
      "url": "http://localhost:3000"
    }
  }
}

Access Tiers

Control which tools are available using the AUTHENTIK_ACCESS_TIER environment variable:

TierToolsDescription
full (default)297Read and write -- full control
read-only144Read only -- safe for monitoring, no state changes
  • full: All 297 tools. Includes creating, updating, and deleting users, groups, applications, flows, providers, and all other resources.
  • read-only: 144 tools. Listing and viewing resources only. No state changes.

Tools that are not available in your tier are not registered with the MCP server. They will not appear in your AI tool's tool list, keeping the context clean.

Environment Variables

VariableRequiredDefaultDescription
AUTHENTIK_URLYes--Authentik instance URL (e.g., https://auth.example.com)
AUTHENTIK_TOKENYes--API token with appropriate permissions
AUTHENTIK_ACCESS_TIERNofullread-only for read-only tools only, full for all tools
AUTHENTIK_CATEGORIESNo(all)Comma-separated category allowlist (e.g., core,admin,flows)
AUTHENTIK_TOOL_BLACKLISTNo(none)Comma-separated list of tool names to exclude (e.g., authentik_users_delete)
AUTHENTIK_TOOL_WHITELISTNo(none)Comma-separated list of tool names to force-include, bypassing access tier and category filters
DEBUGNofalseEnable debug logging to stderr
MCP_TRANSPORTNostdioTransport mode: stdio (default) or http
MCP_PORTNo3000HTTP server port (only used when MCP_TRANSPORT=http)
MCP_HOSTNo0.0.0.0HTTP server bind address (only used when MCP_TRANSPORT=http)
MCP_SESSION_IDLE_TIMEOUTNo1800Seconds of inactivity after which an HTTP session is closed and its memory released (sessions with a connected SSE stream are never closed). 0 disables. Only used when MCP_TRANSPORT=http
MCP_EXCLUDE_TOOL_TITLESNofalseSet true to omit tool titles from registration (saves tokens)

Available Categories

admin, authenticators, core, crypto, endpoints, enterprise, events, flows, managed, oauth2, outposts, policies, property-mappings, providers, rac, rbac, reports, root, sources, ssf, stages, tenants

Tools

mcp-authentik provides 297 tools organized by category. Each tool's Access column shows the minimum tier required: read-only (available in both tiers) or full (requires full tier). The Hints column shows tool behavior: read-only (no state changes), destructive (modifies existing state), idempotent (same result if called twice).

<details> <summary>Admin (8 tools)</summary>
ToolDescriptionAccessHints
authentik_admin_system_infoGet system information including HTTP host, runtime environment, server time, and embedded outpost statusread-onlyread-only, idempotent
authentik_admin_versionGet Authentik version information including current version and build hashread-onlyread-only, idempotent
authentik_admin_settings_getGet current system settingsread-onlyread-only, idempotent
authentik_admin_settings_updateUpdate system settings (partial update)fulldestructive, idempotent
authentik_admin_appsList installed Django applications in the Authentik instanceread-onlyread-only, idempotent
authentik_admin_modelsList all data models available in the Authentik instanceread-onlyread-only, idempotent
authentik_admin_version_historyList Authentik version history entriesread-onlyread-only, idempotent
authentik_admin_system_task_triggerTrigger all system tasks (e.g., cleanup, cache clear)full—
</details> <details> <summary>Authenticators (5 tools)</summary>
ToolDescriptionAccessHints
authentik_authenticators_listList all authenticator devices across all types for the current userread-onlyread-only, idempotent
authentik_authenticators_admin_by_type_listList authenticator devices of a specific type (admin view)read-onlyread-only, idempotent
authentik_authenticators_admin_by_type_getGet a single authenticator device by type and ID (admin view)read-onlyread-only, idempotent
authentik_authenticators_admin_by_type_deleteDelete an authenticator device by type and ID (admin view)fulldestructive
authentik_authenticators_user_by_type_listList authenticator devices of a specific type for the current userread-onlyread-only, idempotent
</details> <details> <summary>Core (45 tools)</summary>

Users

ToolDescriptionAccessHints
authentik_users_listList users with optional filters for username, email, name, active status, superuser status, path, groups, and searchread-onlyread-only, idempotent
authentik_users_getGet a single user by their numeric IDread-onlyread-only, idempotent
authentik_users_createCreate a new userfull—
authentik_users_updateUpdate an existing user (partial update)fulldestructive, idempotent
authentik_users_deleteDelete a user by their numeric IDfulldestructive
authentik_users_meGet information about the currently authenticated userread-onlyread-only, idempotent
authentik_users_set_passwordSet a new password for a userfulldestructive, idempotent
authentik_users_create_service_accountCreate a new service account user with an optional associated group and tokenfull—
authentik_users_generate_recovery_linkGenerate a temporary recovery link for a user to regain account accessfull—
authentik_users_send_recovery_emailSend a recovery email to a user using a specified email stagefull—
authentik_users_list_pathsList all user paths configured in the systemread-onlyread-only, idempotent
authentik_users_account_lockdownLock down a user account, deactivating it and terminating its active sessionsfulldestructive
authentik_users_exportTrigger an export of users with optional filters, producing a downloadable export artifactfull—

Groups

ToolDescriptionAccessHints
authentik_groups_listList groups with optional filters for name, superuser status, members, and searchread-onlyread-only, idempotent
authentik_groups_getGet a single group by its UUIDread-onlyread-only, idempotent
authentik_groups_createCreate a new group with optional parent group UUIDs, superuser status, users, and custom attributesfull—
authentik_groups_updateUpdate an existing group (partial update)fulldestructive, idempotent
authentik_groups_deleteDelete a group by its UUIDfulldestructive
authentik_groups_add_userAdd a user to a group by group UUID and user IDfullidempotent
authentik_groups_remove_userRemove a user from a group by group UUID and user IDfulldestructive

Applications

ToolDescriptionAccessHints
authentik_apps_listList applications with optional filters for name, slug, group, search, and moreread-onlyread-only, idempotent
authentik_apps_getGet a single application by its slugread-onlyread-only, idempotent
authentik_apps_createCreate a new application with name, slug, and optional provider, group, and metadatafull—
authentik_apps_updateUpdate an existing application (partial update)fulldestructive, idempotent
authentik_apps_set_icon_urlSet an application's icon to an external URL (sets the meta_icon field), or clear the current icon with clear: truefulldestructive, idempotent
authentik_apps_deleteDelete an application by its slugfulldestructive
authentik_apps_check_accessCheck whether a specific user has access to an applicationread-onlyread-only, idempotent
authentik_apps_update_transactionalCreate or update an application and its provider in a single atomic transactionfulldestructive, idempotent
authentik_app_entitlements_listList application entitlements with optional filtersread-onlyread-only, idempotent
authentik_app_entitlements_getGet a single application entitlement by its UUIDread-onlyread-only, idempotent
authentik_app_entitlements_createCreate a new application entitlementfull—
authentik_app_entitlements_updateUpdate an existing application entitlement (partial update)fulldestructive, idempotent
authentik_app_entitlements_deleteDelete an application entitlement by its UUIDfulldestructive

Tokens

ToolDescriptionAccessHints
authentik_tokens_listList tokens with optional filters for identifier, intent, managed status, and searchread-onlyread-only, idempotent
authentik_tokens_getGet a single token by its identifierread-onlyread-only, idempotent
authentik_tokens_createCreate a new token with an identifier, optional intent, description, and expiration settingsfull—
authentik_tokens_updateUpdate an existing token (partial update)fulldestructive, idempotent
authentik_tokens_deleteDelete a token by its identifierfulldestructive
authentik_tokens_view_keyView the raw key value of a token (privileged, logged)fullread-only, idempotent
authentik_tokens_set_keySet a custom key value for a tokenfulldestructive, idempotent

Brands

ToolDescriptionAccessHints
authentik_brands_listList brands with optional filters for UUID, domain, and searchread-onlyread-only, idempotent
authentik_brands_getGet a single brand by its UUIDread-onlyread-only, idempotent
authentik_brands_createCreate a new brand with domain, branding settings, flow assignments, and optional attributesfull—
authentik_brands_updateUpdate an existing brand (partial update)fulldestructive, idempotent
authentik_brands_deleteDelete a brand by its UUIDfulldestructive
authentik_brands_currentGet the brand configuration for the current domainread-onlyread-only, idempotent
</details> <details> <summary>Crypto (8 tools)</summary>
ToolDescriptionAccessHints
authentik_crypto_listList certificate keypairs with optional filtersread-onlyread-only, idempotent
authentik_crypto_getGet a single certificate keypair by its UUIDread-onlyread-only, idempotent
authentik_crypto_createCreate a new certificate keypair from PEM-encoded certificate and optional private key datafull—
authentik_crypto_updateUpdate an existing certificate keypair (partial update)fulldestructive, idempotent
authentik_crypto_deleteDelete a certificate keypair by its UUIDfulldestructive
authentik_crypto_generateGenerate a new self-signed certificate keypair (RSA, ECDSA, ED25519, or ED448)full—
authentik_crypto_view_certificateView the PEM-encoded certificate data for a keypairread-onlyread-only, idempotent
authentik_crypto_view_private_keyView the PEM-encoded private key data for a keypair (sensitive)fullread-only, idempotent
</details> <details> <summary>Endpoints (41 tools)</summary>

Enterprise device and endpoint management: managed devices, device access groups, device-to-policy bindings, and connectors for agents, enrollment, Fleet, Google Chrome, and Apple ISE-PSSO.

Devices

ToolDescriptionAccessHints
authentik_endpoints_devices_listList managed endpoint devices with optional filtering by name or identifier, search, and orderingread-onlyread-only, idempotent
authentik_endpoints_devices_getRetrieve a single endpoint device by its UUIDread-onlyread-only, idempotent
authentik_endpoints_devices_summaryRetrieve aggregate summary statistics about managed endpoint devicesread-onlyread-only, idempotent
authentik_endpoints_devices_updateUpdate an endpoint device (partial update)fulldestructive, idempotent
authentik_endpoints_devices_deleteDelete an endpoint device by its UUID (irreversible)fulldestructive

Device Access Groups

ToolDescriptionAccessHints
authentik_endpoints_device_access_groups_listList device access groups with optional filtering by name, search, and orderingread-onlyread-only, idempotent
authentik_endpoints_device_access_groups_getRetrieve a single device access group by its UUIDread-onlyread-only, idempotent
authentik_endpoints_device_access_groups_createCreate a new device access group (bundles devices for policy targeting)full—
authentik_endpoints_device_access_groups_updateUpdate a device access group (partial update)fulldestructive, idempotent
authentik_endpoints_device_access_groups_deleteDelete a device access group by its UUID (irreversible)fulldestructive

Device Bindings

ToolDescriptionAccessHints
authentik_endpoints_device_bindings_listList device-to-user policy bindings with optional filteringread-onlyread-only, idempotent
authentik_endpoints_device_bindings_getRetrieve a single device binding by its UUIDread-onlyread-only, idempotent
authentik_endpoints_device_bindings_createCreate a new device binding linking a policy, group, or user to a target with an evaluation orderfull—
authentik_endpoints_device_bindings_updateUpdate a device binding (partial update)fulldestructive, idempotent
authentik_endpoints_device_bindings_deleteDelete a device binding by its UUID (irreversible)fulldestructive

Agent Connectors

ToolDescriptionAccessHints
authentik_endpoints_agent_connectors_listList endpoint agent connectors with optional filteringread-onlyread-only, idempotent
authentik_endpoints_agent_connectors_getRetrieve a single agent connector by its UUIDread-onlyread-only, idempotent
authentik_endpoints_agent_connectors_createCreate a new endpoint agent connectorfull—
authentik_endpoints_agent_connectors_updateUpdate an agent connector (partial update)fulldestructive, idempotent
authentik_endpoints_agent_connectors_deleteDelete an agent connector by its UUID (irreversible)fulldestructive

Enrollment Tokens

ToolDescriptionAccessHints
authentik_endpoints_enrollment_tokens_listList agent enrollment tokens with optional filteringread-onlyread-only, idempotent
authentik_endpoints_enrollment_tokens_getRetrieve a single enrollment token by its UUIDread-onlyread-only, idempotent
authentik_endpoints_enrollment_tokens_createCreate a new agent enrollment token bound to a connector (used to enroll devices)full—
authentik_endpoints_enrollment_tokens_updateUpdate an enrollment token (partial update)fulldestructive, idempotent
authentik_endpoints_enrollment_tokens_deleteDelete an enrollment token by its UUID (irreversible)fulldestructive

Fleet Connectors

ToolDescriptionAccessHints
authentik_endpoints_fleet_connectors_listList Fleet device-management connectors with optional filteringread-onlyread-only, idempotent
authentik_endpoints_fleet_connectors_getRetrieve a single Fleet connector by its UUIDread-onlyread-only, idempotent
authentik_endpoints_fleet_connectors_createCreate a new Fleet connector pointing at a Fleet device-management instancefull—
authentik_endpoints_fleet_connectors_updateUpdate a Fleet connector (partial update)fulldestructive, idempotent
authentik_endpoints_fleet_connectors_deleteDelete a Fleet connector by its UUID (irreversible)fulldestructive

Google Chrome Connectors

ToolDescriptionAccessHints
authentik_endpoints_google_chrome_connectors_listList Google Chrome device-management connectors with optional filteringread-onlyread-only, idempotent
authentik_endpoints_google_chrome_connectors_getRetrieve a single Google Chrome connector by its UUIDread-onlyread-only, idempotent
authentik_endpoints_google_chrome_connectors_createCreate a new Google Chrome connector with service-account credentialsfull—
authentik_endpoints_google_chrome_connectors_updateUpdate a Google Chrome connector (partial update)fulldestructive, idempotent
authentik_endpoints_google_chrome_connectors_deleteDelete a Google Chrome connector by its UUID (irreversible)fulldestructive

ISE-PSSO Agents

ToolDescriptionAccessHints
authentik_endpoints_psso_ise_listList Apple Independent Secure Enclave (ISE-PSSO) agents with optional filteringread-onlyread-only, idempotent
authentik_endpoints_psso_ise_getRetrieve a single ISE-PSSO agent by its UUIDread-onlyread-only, idempotent
authentik_endpoints_psso_ise_deleteDelete an ISE-PSSO agent by its UUID (irreversible)fulldestructive

Connectors (generic registry)

ToolDescriptionAccessHints
authentik_endpoints_connectors_listList all endpoint connectors across types (generic registry view)read-onlyread-only, idempotent
authentik_endpoints_connectors_getRetrieve a single endpoint connector by its UUID from the generic registryread-onlyread-only, idempotent
authentik_endpoints_connectors_deleteDelete an endpoint connector by its UUID from the generic registry (irreversible)fulldestructive
</details> <details> <summary>Enterprise (8 tools)</summary>
ToolDescriptionAccessHints
authentik_enterprise_license_listList enterprise licenses with optional filtersread-onlyread-only, idempotent
authentik_enterprise_license_getGet a single enterprise license by its UUIDread-onlyread-only, idempotent
authentik_enterprise_license_createInstall a new enterprise license keyfull—
authentik_enterprise_license_updateUpdate an existing enterprise license (partial update)fulldestructive, idempotent
authentik_enterprise_license_deleteDelete an enterprise license by its UUIDfulldestructive
authentik_enterprise_license_summaryGet the total enterprise license status summaryread-onlyread-only, idempotent
authentik_enterprise_license_forecastForecast how many users will be required in a year based on current growthread-onlyread-only, idempotent
authentik_enterprise_install_idGet the authentik installation ID (used for license generation)read-onlyread-only, idempotent
</details> <details> <summary>Events (25 tools)</summary>

Events

ToolDescriptionAccessHints
authentik_events_listList audit events with optional filters for action, username, client IP, and moreread-onlyread-only, idempotent
authentik_events_getGet a single audit event by its UUIDread-onlyread-only, idempotent
authentik_events_createCreate a new audit eventfull—
authentik_events_actions_listList all available event action typesread-onlyread-only, idempotent
authentik_events_top_per_userGet the top N events grouped by user countread-onlyread-only, idempotent
authentik_events_volumeGet event volume data for specified filters and timeframeread-onlyread-only, idempotent
authentik_events_statsGet aggregated event statistics bucketed by the provided count steps, optionally filteredread-onlyread-only, idempotent
authentik_events_rules_listList notification rules with optional filtersread-onlyread-only, idempotent
authentik_events_rules_getGet a single notification rule by its UUIDread-onlyread-only, idempotent
authentik_events_rules_createCreate a new notification rulefull—
authentik_events_rules_updateUpdate an existing notification rule (partial update)fulldestructive, idempotent
authentik_events_rules_deleteDelete a notification rule by its UUIDfulldestructive
authentik_events_transports_listList notification transports with optional filtersread-onlyread-only, idempotent
authentik_events_transports_getGet a single notification transport by its UUIDread-onlyread-only, idempotent
authentik_events_transports_createCreate a new notification transportfull—
authentik_events_transports_updateUpdate an existing notification transport (partial update)fulldestructive, idempotent
authentik_events_transports_deleteDelete a notification transport by its UUIDfulldestructive
authentik_events_transports_testSend a test notification using the specified transportfull—
authentik_events_notifications_listList notifications for the current user with optional filtersread-onlyread-only, idempotent
authentik_events_notifications_updateUpdate a notification, typically to mark it as seen or unseenfulldestructive, idempotent
authentik_events_notifications_deleteDelete a notification by its UUIDfulldestructive
authentik_events_notifications_mark_all_seenMark all notifications as seen for the current userfulldestructive, idempotent
authentik_events_exportTrigger an export of events with optional filters, producing a downloadable export artifactfull—

System Tasks

ToolDescriptionAccessHints
authentik_tasks_listList background tasks with optional filters by actor name, queue, state, aggregated outcome status (e.g. error/warning), or searchread-onlyread-only, idempotent
authentik_tasks_getGet details of a specific task by its message IDread-onlyread-only, idempotent
authentik_tasks_retryRetry a failed task by its message IDfull—
</details> <details> <summary>Flows (15 tools)</summary>
ToolDescriptionAccessHints
authentik_flows_listList flows with optional filters for search, designation, and orderingread-onlyread-only, idempotent
authentik_flows_getGet a single flow by its slugread-onlyread-only, idempotent
authentik_flows_createCreate a new flow with name, slug, title, and designationfull—
authentik_flows_updateUpdate an existing flow (partial update)fulldestructive, idempotent
authentik_flows_deleteDelete a flow by its slugfulldestructive
authentik_flows_diagramGet a visual diagram of a flow showing its stages and bindingsread-onlyread-only, idempotent
authentik_flows_exportExport a flow as YAMLread-onlyread-only, idempotent
authentik_flows_importImport a flow/blueprint from YAML content via the managed blueprints import endpoint (merges/upserts into existing objects — does not wipe existing flows first)full—
authentik_flows_cache_infoGet information about cached flowsread-onlyread-only, idempotent
authentik_flows_cache_clearClear the flow cachefulldestructive, idempotent
authentik_flows_bindings_listList flow stage bindings with optional filtersread-onlyread-only, idempotent
authentik_flows_bindings_getGet a single flow stage binding by its UUIDread-onlyread-only, idempotent
authentik_flows_bindings_createCreate a new flow stage binding to attach a stage to a flowfull—
authentik_flows_bindings_updateUpdate an existing flow stage bindingfulldestructive, idempotent
authentik_flows_bindings_deleteDelete a flow stage binding by its UUIDfulldestructive
</details> <details> <summary>Managed (7 tools)</summary>
ToolDescriptionAccessHints
authentik_blueprints_listList managed blueprint instances with optional filtersread-onlyread-only, idempotent
authentik_blueprints_getGet a single blueprint instance by its UUIDread-onlyread-only, idempotent
authentik_blueprints_createCreate a new managed blueprint instancefull—
authentik_blueprints_updateUpdate an existing blueprint instance (partial update)fulldestructive, idempotent
authentik_blueprints_deleteDelete a blueprint instance by its UUIDfulldestructive
authentik_blueprints_availableList all available blueprint files that can be used to create blueprint instancesread-onlyread-only, idempotent
authentik_blueprints_applyApply a blueprint instance, executing its configurationfulldestructive, idempotent
</details> <details> <summary>OAuth2 (9 tools)</summary>
ToolDescriptionAccessHints
authentik_oauth2_access_tokens_listList OAuth2 access tokens with optional filtersread-onlyread-only, idempotent
authentik_oauth2_access_tokens_getGet a single OAuth2 access token by its numeric IDread-onlyread-only, idempotent
authentik_oauth2_access_tokens_deleteDelete (revoke) an OAuth2 access token by its IDfulldestructive
authentik_oauth2_auth_codes_listList OAuth2 authorization codes with optional filtersread-onlyread-only, idempotent
authentik_oauth2_auth_codes_getGet a single OAuth2 authorization code by its numeric IDread-onlyread-only, idempotent
authentik_oauth2_auth_codes_deleteDelete an OAuth2 authorization code by its IDfulldestructive
authentik_oauth2_refresh_tokens_listList OAuth2 refresh tokens with optional filtersread-onlyread-only, idempotent
authentik_oauth2_refresh_tokens_getGet a single OAuth2 refresh token by its numeric IDread-onlyread-only, idempotent
authentik_oauth2_refresh_tokens_deleteDelete (revoke) an OAuth2 refresh token by its IDfulldestructive
</details> <details> <summary>Outposts (15 tools)</summary>
ToolDescriptionAccessHints
authentik_outposts_listList outpost instances with optional filtersread-onlyread-only, idempotent
authentik_outposts_getGet a single outpost instance by its UUIDread-onlyread-only, idempotent
authentik_outposts_createCreate a new outpost instancefull—
authentik_outposts_updateUpdate an existing outpost instance (partial update)fulldestructive, idempotent
authentik_outposts_deleteDelete an outpost instance by its UUIDfulldestructive
authentik_outposts_healthGet the current health status of an outpostread-onlyread-only, idempotent
authentik_outposts_default_settingsGet the global default outpost configurationread-onlyread-only, idempotent
authentik_outposts_service_connections_listList all service connections (Docker and Kubernetes) with optional filtersread-onlyread-only, idempotent
authentik_outposts_service_connections_stateGet the current state of a service connectionread-onlyread-only, idempotent
authentik_outposts_service_connections_typesList all available service connection typesread-onlyread-only, idempotent
authentik_outposts_docker_createCreate a new Docker service connectionfull—
authentik_outposts_docker_updateUpdate an existing Docker service connection (partial update)fulldestructive, idempotent
authentik_outposts_kubernetes_createCreate a new Kubernetes service connectionfull—
authentik_outposts_kubernetes_updateUpdate an existing Kubernetes service connection (partial update)fulldestructive, idempotent
authentik_outposts_service_connections_deleteDelete a service connection by its UUIDfulldestructive
</details> <details> <summary>Policies (19 tools)</summary>

Policies use a type+config pattern. Cross-type tools operate on any policy, while per-type tools accept a policy_type parameter. Available types: dummy, event_matcher, expression, geoip, password, password_expiry, reputation, unique_password.

ToolDescriptionAccessHints
authentik_policies_listList all policies across all types with optional filtersread-onlyread-only, idempotent
authentik_policies_getGet a single policy by its UUID (cross-type)read-onlyread-only, idempotent
authentik_policies_deleteDelete a policy by its UUID (cross-type)fulldestructive
authentik_policies_types_listList all available policy typesread-onlyread-only, idempotent
authentik_policies_testTest a policy against a specific user to see if it passes or failsread-onlyread-only, idempotent
authentik_policies_cache_infoGet information about cached policiesread-onlyread-only, idempotent
authentik_policies_cache_clearClear the policy cachefulldestructive, idempotent
authentik_policies_by_type_listList policies of a specific type with optional filtersread-onlyread-only, idempotent
authentik_policies_by_type_getGet a single policy of a specific type by its UUIDread-onlyread-only, idempotent
authentik_policies_by_type_createCreate a new policy of a specific typefull—
authentik_policies_by_type_updateUpdate an existing policy of a specific typefulldestructive, idempotent
authentik_policies_by_type_deleteDelete a policy of a specific type by its UUIDfulldestructive
authentik_policy_bindings_listList policy bindings with optional filtersread-onlyread-only, idempotent
authentik_policy_bindings_getGet a single policy binding by its UUIDread-onlyread-only, idempotent
authentik_policy_bindings_createCreate a new policy binding to attach a policy to a targetfull—
authentik_policy_bindings_updateUpdate an existing policy bindingfulldestructive, idempotent
authentik_policy_bindings_deleteDelete a policy binding by its UUIDfulldestructive
authentik_reputation_scores_listList reputation scores with optional filtersread-onlyread-only, idempotent
authentik_reputation_scores_deleteDelete a reputation score by its UUIDfulldestructive
</details> <details> <summary>Property Mappings (10 tools)</summary>

Property mappings use a type+config pattern. Cross-type tools operate on any mapping, while per-type tools accept a mapping_type parameter. Available types: notification, provider_google_workspace, provider_microsoft_entra, provider_rac, provider_radius, provider_saml, provider_scim, provider_scope, source_kerberos, source_ldap, source_oauth, source_plex, source_saml, source_scim.

ToolDescriptionAccessHints
authentik_property_mappings_listList all property mappings across all typesread-onlyread-only, idempotent
authentik_property_mappings_getGet a single property mapping by its UUID (cross-type)read-onlyread-only, idempotent
authentik_property_mappings_deleteDelete a property mapping by its UUIDfulldestructive
authentik_property_mappings_types_listList all available property mapping typesread-onlyread-only, idempotent
authentik_property_mappings_testTest a property mapping by UUIDfullread-only, idempotent
authentik_property_mappings_by_type_listList property mappings of a specific typeread-onlyread-only, idempotent
authentik_property_mappings_by_type_getGet a single property mapping by type and UUIDread-onlyread-only, idempotent
authentik_property_mappings_by_type_createCreate a new property mapping of a specific typefull—
authentik_property_mappings_by_type_updateUpdate an existing property mapping by type and UUIDfulldestructive, idempotent
authentik_property_mappings_by_type_deleteDelete a property mapping by type and UUIDfulldestructive
</details> <details> <summary>Providers (13 tools)</summary>

Providers use a type+config pattern. Cross-type tools operate on any provider, while per-type tools accept a provider_type parameter. Available types: oauth2, saml, ldap, proxy, radius, scim, rac, google_workspace, microsoft_entra, wsfed.

ToolDescriptionAccessHints
authentik_providers_listList all providers across all types with optional filtersread-onlyread-only, idempotent
authentik_providers_getGet a single provider by its numeric ID (cross-type)read-onlyread-only, idempotent
authentik_providers_deleteDelete a provider by its numeric ID (cross-type)fulldestructive
authentik_providers_types_listList all available provider typesread-onlyread-only, idempotent
authentik_providers_by_type_listList providers of a specific type with optional filtersread-onlyread-only, idempotent
authentik_providers_by_type_getGet a single provider of a specific type by its numeric IDread-onlyread-only, idempotent
authentik_providers_by_type_createCreate a new provider of a specific typefull—
authentik_providers_by_type_updateUpdate an existing provider of a specific typefulldestructive, idempotent
authentik_providers_by_type_deleteDelete a provider of a specific type by its numeric IDfulldestructive
authentik_providers_oauth2_setup_urlsGet OAuth2 provider setup URLs (authorize, token, userinfo, etc.)read-onlyread-only, idempotent
authentik_providers_saml_metadataGet SAML provider metadata XMLread-onlyread-only, idempotent
authentik_providers_wsfed_metadataGet WS-Federation provider metadata XMLread-onlyread-only, idempotent
authentik_providers_wsfed_preview_userPreview the property-mapping output a WS-Federation provider would generate for a userread-onlyread-only, idempotent
</details> <details> <summary>RAC (8 tools)</summary>
ToolDescriptionAccessHints
authentik_rac_endpoints_listList RAC (Remote Access Control) endpoints with optional filtersread-onlyread-only, idempotent
authentik_rac_endpoints_getGet a single RAC endpoint by its UUIDread-onlyread-only, idempotent
authentik_rac_endpoints_createCreate a new RAC endpoint for remote accessfull—
authentik_rac_endpoints_updateUpdate an existing RAC endpoint (partial update)fulldestructive, idempotent
authentik_rac_endpoints_deleteDelete a RAC endpoint by its UUIDfulldestructive
authentik_rac_connection_tokens_listList RAC connection tokens with optional filters (system-managed, no create)read-onlyread-only, idempotent
authentik_rac_connection_tokens_getGet a single RAC connection token by its UUIDread-onlyread-only, idempotent
authentik_rac_connection_tokens_deleteDelete a RAC connection token by its UUIDfulldestructive
</details> <details> <summary>RBAC (11 tools)</summary>

RBAC permissions are role-only: assign permissions to roles, then grant a role to users via role membership.

ToolDescriptionAccessHints
authentik_rbac_roles_listList RBAC roles with optional filtersread-onlyread-only, idempotent
authentik_rbac_roles_getGet a single RBAC role by its UUIDread-onlyread-only, idempotent
authentik_rbac_roles_createCreate a new RBAC rolefull—
authentik_rbac_roles_updateUpdate an existing RBAC role (partial update)fulldestructive, idempotent
authentik_rbac_roles_deleteDelete an RBAC role by its UUIDfulldestructive
authentik_rbac_permissions_listList all available permissions, filterable by model and appread-onlyread-only, idempotent
authentik_rbac_permissions_by_role_listList object permissions assigned to a specific model, filterable by roleread-onlyread-only, idempotent
authentik_rbac_permissions_by_role_assignAssign permission(s) to a rolefullidempotent
authentik_rbac_permissions_by_role_unassignUnassign permission(s) from a rolefulldestructive
authentik_rbac_roles_add_userAdd a user to a role by role UUID and user ID (permissions are granted via roles)fullidempotent
authentik_rbac_roles_remove_userRemove a user from a role by role UUID and user IDfulldestructive
</details> <details> <summary>Reports (3 tools)</summary>
ToolDescriptionAccessHints
authentik_reports_export_listList data exports with optional search and orderingread-onlyread-only, idempotent
authentik_reports_export_getRetrieve a single data export by its ID, including content type, query, file URL, and completion statusread-onlyread-only, idempotent
authentik_reports_export_deleteDelete a data export by its ID (irreversible)fulldestructive
</details> <details> <summary>Root (1 tool)</summary>
ToolDescriptionAccessHints
authentik_root_configGet root configuration including capabilities, error reporting settings, and UI configurationread-onlyread-only, idempotent
</details> <details> <summary>Sources (11 tools)</summary>

Sources use a type+config pattern. Cross-type tools operate on any source, while per-type tools accept a source_type parameter. Available types: oauth, saml, ldap, plex, kerberos, scim, telegram.

ToolDescriptionAccessHints
authentik_sources_listList all sources across all types (OAuth, SAML, LDAP, Plex, Kerberos, SCIM)read-onlyread-only, idempotent
authentik_sources_getGet a single source by its slug (cross-type)read-onlyread-only, idempotent
authentik_sources_deleteDelete a source by its slugfulldestructive
authentik_sources_types_listList all available source typesread-onlyread-only, idempotent
authentik_sources_by_type_listList sources of a specific typeread-onlyread-only, idempotent
authentik_sources_by_type_getGet a single source by type and slugread-onlyread-only, idempotent
authentik_sources_by_type_createCreate a new source of a specific typefull—
authentik_sources_by_type_updateUpdate an existing source by type and slugfulldestructive, idempotent
authentik_sources_by_type_deleteDelete a source by type and slugfulldestructive
authentik_sources_user_connections_listList user-source connections across all source typesread-onlyread-only, idempotent
authentik_sources_telegram_connect_userConnect a user to a Telegram source using Telegram authentication data (login widget payload)full—
</details> <details> <summary>SSF (3 tools)</summary>
ToolDescriptionAccessHints
authentik_ssf_streams_listList Shared Signals Framework (SSF) event streams with optional filtersread-onlyread-only, idempotent
authentik_ssf_streams_getGet a single SSF event stream by its UUIDread-onlyread-only, idempotent
authentik_ssf_streams_deleteDelete a Shared Signals Framework (SSF) event stream by its UUID (irreversible)fulldestructive
</details> <details> <summary>Stages (19 tools)</summary>

Stages use a type+config pattern. Cross-type tools operate on any stage, while per-type tools accept a stage_type parameter. Available types: account_lockdown, authenticator_duo, authenticator_email, authenticator_endpoint_gdtc, authenticator_sms, authenticator_static, authenticator_totp, authenticator_validate, authenticator_webauthn, captcha, consent, deny, dummy, email, endpoint, identification, invitation, mtls, password, prompt, redirect, source, user_delete, user_login, user_logout, user_write.

ToolDescriptionAccessHints
authentik_stages_listList all stages across all types with optional filtersread-onlyread-only, idempotent
authentik_stages_getGet a single stage by its UUID (cross-type)read-onlyread-only, idempotent
authentik_stages_deleteDelete a stage by its UUID (cross-type)fulldestructive
authentik_stages_types_listList all available stage typesread-onlyread-only, idempotent
authentik_stages_by_type_listList stages of a specific type with optional filtersread-onlyread-only, idempotent
authentik_stages_by_type_getGet a single stage of a specific type by its UUIDread-onlyread-only, idempotent
authentik_stages_by_type_createCreate a new stage of a specific typefull—
authentik_stages_by_type_updateUpdate an existing stage of a specific typefulldestructive, idempotent
authentik_stages_by_type_deleteDelete a stage of a specific type by its UUIDfulldestructive
authentik_invitations_listList invitations with optional filtersread-onlyread-only, idempotent
authentik_invitations_getGet a single invitation by its UUIDread-onlyread-only, idempotent
authentik_invitations_createCreate a new invitationfull—
authentik_invitations_updateUpdate an existing invitationfulldestructive, idempotent
authentik_invitations_deleteDelete an invitation by its UUIDfulldestructive
authentik_invitations_send_emailSend an invitation email to one or more recipients for an existing invitationfull—
authentik_prompts_listList prompt field definitions with optional filtersread-onlyread-only, idempotent
authentik_prompts_getGet a single prompt field definition by its UUIDread-onlyread-only, idempotent
authentik_prompts_createCreate a new prompt field definitionfull—
authentik_prompts_updateUpdate an existing prompt field definitionfulldestructive, idempotent
authentik_prompts_deleteDelete a prompt field definition by its UUIDfulldestructive
</details> <details> <summary>Tenants (10 tools)</summary>
ToolDescriptionAccessHints
authentik_tenants_listList tenants with optional filtersread-onlyread-only, idempotent
authentik_tenants_getGet a single tenant by its UUIDread-onlyread-only, idempotent
authentik_tenants_createCreate a new tenantfull—
authentik_tenants_updateUpdate an existing tenant (partial update)fulldestructive, idempotent
authentik_tenants_deleteDelete a tenant by its UUID (irreversible, removes all tenant data)fulldestructive
authentik_tenants_create_admin_groupCreate an admin group for a tenant and add a user to itfull—
authentik_tenants_create_recovery_keyCreate a recovery key for a user in a tenantfull—
authentik_tenants_domains_listList tenant domains with optional filtersread-onlyread-only, idempotent
authentik_tenants_domains_createCreate a new domain for a tenantfull—
authentik_tenants_domains_deleteDelete a tenant domain by its numeric IDfulldestructive
</details>

Known Limitations

  • Application icons are URL-only. authentik_apps_set_icon_url sets the meta_icon field to an external URL, or clears the current icon with clear: true. Uploading a binary icon file is not supported through this MCP server.
  • Endpoint enrollment keys are not retrievable. Enrollment tokens can be created and managed, but the raw enrollment key value cannot be viewed back through the @goauthentik/api SDK.

Verify It Works

After configuring your MCP client, ask your AI assistant:

"What version of Authentik is running?"

If the connection is working, the assistant will call authentik_admin_version and return your server version and build hash.

Usage Examples

  • "List all users in the admin group" -- calls authentik_users_list and authentik_groups_list to find and display admin group members.
  • "What applications are configured?" -- calls authentik_apps_list to show all applications with their providers and groups.
  • "Create a new user for john.doe@example.com" -- calls authentik_users_create to set up the new user account.
  • "Show me a summary of all managed endpoint devices" -- calls authentik_endpoints_devices_summary to report aggregate device statistics.

Troubleshooting

Connection errors

  • Verify AUTHENTIK_URL is reachable from the machine running the MCP server
  • Ensure there is no trailing slash on the URL (use https://auth.example.com not https://auth.example.com/)
  • Verify HTTPS is configured correctly if your instance uses TLS

Token permissions

  • The API token must have sufficient permissions for the tools you intend to use
  • Tools with full access tier will fail if your token only has read permissions -- set AUTHENTIK_ACCESS_TIER=read-only to limit exposure
  • Create tokens in the Authentik admin interface under Directory > Tokens and App passwords

Category filtering

  • Use AUTHENTIK_CATEGORIES with the actual category values listed above (e.g., core,admin,flows), not source file names
  • Users, groups, applications, tokens, and brands are all under the core category, not separate categories
  • Use comma-separated values with no spaces (e.g., core,admin,events)

Development

bash
# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode (auto-reload)
npm run dev

# Open the MCP Inspector for interactive testing
npm run inspect

License

MIT

常见问题

Authentik MCP Server 是什么?

让 AI assistants 管理 Authentik,支持身份认证相关配置、查询与运维操作。

相关 Skills

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描176.4k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描176.4k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

✎ 帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描26.0k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.7k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
80.0k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
72.9k

评论