CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Authentik MCP Server

samik081/mcp-authentik
3authSTDIOregistry active
Summary

Connects Claude to Authentik's identity platform with 297 tools spanning user management, groups, applications, flows, policies, providers, and RBAC across 22 API categories. Built on the official @goauthentik/api SDK for Authentik 2026.5. Ships with a read-only mode that exposes 144 safe monitoring tools, plus category filtering to surface only the endpoints you need. Available via npx or Docker with both stdio and HTTP transports. The tool allowlist and blacklist let you fine-tune which operations reach your AI assistant. Reach for this when you're managing Authentik through conversational interfaces and need type-safe access to the full identity stack without writing integration code.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

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:

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

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:

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

# 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):

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

Docker (stdio):

{
  "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):

{
  "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_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).

Admin (8 tools)
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—
Authenticators (5 tools)
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
Core (45 tools)

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
Crypto (8 tools)
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
Endpoints (41 tools)

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
Enterprise (8 tools)
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
Events (25 tools)

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—
Flows (15 tools)
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
Managed (7 tools)
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
OAuth2 (9 tools)
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
Outposts (15 tools)
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
Policies (19 tools)

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
Property Mappings (10 tools)

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
Providers (13 tools)

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
RAC (8 tools)
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
RBAC (11 tools)

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
Reports (3 tools)
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
Root (1 tool)
ToolDescriptionAccessHints
authentik_root_configGet root configuration including capabilities, error reporting settings, and UI configurationread-onlyread-only, idempotent
Sources (11 tools)

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—
SSF (3 tools)
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
Stages (19 tools)

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
Tenants (10 tools)
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

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

# 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

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

AUTHENTIK_URL*

URL of the Authentik instance (e.g. https://auth.example.com)

AUTHENTIK_TOKEN*secret

Authentik API token

Registryactive
Package@samik081/mcp-authentik
TransportSTDIO
AuthRequired
UpdatedMay 25, 2026
View on GitHub