mcp-polizei
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| APP_PREFIX | Yes | Global API prefix (e.g. /api/v4/security) | |
| PLS_MCP_SCOPE | No | Scopes requested for the token (default: 'openid profile') | openid profile |
| PLS_PUBLIC_URL | Yes | Public URL of the Polizei API (e.g. http://localhost:3000) | |
| PLS_MCP_CLIENT_ID | Yes | OAuth client ID with the password grant enabled | |
| PLS_MCP_HTTP_HOST | No | HTTP bind address (default: 0.0.0.0) | 0.0.0.0 |
| PLS_MCP_HTTP_PORT | No | HTTP port for the Streamable HTTP transport (e.g. 3100) | |
| PLS_MCP_TRANSPORT | No | Transport mode: 'stdio' (local) or 'http' (remote) | stdio |
| PLS_MCP_ADMIN_PASS | Yes | Admin password | |
| PLS_MCP_ADMIN_USER | Yes | Admin username with RBAC privileges over the target scopes | |
| PLS_MCP_CLIENT_SECRET | Yes | OAuth client secret | |
| PLS_MCP_TOKEN_MIN_TTL | No | Minimum token lifetime in seconds before automatic renewal (default: 120) | 120 |
| PLS_MCP_HTTP_AUTH_TOKEN | No | Optional bearer token for protecting the HTTP endpoint |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_available_tenantsA | Lista los tenants (scopes) a los que el token tiene acceso, con su id y nombre. Estos son los tenants entre los que puedes elegir con |
| set_tenantA | Establece el tenant activo con el que operará el MCP (se envía como header X-Tenant en todas las peticiones). El name debe ser uno de los tenants a los que el token tiene acceso (ver |
| get_active_tenantA | Devuelve el tenant activo actual de la sesión (null si no hay ninguno seleccionado). |
| list_usersA | Lista los usuarios de un scope/tenant (paginado, con búsqueda opcional). Requiere que el scope esté dentro de los tenants del token. |
| create_userA | Crea un usuario y lo agrega al scope indicado. |
| update_userA | Actualiza los datos de un usuario (por id). El perfil se fusiona si se envía. |
| delete_userB | Elimina un usuario del sistema por su id. |
| assign_user_rolesB | Asigna roles a un usuario (reemplaza la asignación actual de roles). |
| remove_user_from_scopeA | Remueve a un usuario de un scope/tenant. |
| list_rolesC | Lista los roles de un scope/tenant. |
| list_assignable_rolesA | Lista los roles que el token puede asignar (según los scopes del usuario). |
| create_roleB | Crea un rol dentro de un scope/tenant. |
| update_roleC | Actualiza los datos de un rol por id. |
| delete_roleB | Elimina un rol por id. |
| list_role_permissionsB | Lista los permisos asignados a un rol. |
| assign_role_permissionsA | Asigna permisos a un rol (reemplaza la asignación actual). |
| list_permissionsA | Lista los permisos (árbol aplanado) del tenant del token. |
| create_permissionA | Crea un permiso. El idScope se fuerza al tenant del token. |
| update_permissionB | Actualiza los datos de un permiso. |
| delete_permissionC | Elimina permisos. Puede recibir: |
| import_permissionsB | Importa un lote de permisos en un scope (idScope 0 usa el tenant del token). |
| list_child_scopesA | Lista los tenants/scopes hijos de un scope padre (estructura de tenants/negocios). |
| list_tenantsA | Lista el árbol completo de tenants/scopes del tenant ACTIVO de la sesión (contexto X-Tenant). NO confundir con |
| create_scopeC | Crea un scope/tenant hijo dentro de otro scope. |
| update_scopeC | Actualiza los datos de un scope por id. |
| delete_scopeC | Elimina un scope por id. |
| get_scope_reviewB | Devuelve la revisión/configuración del tenant del token. |
| add_user_to_scopeB | Agrega un usuario existente a un scope (idScope 0 usa el tenant del token). |
| list_invitationsA | Lista las invitaciones del tenant del token. |
| create_invitationB | Crea una invitación de usuario. El idScope se fuerza al tenant del token y el autor se toma del token. |
| delete_invitationA | Elimina una invitación por id. |
| list_invitation_rolesA | Lista los roles disponibles para asignar en invitaciones del tenant. |
| list_invitation_usersB | Lista usuarios del tenant del token (para asignar roles en invitaciones). |
| reject_invitation_userC | Remueve a un usuario de un scope (rechazo de invitación). |
| assign_invitation_rolesD | Asigna roles a un usuario dentro del tenant del token. |
| list_oauth_clientsA | Lista los clientes OAuth del tenant indicado. |
| create_oauth_clientA | Crea un cliente OAuth en el tenant indicado (default: tenant activo). El campo name sí se persiste. El clientId lo genera la API (se ignora el clientId enviado). |
| update_oauth_clientA | Actualiza los datos de un cliente OAuth. El id interno (UUID) es obligatorio y se incluye el tenant. El campo name sí se persiste. El clientId no identifica al cliente para actualizar (usa id). |
| delete_oauth_clientA | Elimina un cliente OAuth. El id interno (UUID) es obligatorio y se incluye el tenant. El clientId no identifica al cliente para eliminar (usa id). |
| list_oauth_client_scopesB | Lista los scopes OAuth disponibles para asignar a clientes del tenant. |
| list_oauth_scopesA | Lista los scopes OAuth del tenant del token. |
| create_oauth_scopeC | Crea un scope OAuth en el tenant del token. |
| update_oauth_scopeC | Actualiza un scope OAuth por id. |
| delete_oauth_scopeB | Elimina un scope OAuth por id. |
| get_my_profileB | Devuelve el perfil del usuario autenticado, sus scopes y (opcionalmente) permisos. |
| get_my_permissionsA | Lista los permisos del usuario autenticado según sus roles. |
| get_my_scopesA | Lista los scopes (tenants) a los que pertenece el usuario autenticado. |
| search_usersB | Busca usuarios por username (iLike). |
| update_my_profileC | Actualiza el perfil del usuario autenticado. |
| change_my_passwordA | Cambia la contraseña del usuario autenticado (requiere la contraseña actual). |
| save_scopeC | Crea un scope propio (negocio) o lo actualiza si es owner. |
| delete_scope_ownC | Elimina un scope propio (force solo si el token es el owner). |
| get_tenant_settingsA | Devuelve la configuración (settings) de una app para el tenant activo de la sesión (endpoint profile/get-scope-settings, el tenant va como id). Si no se pasa id, usa el tenant activo de la sesión. |
| set_tenant_settingsA | Guarda la configuración (settings) de una app para el tenant activo de la sesión (endpoint profile/set-scope-settings, el tenant va como id). Reemplaza la lista de settings de esa app. Si no se pasa id, usa el tenant activo de la sesión. |
| get_dashboardC | Devuelve los datos agregados del dashboard del tenant. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| openapi | Especificación OpenAPI generada por NestJS Swagger ({APP_PREFIX}/docs-json). |
| oidc-discovery | Documento .well-known/openid-configuration de Polizei. |
| token-claims | Claims decodificados del access token del MCP (tenant, roles, expiración). |