authentik MCP server
authentik in any MCP client, through Memtro: authentik does not publish this server. Memtro's authentik connector reads authentik through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
authentik identity provider on your own server: users and their groups, groups and their members, applications and providers, sign-in sessions, invitations, roles, and the event (audit) log. Can create, change, deactivate and delete users, create, rename and delete groups, add or remove group members, create, change and delete applications, sign a session out, create, e-mail and delete invitations, and create roles and add or remove their users.
Reads
authentik_list_usersAuthentik users: pk, username, name, active, superuser, type (internal, external, service_account), groups, roles, last login and when joined.authentik_list_groupsAuthentik groups: pk, name, whether a superuser group, parent groups and roles, and with members true their member usernames (up to 50).authentik_list_applicationsApplications configured in authentik (what people sign in to through it): slug, name, provider and its type, launch URL, group, publisher…authentik_list_eventsAuthentik's event (audit) log, newest first: action (login, login_failed, model_updated, authorize_application, …), when, which user…authentik_list_providersAuthentik providers (the OAuth2, SAML, proxy, LDAP… configuration an application signs in through): pk, name…authentik_list_sessionsSigned-in authentik sessions, to find one to revoke: uuid, the user's pk, last used and expiry.authentik_list_invitationsAuthentik invitations by name: expiry, whether single-use, the enrolment flow and who created it.authentik_list_rolesAuthentik RBAC roles: pk (a UUID) and name.
Acts, when you ask
These change something in authentik. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
authentik_create_userCreates a user in authentik.authentik_update_userChanges an authentik user's name, username or e-mail, REPLACING the current values, or deactivates (active false) or reactivates them.authentik_delete_userDESTRUCTIVE, deletes an authentik user and what belongs to the account (such as its tokens and authenticators).authentik_create_groupCreates an authentik group, optionally under parent groups.authentik_update_groupRenames an authentik group, REPLACING its name.authentik_delete_groupDESTRUCTIVE, deletes an authentik group.authentik_add_user_to_groupAdds one user to an authentik group, giving them whatever access the group grants (including administration if it is a superuser group).authentik_remove_user_from_groupDESTRUCTIVE, removes one user from an authentik group, taking away whatever access the group gave them.authentik_create_applicationCreates an application in authentik (the tile people sign in to), optionally bound to an existing provider (from authentik_list_providers).authentik_update_applicationChanges an authentik application's name, launch URL, description, publisher, group, visibility, policy mode or provider, REPLACING the given values.authentik_delete_applicationDESTRUCTIVE, deletes an authentik application.authentik_revoke_sessionDESTRUCTIVE, signs a user out of one authentik session (from authentik_list_sessions).authentik_create_invitationCreates an authentik invitation, which lets whoever holds its link enrol through the invitation's flow.authentik_send_invitation_emailSENDS, e-mails an authentik invitation's enrolment link to the given addresses (which may be outside the company); anyone holding it can enrol.authentik_delete_invitationDESTRUCTIVE, deletes an authentik invitation so its link stops working.authentik_create_roleCreates an authentik RBAC role.authentik_add_user_to_roleAdds one user to an authentik RBAC role, giving them every permission the role holds.authentik_remove_user_from_roleDESTRUCTIVE, removes one user from an authentik RBAC role, taking away the permissions it gave them.
Connect it
First connect authentik on Dashboard → Connections, then add Memtro to your client once. The authentik tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared authentik connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Who is in the finance group in authentik?
- › When did Dan Fletcher last sign in?
- › Which failed logins were there this week?
- › Which applications sign in through authentik?
- › Deactivate Priya Nair's account in authentik
Questions
- Is this an official authentik MCP server?
- No. It is Memtro's MCP server with Memtro's authentik connector behind it: the connector reads authentik through its API with the credentials you connect on Dashboard → Connections, and authentik publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in authentik?
- Only when you ask, and only what it has been granted: create a user; change a user's name, username or e-mail, or deactivate or reactivate them; delete a user; create a group; rename a group; delete a group; add a user to a group; remove a user from a group; create an application; change an application's name, launch URL, description, publisher, group, visibility or provider; delete an application; sign a user out of one session; create an invitation; e-mail an invitation link to people; delete an invitation; create a role; add a user to a role; remove a user from a role. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.