Authentik MCP Server
A Model Context Protocol (MCP) server that provides comprehensive integration with Authentik's API for user management, authentication flows, and system administration.
Features
User Management
- Create, read, update, and delete users
- Manage user groups and permissions
- User search and filtering capabilities
Group Management
- Create and manage user groups
- Assign users to groups
- Group hierarchy management
Application Management
- Manage Authentik applications
- Configure application providers
- Application deployment and configuration
Authentication Flows
- View and manage authentication flows
- Flow configuration and customization
- Flow monitoring and diagnostics
Event Monitoring
- System event tracking and audit logs
- Real-time event monitoring
- Event filtering and search capabilities
System Administration
- API token management
- Provider configuration
- System health monitoring
- Configuration management
MCP Integration
This server is designed to be used with MCP-compatible tools and platforms. It provides a standardized interface for interacting with Authentik instances through the Model Context Protocol.
Configuration
The server requires the following configuration parameters:
base-url: Base URL of your Authentik instance (required)token: Authentik API token (required)verify-ssl: Enable/disable SSL certificate verification (optional, default: true)
Environment Variables
You can also configure the server using environment variables:
AUTHENTIK_BASE_URL: Base URL of your Authentik instanceAUTHENTIK_TOKEN: Authentik API tokenAUTHENTIK_VERIFY_SSL: SSL certificate verification (true/false)
API Token Setup
- Log in to your Authentik instance as an administrator
- Navigate to Directory > Tokens
- Click Create to create a new token
- Choose the appropriate permissions for your use case
- Copy the generated token for use with this MCP server
Available Tools
User Management
authentik_list_users- List all users with filtering optionsauthentik_get_user- Get detailed user informationauthentik_create_user- Create new usersauthentik_update_user- Update existing usersauthentik_delete_user- Delete users
Group Management
authentik_list_groups- List all groupsauthentik_get_group- Get group detailsauthentik_create_group- Create new groupsauthentik_update_group- Update existing groupsauthentik_delete_group- Delete groups
Application Management
authentik_list_applications- List all applicationsauthentik_get_application- Get application detailsauthentik_create_application- Create new applicationsauthentik_update_application- Update existing applicationsauthentik_delete_application- Delete applications
Event Monitoring
authentik_list_events- List system events and audit logsauthentik_get_event- Get detailed event information
Flow Management
authentik_list_flows- List authentication flowsauthentik_get_flow- Get flow details
Provider Management
authentik_list_providers- List authentication providersauthentik_get_provider- Get provider details
Token Management
authentik_list_tokens- List API tokensauthentik_create_token- Create new API tokens
Resources
The server provides access to the following resources:
authentik://users- User managementauthentik://groups- Group managementauthentik://applications- Application managementauthentik://events- Event monitoring and audit logsauthentik://flows- Authentication flowsauthentik://providers- Authentication providers
Example Usage
# List all users
users = await authentik_list_users()
# Create a new user
new_user = await authentik_create_user({
"username": "johndoe",
"email": "john@example.com",
"name": "John Doe",
"password": "secure-password"
})
# Get recent events
events = await authentik_list_events({
"ordering": "-created",
"page_size": 10
})
# Create a new group
group = await authentik_create_group({
"name": "Developers",
"is_superuser": False
})
Security Considerations
- Always use HTTPS in production environments
- Rotate API tokens regularly
- Use least-privilege principle when creating tokens
- Monitor API usage through Authentik's audit logs
- Consider using separate tokens for different environments
Development
Local Development
MCP Integration & Usage
This server is designed to be managed by MCP-compatible tools and platforms. It provides a standardized interface for interacting with Authentik instances through the Model Context Protocol.
Example Configurations
VS Code / GitHub Copilot Workspace (settings.json):
"mcp": {
"servers": {
"authentik": {
"command": "uvx",
"args": [
"authentik-mcp",
"--base-url", "https://your-authentik-instance",
"--token", "your-api-token"
]
}
}
}
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"authentik": {
"command": "uvx",
"args": [
"authentik-mcp",
"--base-url",
"https://your-authentik-instance",
"--token",
"your-api-token"
]
}
}
}
Integration Notes
- Use
uvx authentik-mcpfor Python versions as shown above - For Node.js versions, use
npx @cdmx/authentik-mcpif you are using the Node.js implementation - Let your MCP tool manage the environment and server lifecycle
- Direct CLI usage is not recommended for most users
Requirements
- Python 3.10 or higher
- Valid Authentik API token with appropriate permissions
License
MIT License - see LICENSE file for details.
Support
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Metadata
Release files for iflow-mcp_cdmx-in_authentik-mcp 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_cdmx_in_authentik_mcp-0.1.2.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_cdmx_in_authentik_mcp-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.8 kB
Release files / iflow_mcp_cdmx_in_authentik_mcp-0.1.2.tar.gz
| Download URL | iflow_mcp_cdmx_in_authentik_mcp-0.1.2.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8b651a7303a5083b4cc1e32c38dd162a7d7c81673f364e281170fe5b23a8173b
|
|
BLAKE2b-256 checksum How to use checksums |
68452db731a8c341233d52a0927720599d9caa398321fd77859fd478ee72d52b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_cdmx_in_authentik_mcp-0.1.2-py3-none-any.whl
| Download URL | iflow_mcp_cdmx_in_authentik_mcp-0.1.2-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a992bb7e37f7180c33935bd0085a71666ff641051ed61a2c7800384bc2950b07
|
|
BLAKE2b-256 checksum How to use checksums |
0abff7cf6b7c8402bcd984a8f38db55c85a70edaba805f35cfbb610955353a28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|