Skip to main content
Glama
ZeroSOC

defender-xdr

by ZeroSOC

defender_list_alerts

Read-only

List alerts across all Microsoft Defender XDR workloads with OData filtering and inline evidence, enabling targeted security investigations.

Instructions

List alerts from all Defender XDR workloads: Endpoint, Office 365 email, Identity, Cloud Apps and Entra ID Protection. Supports OData filtering with Graph camelCase values, e.g. "severity eq 'high'", "status eq 'new'", "serviceSource eq 'microsoftDefenderForEndpoint'", "createdDateTime gt 2026-01-01T00:00:00Z". Each alert carries its evidence inline. For the alerts of one incident use defender_get_incident_alerts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNoMaximum number of alerts to return (default 25, max 100).
filterNoOData $filter expression. Refine the filter instead of paging deep.
orderbyNoOData $orderby, e.g. "createdDateTime desc".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With readOnlyHint and destructiveHint annotations already present, the description still adds value by disclosing that each alert carries evidence inline and that OData filters use Graph camelCase values. This goes beyond the annotations without contradicting them. It does not cover pagination or rate limits, but it does not need to given the annotation coverage.

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?

The description is four sentences, each carrying distinct information: scope, filter syntax, evidence inline, and sibling routing. It is front-loaded and has no filler.

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

Completeness4/5

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

For a listing tool with no output schema, the description covers purpose, filter syntax, evidence behavior, and provides an alternative. The only notable gap is explicit pagination guidance beyond the schema's top parameter, but the schema already documents the maximum and the description is otherwise complete enough for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds concrete filter examples ('severity eq high', 'serviceSource eq microsoftDefenderForEndpoint') and notes the camelCase convention, which gives the agent practical guidance beyond the schema's generic '$filter' description. This justifies a 4.

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 opens with a specific verb and resource: 'List alerts from all Defender XDR workloads', enumerating the workloads. It also differentiates from a sibling by naming defender_get_incident_alerts. An agent can immediately tell what this tool does and how it differs from incident-scoped alert listing.

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

Usage Guidelines4/5

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

It explicitly routes incident-scoped needs to defender_get_incident_alerts. The 'all workloads' phrasing implies broad use, but it doesn't mention entity-specific alternatives like defender_get_machine_alerts or defender_get_alert. This is clear context but not exhaustive exclusions, so 4 rather than 5.

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

Deploy Server

Other Tools