Skip to main content
Glama
josimarh

azure-mcp-pilot

by josimarh

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MOCK_MODENoWhether to run in mock mode. Set to 'false' to audit real tenant data. Default is 'true' (mock).true
SANITIZE_FOR_LLMNoWhether to mask resource names, resource groups, subscription IDs, and IPs before content reaches the LLM. Set to 'false' to disable sanitization.true
AZURE_SUBSCRIPTIONSNoComma-separated list of Azure subscription IDs to scope queries. If empty, the project automatically discovers enabled subscriptions for the authenticated identity.

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_environment_summaryA

Get a read-only high-level snapshot of the accessible Azure environment.

get_subscriptions_countA

Retorna exclusivamente a quantidade de subscriptions Azure visíveis para a identidade autenticada.

Use esta ferramenta para perguntas como:

  • Quantas subscriptions existem?

  • Quantas assinaturas Azure eu tenho?

  • Quantas subscriptions consigo visualizar?

NÃO use search_official_guidance para descobrir quantidade de subscriptions.

get_resource_groups_countA

Retorna a quantidade de Resource Groups visíveis no escopo autenticado.

list_resource_groupsC

Lista Resource Groups com filtros read-only por nome.

get_identity_access_summaryA

Retorna resumo de identidade e RBAC:

  • total de usuários

  • usuários habilitados/desabilitados

  • usuários com permissões diretas

  • usuários desabilitados com roles ativas

list_usersC

Lista usuários do Entra ID visíveis para a identidade autenticada.

list_users_with_direct_permissionsC

Lista usuários com role assignments diretos no Azure RBAC.

list_disabled_users_with_active_rolesA

Lista usuários desabilitados no Entra ID que ainda possuem role assignments diretos ativos.

list_entra_usersB

Lista usuários do Microsoft Entra ID com nome, UPN e e-mail.

list_azure_role_assignmentsB

Lista role assignments Azure RBAC (User, Group, Service Principal e Managed Identity).

list_privileged_azure_role_assignmentsA

Lista role assignments privilegiados em Azure RBAC (Owner, User Access Administrator, Contributor).

get_role_risk_scoreC

Calcula score de risco (0-100) para uma role privilegiada de Entra ID ou Azure RBAC.

list_agent_identitiesC

Lista inventário de Agent Identities com owner, blueprint, permissões e risco.

get_agent_relationshipsB

Resolve Agent → Owners → Identity → Blueprint → Graph Permissions → Azure RBAC.

get_agents_by_ownerB

Lista Agents sob responsabilidade de um owner (UPN, nome ou objectId).

get_user_effective_azure_accessA

Resolve acesso efetivo Azure RBAC de um usuário (direto + herdado via grupos transitive).

list_orphan_azure_role_assignmentsA

Lista role assignments órfãos (principal não resolvido no tenant visível).

list_privilege_timeline_eventsC

Lista eventos de ganho/perda/ativação de privilégios no período informado.

get_identity_privilege_timelineA

Retorna timeline de privilégios para uma identidade específica (UPN, nome ou objectId).

summarize_privilege_timelineB

Resumo da timeline de privilégios (ganhos, revogações, ativações e anomalias).

export_privilege_timeline_reportC

Gera relatório de timeline com top grants/revokes por identidade, role e escopo.

timeline_natural_language_queryC

Interpreta perguntas de auditoria temporal de privilégios em linguagem natural.

agent_natural_language_queryC

Interpreta perguntas sobre Agent Identities em linguagem natural.

run_agent_assessmentA

Executa assessment específico de Agent Identities e retorna ranking de risco.

list_deny_assignmentsC

Lista deny assignments do Azure.

list_applications_without_ownersB

Lista aplicações sem owner definido no Entra ID.

list_application_secrets_expiringA

Lista secrets expirados ou próximos da expiração em aplicações do Entra ID.

list_graph_critical_application_permissionsB

Lista aplicações/service principals com Microsoft Graph Application Permissions críticas.

list_pim_role_statesB

Lista atribuições privilegiadas classificadas por estado: Active, Eligible e Permanent.

get_pim_state_summaryA

Retorna comparativo de estados PIM (Active vs Eligible vs Permanent).

get_license_postureA

Cruza as licenças assinadas do tenant com o uso real dos recursos de segurança que elas habilitam.

Use para perguntas como:

  • Estamos pagando por recursos que não usamos?

  • Temos Entra ID P2? O PIM está sendo usado?

  • Quantas licenças estão ociosas?

Distingue explicitamente 'não licenciado', 'licenciado e não configurado' e 'licenciado mas não avaliado', porque as três levam a ações diferentes.

get_tenant_licensesA

Lista os SKUs licenciados do tenant, com unidades habilitadas, consumidas e ociosas, além dos planos de serviço ativos.

pim_natural_language_queryB

Interpreta perguntas de PIM em linguagem natural e retorna resposta com resumo e detalhes.

iam_natural_language_queryA

Interpreta uma pergunta de IAM em linguagem natural e responde com correlação Entra + Azure. Sempre retorna resumo e detalhes compreensíveis, sem depender de frase exata.

run_iam_assessmentB

Executa um IAM Assessment no ambiente e retorna riscos principais e plano de remediação.

run_enterprise_identity_auditA

Executa auditoria IAM enterprise consolidada (Entra + Azure + subscriptions + management groups).

get_management_group_inventoryB

Retorna inventário de Management Groups visíveis para auditoria de governança.

get_subscription_direct_access_summaryB

Resumo de role assignments diretos em escopo de subscription (inclui privilegiados).

list_resourcesB

List Azure resources using controlled read-only filters. Use full Azure resource type when filtering, e.g. microsoft.compute/virtualmachines.

list_public_ip_resourcesA

List Public IP resources. This does not prove that a workload is actually internet-exposed.

identity_360A

Identity 360: visão completa de uma identidade — quem é, a que possui acesso (Entra + Azure, direto/grupo/PIM), como recebeu, ownership e risco (blast radius, findings). Aceita UPN, displayName ou objectId.

get_user_authentication_methodsB

Retorna métodos de autenticação e status de MFA/passwordless de um usuário.

get_authentication_methods_summaryB

Resumo de registro de MFA e capacidade passwordless do tenant.

list_users_without_mfaC

Lista usuários sem MFA registrado.

assess_privileged_mfaA

Assessment de MFA para usuários privilegiados (sem MFA ou métodos fracos).

get_authentication_strength_summaryA

Resumo enterprise de força de autenticação (forte/misto/fraco) e adoção de passkey/FIDO2.

list_users_with_weak_authenticationB

Lista usuários com métodos fracos registrados (sms/voice/email/password), com evidência técnica.

list_users_with_passkeyA

Lista usuários com passkey/FIDO2 registrado.

get_owned_objectsC

Ownership 360: objetos (Groups, Applications, Service Principals, Agents, Blueprints) sob responsabilidade de um usuário.

list_objects_without_ownerB

Lista objetos sem owner (Groups, Applications, Service Principals, Agents, Blueprints).

detect_toxic_combinationsA

Detecta toxic combinations / violações de Separation of Duties com evidência.

compute_identity_blast_radiusB

Estima o blast radius (alcance) de uma identidade (subscriptions, management groups, capacidade de conceder acesso).

list_top_blast_radiusC

Ranking de identidades por maior blast radius.

search_official_guidanceA

Return curated official Microsoft Learn references relevant to an Azure topic or best-practice question.

graph_discover_capabilitiesA

Capability discovery de identidade.

Use ANTES de consultar quando não souber qual domínio/endpoint atende a pergunta.

  • Se 'question' for informado, retorna o roteamento sugerido (domínio, capability, fonte, permissões necessárias) SEM executar nada.

  • Se 'domain'/'source' forem informados, lista as capacidades catalogadas.

Fontes possíveis: microsoft_graph (identidade/diretório), azure_resource_graph / azure_management / azure_authorization (recursos e Azure RBAC).

graph_answer_identity_questionA

Interpreta uma pergunta de identidade em linguagem natural, escolhe a capability correta e executa a consulta de forma validada.

Use para perguntas abertas como:

  • "Quais usuários possuem Global Administrator?"

  • "Quais aplicações possuem Directory.ReadWrite.All?"

  • "Quem pode ativar Owner via PIM?"

Respeita a separação de fontes: Microsoft Graph para identidade/diretório e APIs Azure para Azure RBAC/recursos. Retorna erro explícito quando a capability não existe ou quando falta permissão. Nunca inventa chamadas Graph.

graph_listA

Lista objetos de uma capability catalogada (operação 'list').

'capability_id' precisa existir no registry (use graph_discover_capabilities). 'filter' aceita apenas campos declarados como suportados pela capability. Endpoints arbitrários são rejeitados.

graph_getB

Obtém um objeto específico de uma capability catalogada (operação 'get').

'id' deve ser um GUID ou identificador simples; valores fora desse padrão são rejeitados.

graph_queryB

Executa consulta parametrizada em fontes que aceitam query (ex.: Azure Resource Graph).

Somente leitura: operadores KQL de escrita ou de acesso externo são bloqueados. 'scope' é validado contra o formato de escopo Azure.

graph_relationshipB

Consulta relacionamentos de um objeto de diretório (membros, owners, membership transitiva, app role assignments de um principal).

Exemplos de capability_id:

  • graph.groups.members

  • graph.groups.transitive_membership

  • graph.applications.owners

  • graph.service_principals.owners

  • graph.app_role_assignments.assigned_to

graph_permissionsA

Retorna as permissões Microsoft Graph / Azure necessárias para uma consulta, incluindo suporte a delegated e application permission e requisito de licença.

Não executa consulta: serve para validar viabilidade antes de consultar.

graph_role_assignmentsA

Consulta atribuições de privilégio mantendo as fontes separadas:

  • Directory roles e PIM de diretório via Microsoft Graph

  • Azure RBAC via Azure Resource Graph

Não assume que Microsoft Graph cobre Azure RBAC.

graph_directory_objectsA

Coleta objetos de diretório de um ou mais domínios e correlaciona a mesma identidade entre eles, preservando a fonte de cada evidência.

'domains' aceita lista separada por vírgula (ex.: "users,service_principals,directory_roles"). Se vazio, os domínios são inferidos da pergunta.

list_application_provenanceA

Diferencia app registrations criadas por usuários no seu tenant das aplicações nativas da Microsoft (first-party) e de apps de terceiros consentidos.

Classificação baseada em appOwnerOrganizationId (sinal autoritativo do diretório), não em heurística de nome.

'provenance' aceita: all, tenant (criadas no seu tenant), microsoft (nativas), thirdparty (terceiros), managedidentity.

Use para perguntas como:

  • "Quais aplicações foram criadas pelos usuários?"

  • "Qual a diferença entre app registrations próprias e nativas?"

  • "Quantas aplicações são nativas da Microsoft?"

summarize_application_provenanceA

Resumo executivo da procedência das aplicações do tenant: quantas estão sob sua governança (criadas no tenant) versus pré-provisionadas pela Microsoft, com percentuais e foco de governança.

graph_assessmentA

Executa assessment de identidade baseado no capability registry, declarando explicitamente cobertura EVALUATED / PARTIAL / NOT_EVALUATED por domínio.

'scope' aceita: identity, directory, privileged, workload, azure. Nunca reporta NOT_EVALUATED como zero.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 66 tools

Disambiguation2/5

Several tools have unclear boundaries, such as list_entra_users vs list_users, list_azure_role_assignments vs graph_role_assignments, and the multiple natural-language query and assessment tools. An agent could easily choose the wrong tool for user-listing, role-assignment, or timeline questions. A few tools like identity_360 and detect_toxic_combinations are distinct, but the overall set is highly ambiguous.

Naming Consistency3/5

Most tools follow readable snake_case list_/get_/run_ naming, but the set mixes conventions with names like identity_360, graph_assessment, and noun-first NL query tools such as pim_natural_language_query and agent_natural_language_query. The graph_* prefix is inconsistently combined with verbs, making the pattern predictable only part of the time.

Tool Count1/5

66 tools is an extreme number for an identity security audit server, and many tools are near-duplicates or could be consolidated into parameterized operations. This far exceeds the 25+ threshold and creates a heavy, unwieldy tool surface.

Completeness4/5

The surface is quite comprehensive for read-only identity governance: it covers users, RBAC, PIM, MFA, licenses, agent identities, blast radius, object ownership, provenance, and Graph/API access. Since this is an audit-focused server, missing create/update/delete is acceptable; minor gaps exist around detailed sign-in/audit log exploration and remediation actions.

Maintenance

ActivityMaintained
ResponsivenessNo issues