Skip to main content
Glama
Sultan-zd

Entra ID SecOps MCP Server

by Sultan-zd

get_risk_detections

Read-onlyIdempotent

Identify why a user is flagged as risky by retrieving the underlying risk detections: leaked credentials, anonymous IP, impossible travel, or password spray.

Instructions

Récupère les détections de risque unitaires : identifiants divulgués, IP anonymisée, voyage impossible, pulvérisation de mots de passe.

C'est l'outil qui explique POURQUOI un compte est signalé à risque, là où get_risky_users se contente de dire QUE le compte l'est.

Nécessite une licence Entra ID P2.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
upnNoUPN à cibler. Omettre pour obtenir les détections de tout le tenant.
hoursNoFenêtre de recherche en heures. Défaut 24, borné à 168.
limitNoNombre maximum de détections. Défaut 25, borné à 100.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesNoObservations calculées.
detectionsYesDétections, de la plus récente à la plus ancienne.
distinct_typesYesTypes de détection distincts observés.
distinct_usersYesUPN distincts concernés.
total_detectionsYesNombre de détections retournées.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar is lower. The description adds valuable context beyond annotations by listing risk detection categories and the Entra ID P2 license requirement. It does not over-explain but gives meaningful operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: what the tool returns, how it differs from the sibling, and a hard prerequisite. The content is front-loaded and there is no filler or redundant restatement of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich annotations, full parameter documentation, and output schema, the description covers everything an agent needs: purpose, scope, alternative routing, and licensing. There are no critical gaps for invoking this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter already having a clear description and defaults. The tool description does not add parameter-level meaning, but it does not need to; the schema carries the full burden. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Récupère') and a precise resource ('détections de risque unitaires'), and lists concrete examples (identifiants divulgués, IP anonymisée, voyage impossible, pulvérisation de mots de passe). It also explicitly differentiates itself from get_risky_users by explaining WHY versus THAT, making the tool's purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It directly positions the tool against get_risky_users: use this one to understand the reason behind a risk flag, while get_risky_users only indicates the flag exists. It also states a key prerequisite, 'Nécessite une licence Entra ID P2', giving the agent an explicit condition for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sultan-zd/mcp-entra-secops'

If you have feedback or need assistance with the MCP directory API, please join our Discord server