daily_brief
Generates a compact daily triage summary of Microsoft 365 service health, sign-in failures, spray suspects, and admin actions in one call.
Instructions
One-call morning-patrol summary: M365 service health, sign-in failures, spray suspects, admin actions.
Combines m365_service_health, signin_failure_stats,
directory_audits and compromise_suspects (its counts and the top
5 of each list; summary.compromise_suspects has the high/medium
counts) into one result with a compact summary on top. The failure
stats and the compromise suspects come from one walk of the sign-in log.
The shape matches this fleet's other daily_brief tools. A
permission failure in one section degrades only that section's
contribution to summary -- the other sections still return in full.
Azure VM backup is deliberately not a section here: its ARM fan-out is
the one scan that could exhaust the shared budget, so call
vm_backup_status separately.
With a tenant file (ENTRAADM_CONFIG) it covers every tenant: the
top-level keys stay the DEFAULT tenant's brief, exactly as in a
single-tenant deployment, plus tenant (the default's name) and
tenants ({name: the same brief} for each other tenant). The call
budget (ENTRAADM_DEADLINE) is split: default first, each tenant gets
an even share of what is left, so a busy tenant cannot starve the next
one (a tenant that finishes early leaves its rest to the others). With
ENTRAADM_DEADLINE=0 there is no budget and every tenant is scanned in
full, one after another, which can outlast a client's ~60 s cutoff.
Env-only results carry neither key.
Runs both sections synchronously in one tool call, unlike the sibling
gwsadm-mcp's job+poll daily_brief. If this proves too slow for a
tenant's sign-in volume against the client's tool-call timeout, port
that job+poll pattern here (tracked in this repo's CLAUDE.md Roadmap).
Args: hours: How far back to look, clamped to [1, 720] (30 days). max_pages: Page budget passed to both sections (default: ENTRAADM_MAX_PAGES_DEFAULT). samples: Reserved for a future drill-down sample size; currently unused.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | ||
| samples | No | ||
| max_pages | No |