Lokka
Um servidor para as APIs Microsoft Graph e Azure RM gerenciar locatários do Azure e Microsoft 365 com IA.
Documentação
Lokka
Lokka é um servidor de protocolo de contexto de modelo (MCP) para as APIs do Microsoft Graph e Azure RM que permite consultar e gerenciar seus locatários do Azure e Microsoft 365 com IA.
Consulte Lokka.dev para saber como usar o Lokka com seu modelo de IA e cliente de chat favoritos.
O Lokka permite que você use o Claude Desktop, ou qualquer Cliente MCP, para usar linguagem natural para realizar tarefas no seu locatário do Azure e Microsoft 365 por meio das APIs da Microsoft.
Por exemplo:
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 Autenticação
O Lokka agora suporta múltiplos métodos de autenticação para atender a diferentes cenários de implantação:
Autenticação Interativa
Para autenticação baseada em usuário com login interativo, você pode usar a seguinte configuração:
Esta é a configuração mais simples e usa o aplicativo Lokka padrão.
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"]
}
}
}
Autenticação interativa com aplicativo personalizado
Se você deseja usar um aplicativo Microsoft Entra personalizado, você pode criar um novo registro de aplicativo no Microsoft Entra e configurá-lo com as seguintes variáveis de ambiente:
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"],
"env": {
"TENANT_ID": "<tenant-id>",
"CLIENT_ID": "<client-id>",
"USE_INTERACTIVE": "true"
}
}
}
}
Autenticação Somente Aplicativo
Autenticação tradicional somente aplicativo. Você pode usar autenticação por certificado (recomendado) ou segredo de cliente com a seguinte configuração.
Consulte o Guia de Instalação para mais detalhes sobre como criar um aplicativo Entra.
Autenticação Somente Aplicativo com Certificado
Autenticação somente aplicativo usando um certificado de cliente codificado em 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 sua conveniência, para converter um certificado de cliente PFX em um certificado codificado em PEM:
openssl pkcs12 -in /path/to/cert.pfx -out /path/to/cert.pem -nodes -clcerts
Autenticação Somente Aplicativo com Segredo 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 Fornecido pelo Cliente
Autenticação baseada em token onde o Cliente MCP fornece tokens de acesso:
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"],
"env": {
"USE_CLIENT_TOKEN": "true"
}
}
}
}
Ao usar o modo de token fornecido pelo cliente:
- Inicie o servidor MCP com
USE_CLIENT_TOKEN=true - Use a ferramenta
set-access-tokenpara fornecer um token de acesso válido do Microsoft Graph - Use a ferramenta
get-auth-statuspara verificar o status de autenticação - Atualize os tokens conforme necessário usando
set-access-token
Novas Ferramentas
Ferramentas de Gerenciamento de Token
set-access-token: Define ou atualiza tokens de acesso para autenticação do Microsoft Graphget-auth-status: Verifica o status atual de autenticação e as capacidadesadd-graph-permission: Solicita escopos de permissão adicionais do Microsoft Graph interativamente
Controle de Versão da API Graph
O Lokka agora suporta o controle da versão padrão da API do Microsoft Graph usada para todas as solicitações:
- Comportamento padrão: Usa a versão
betapara acesso aos recursos mais recentes - Modo de produção: Defina
USE_GRAPH_BETA=falsepara forçar todas as solicitações a usar a versãov1.0 - Substituição por solicitação: Você ainda pode especificar o parâmetro
graphApiVersionem solicitações individuais (a menos queUSE_GRAPH_BETA=false)
Quando USE_GRAPH_BETA=false, todas as chamadas da API Graph usarão a versão estável v1.0, mesmo que beta seja explicitamente solicitado no parâmetro graphApiVersion.
Primeiros Passos
Consulte a documentação para mais informações sobre como instalar e configurar o Lokka.
Instalação com um clique para VS Code
| Plataforma | VS Code | VS Code Insiders |
|---|---|---|
| Windows | ||
| macOS/Linux |
Componentes
Ferramentas
-
Lokka-Microsoft- Chama as APIs do Microsoft Graph e Azure. Suporta consultas a locatários do Azure e Microsoft 365. Atualizações também são suportadas se as permissões forem fornecidas.
- Entrada:
apiType(string): Tipo de API da Microsoft a ser consultada. Opções: 'graph' para Microsoft Graph (Entra) ou 'azure' para Gerenciamento de Recursos do Azure.path(string): O caminho da URL da API do Azure ou Graph a ser chamado (ex.: '/users', '/groups', '/subscriptions').method(string): Método HTTP a ser usado (ex.: get, post, put, patch, delete)apiVersion(string): Versão da API de Gerenciamento de Recursos do Azure (obrigatório para apiType Azure)subscriptionId(string): ID da Assinatura do Azure (para Gerenciamento de Recursos do Azure).queryParams(string): Matriz de parâmetros de consulta como $filter, $select, etc. Todos os parâmetros são strings.body(JSON): O corpo da solicitação (para POST, PUT, PATCH)
- Retorna: Resultados da chamada à API do Azure ou Graph.
-
set-access-token(Novo na v0.2.0)- Define ou atualiza um token de acesso para autenticação do Microsoft Graph ao usar o modo de token fornecido pelo cliente.
- Entrada:
accessToken(string): O token de acesso obtido da autenticação do Microsoft GraphexpiresOn(string, opcional): Tempo de expiração do token em formato ISO
- Retorna: Confirmação da atualização do token
-
get-auth-status(Novo na v0.2.0)- Verifica o status atual de autenticação e o modo do Servidor MCP
- Retorna: Modo de autenticação, status de prontidão e capacidades
Variáveis de Ambiente
A configuração do servidor é feita usando variáveis de ambiente. As seguintes variáveis de ambiente são suportadas:
| Nome | Descrição | Obrigatória |
|---|---|---|
TENANT_ID | O ID do locatário do Microsoft Entra. | Sim (exceto para o modo de token fornecido pelo cliente) |
CLIENT_ID | O ID do aplicativo registrado no Microsoft Entra. | Sim (exceto para o modo de token fornecido pelo cliente) |
CLIENT_SECRET | O segredo do cliente do aplicativo registrado no Microsoft Entra. | Sim (somente para o modo de credenciais do cliente) |
USE_INTERACTIVE | Defina como "true" para habilitar o modo de autenticação interativa. | Não |
USE_CLIENT_TOKEN | Defina como "true" para habilitar o modo de autenticação por token fornecido pelo cliente. | Não |
USE_CERTIFICATE | Defina como "true" para habilitar o modo de autenticação por certificado. | Não |
CERTIFICATE_PATH | Caminho para o arquivo de certificado codificado em PEM para autenticação por certificado. | Sim (somente para o modo de certificado) |
CERTIFICATE_PASSWORD | Senha para o arquivo de certificado (se criptografado). | Não |
REDIRECT_URI | URI de redirecionamento para autenticação interativa (padrão: http://localhost:3000). | Não |
ACCESS_TOKEN | Token de acesso inicial para o modo de token fornecido pelo cliente. | Não |
USE_GRAPH_BETA | Defina como "false" para forçar todas as chamadas da API Graph a usar v1.0 em vez de beta (padrão: true, permite beta). | Não |
Colaboradores
- Autenticação Interativa e Baseada em Token (v0.2.0) - @darrenjrobinson
- Autenticação por Certificado (v0.2.1) - @nitzpo
Patrocinadores
O Lokka é gratuito e sem anúncios, sem investidores por trás. Se ele economizar seu tempo, considere patrocinar-me no GitHub. 💙
Instalação
Para usar este servidor com o aplicativo Claude Desktop, adicione a seguinte configuração à seção "mcpServers" do seu
claude_desktop_config.json:
Autenticação Interativa
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"]
}
}
}
Autenticação por Credenciais do Cliente
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": ["-y", "@merill/lokka"],
"env": {
"TENANT_ID": "<tenant-id>",
"CLIENT_ID": "<client-id>",
"CLIENT_SECRET": "<client-secret>"
}
}
}
}
Certifique-se de substituir <tenant-id>, <client-id> e <client-secret> pelos valores reais do seu aplicativo Microsoft Entra. (Consulte o Guia de Instalação para mais detalhes sobre como criar um aplicativo Entra e configurar o agente.)