Lokka
Un servidor para las API de Microsoft Graph y Azure RM para gestionar inquilinos de Azure y Microsoft 365 con IA.
Documentación
Lokka
Lokka es un servidor de protocolo de contexto de modelo (MCP) para las API de Microsoft Graph y Azure RM que te permite consultar y administrar tus inquilinos de Azure y Microsoft 365 con IA.
Consulta Lokka.dev para saber cómo usar Lokka con tu modelo de IA y cliente de chat favorito.
Lokka te permite usar Claude Desktop, o cualquier cliente MCP, para usar lenguaje natural y realizar tareas en tu inquilino de Azure y Microsoft 365 a través de las API de Microsoft.
Por ejemplo:
Create a new security group called 'Sales and HR' with a dynamic rule based on the department attribute.Find all the conditional access policies that haven't excluded the emergency access accountShow me all the Intune device configuration policies assigned to the 'Call center' groupWhat was the most expensive service in Azure last month?

Métodos de autenticación
Lokka ahora admite múltiples métodos de autenticación para adaptarse a diferentes escenarios de implementación:
Autenticación interactiva
Para autenticación basada en usuario con inicio de sesión interactivo, puedes usar la siguiente configuración:
Esta es la configuración más simple y usa la aplicación Lokka predeterminada.
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"]
}
}
}
Autenticación interactiva con aplicación personalizada
Si deseas usar una aplicación personalizada de Microsoft Entra, puedes crear un nuevo registro de aplicación en Microsoft Entra y configurarlo con las siguientes variables de entorno:
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"],
"env": {
"TENANT_ID": "<tenant-id>",
"CLIENT_ID": "<client-id>",
"USE_INTERACTIVE": "true"
}
}
}
}
Autenticación solo de aplicación
Autenticación tradicional solo de aplicación. Puedes usar autenticación con certificado (recomendado) o con secreto de cliente usando la siguiente configuración.
Consulta la Guía de instalación para más detalles sobre cómo crear una aplicación de Entra.
Autenticación solo de aplicación con certificado
Autenticación solo de aplicación usando un certificado de cliente codificado en PEM:
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"],
"env": {
"TENANT_ID": "<tenant-id>",
"CLIENT_ID": "<client-id>",
"CERTIFICATE_PATH": "/path/to/certificate.pem",
"CERTIFICATE_PASSWORD": "<optional-certificate-password>",
"USE_CERTIFICATE": "true"
}
}
}
}
Para mayor comodidad, para convertir un certificado de cliente PFX a un certificado codificado en PEM:
openssl pkcs12 -in /path/to/cert.pfx -out /path/to/cert.pem -nodes -clcerts
Autenticación solo de aplicación con secreto de cliente
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"],
"env": {
"TENANT_ID": "<tenant-id>",
"CLIENT_ID": "<client-id>",
"CLIENT_SECRET": "<client-secret>"
}
}
}
}
Token proporcionado por el cliente
Autenticación basada en token donde el cliente MCP proporciona los tokens de acceso:
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"],
"env": {
"USE_CLIENT_TOKEN": "true"
}
}
}
}
Al usar el modo de token proporcionado por el cliente:
- Inicia el servidor MCP con
USE_CLIENT_TOKEN=true - Usa la herramienta
set-access-tokenpara proporcionar un token de acceso válido de Microsoft Graph - Usa la herramienta
get-auth-statuspara verificar el estado de autenticación - Actualiza los tokens según sea necesario usando
set-access-token
Nuevas herramientas
Herramientas de gestión de tokens
set-access-token: Establece o actualiza tokens de acceso para la autenticación de Microsoft Graphget-auth-status: Verifica el estado de autenticación actual y las capacidadesadd-graph-permission: Solicita ámbitos de permiso adicionales de Microsoft Graph de forma interactiva
Control de versión de la API de Graph
Lokka ahora admite el control de la versión predeterminada de la API de Microsoft Graph utilizada para todas las solicitudes:
- Comportamiento predeterminado: Usa la versión
betapara acceder a las funciones más recientes - Modo producción: Establece
USE_GRAPH_BETA=falsepara forzar que todas las solicitudes usen la versiónv1.0 - Anulación por solicitud: Aún puedes especificar el parámetro
graphApiVersionen solicitudes individuales (a menos queUSE_GRAPH_BETA=false)
Cuando USE_GRAPH_BETA=false, todas las llamadas a la API de Graph usarán la versión estable v1.0, incluso si beta se solicita explícitamente en el parámetro graphApiVersion.
Primeros pasos
Consulta la documentación para obtener más información sobre cómo instalar y configurar Lokka.
Instalación con un clic para VS Code
| Plataforma | VS Code | VS Code Insiders |
|---|---|---|
| Windows | ||
| macOS/Linux |
Componentes
Herramientas
-
Lokka-Microsoft- Llama a las API de Microsoft Graph y Azure. Admite consultas a inquilinos de Azure y Microsoft 365. También se admiten actualizaciones si se proporcionan los permisos.
- Entrada:
apiType(cadena): Tipo de API de Microsoft a consultar. Opciones: 'graph' para Microsoft Graph (Entra) o 'azure' para Azure Resource Management.path(cadena): La ruta de URL de la API de Azure o Graph a llamar (por ejemplo, '/users', '/groups', '/subscriptions').method(cadena): Método HTTP a usar (por ejemplo, get, post, put, patch, delete)apiVersion(cadena): Versión de API de Azure Resource Management (requerida para apiType Azure)subscriptionId(cadena): ID de suscripción de Azure (para Azure Resource Management).queryParams(cadena): Matriz de parámetros de consulta como $filter, $select, etc. Todos los parámetros son cadenas.body(JSON): El cuerpo de la solicitud (para POST, PUT, PATCH)
- Devuelve: Resultados de la llamada a la API de Azure o Graph.
-
set-access-token(Nuevo en v0.2.0)- Establece o actualiza un token de acceso para la autenticación de Microsoft Graph cuando se usa el modo de token proporcionado por el cliente.
- Entrada:
accessToken(cadena): El token de acceso obtenido de la autenticación de Microsoft GraphexpiresOn(cadena, opcional): Tiempo de expiración del token en formato ISO
- Devuelve: Confirmación de la actualización del token
-
get-auth-status(Nuevo en v0.2.0)- Verifica el estado de autenticación actual y el modo del servidor MCP
- Devuelve: Modo de autenticación, estado de preparación y capacidades
Variables de entorno
La configuración del servidor se realiza mediante variables de entorno. Se admiten las siguientes variables de entorno:
| Nombre | Descripción | Requerida |
|---|---|---|
TENANT_ID | El ID del inquilino de Microsoft Entra. | Sí (excepto para el modo de token proporcionado por el cliente) |
CLIENT_ID | El ID de la aplicación registrada en Microsoft Entra. | Sí (excepto para el modo de token proporcionado por el cliente) |
CLIENT_SECRET | El secreto de cliente de la aplicación registrada en Microsoft Entra. | Sí (solo para el modo de credenciales de cliente) |
USE_INTERACTIVE | Establecer en "true" para habilitar el modo de autenticación interactiva. | No |
USE_CLIENT_TOKEN | Establecer en "true" para habilitar el modo de autenticación con token proporcionado por el cliente. | No |
USE_CERTIFICATE | Establecer en "true" para habilitar el modo de autenticación con certificado. | No |
CERTIFICATE_PATH | Ruta al archivo de certificado codificado en PEM para la autenticación con certificado. | Sí (solo para el modo de certificado) |
CERTIFICATE_PASSWORD | Contraseña para el archivo de certificado (si está cifrado). | No |
REDIRECT_URI | URI de redirección para la autenticación interactiva (predeterminado: http://localhost:3000). | No |
ACCESS_TOKEN | Token de acceso inicial para el modo de token proporcionado por el cliente. | No |
USE_GRAPH_BETA | Establecer en "false" para forzar que todas las llamadas a la API de Graph usen v1.0 en lugar de beta (predeterminado: true, permite beta). | No |
Contribuyentes
- Autenticación interactiva y basada en token (v0.2.0) - @darrenjrobinson
- Autenticación con certificado (v0.2.1) - @nitzpo
Patrocinadores
Lokka es gratuito y sin anuncios, sin inversores detrás. Si te ahorra tiempo, considera patrocinarme en GitHub. 💙
Instalación
Para usar este servidor con la aplicación Claude Desktop, agrega la siguiente configuración a la sección "mcpServers" de tu
claude_desktop_config.json:
Autenticación interactiva
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"]
}
}
}
Autenticación con credenciales de cliente
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"],
"env": {
"TENANT_ID": "<tenant-id>",
"CLIENT_ID": "<client-id>",
"CLIENT_SECRET": "<client-secret>"
}
}
}
}
Asegúrate de reemplazar <tenant-id>, <client-id> y <client-secret> con los valores reales de tu aplicación de Microsoft Entra. (Consulta la Guía de instalación para más detalles sobre cómo crear una aplicación de Entra y configurar el agente).