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 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 | |
|---|---|---|---|
| authentik_mcp-0.1.2.tar.gz | 8.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| authentik_mcp-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.6 kB
Release files / authentik_mcp-0.1.2.tar.gz
| Download URL | authentik_mcp-0.1.2.tar.gz |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3b85a22cb6c634c50d6595d6178161bef909ee82719a432c7ce106dbbe18665
|
|
BLAKE2b-256 checksum How to use checksums |
982ba4b1307efc40a768e5afb6183e7314fea6876d343585695cb6d536e10404
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.9
|
Release files / authentik_mcp-0.1.2-py3-none-any.whl
| Download URL | authentik_mcp-0.1.2-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3160d50a73030e4caa361404ab7409b504ae6c4cddb3ff3ea6423525f2f43bab
|
|
BLAKE2b-256 checksum How to use checksums |
f1e719b86719207f52a5f4ce54e4245909904c6c59b5eea917760ba6df915665
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.9
|