Microsoft Cloud — Service Health Tools
The six service health tools read the Microsoft 365 service communications surface — the same data the admin center shows under Health. They cover three resources: per-service health overviews (current status for Exchange Online, Microsoft Teams, SharePoint, and every other service), health issues (incidents and advisories with their post timelines), and message center announcements (planned changes, retirements, and required actions).
Use them when a user reports "Teams is down" and you want to rule out a Microsoft-side incident before investigating the tenant, or to review which upcoming changes need preparation.
All tools accept an optional connection_id. Omit it to use the default Entra connection. See entra_connection_list for multi-tenant scenarios. The status and issue tools require the ServiceHealth.Read.All permission; the announcement tools require ServiceMessage.Read.All — both are part of the standard InfraScout app registration described in Connecting Entra ID.
Service Status
mscloud_servicehealth_list_services
Lists the health overview of every Microsoft 365 service — the service name and its current status, such as serviceOperational or serviceDegradation. This is the quick tenant-wide health check; follow up on a degraded service with mscloud_servicehealth_get_service or mscloud_servicehealth_list_issues.
| Parameter | Type | Required | Description |
|---|---|---|---|
connection_id | string | — | Target Entra tenant. |
filter | string | — | OData $filter. |
expand | string | — | issues to inline each service's active health issues. |
select | string | — | Comma-separated property list. |
top | number | — | Page size, max 100. |
skiptoken | string | — | From the previous response. |
Example prompt.
"Is anything in Microsoft 365 degraded right now?"
mscloud_servicehealth_get_service
Returns the health overview for one service by its display name (for example Microsoft Teams or Exchange Online — matching is case-insensitive, and mscloud_servicehealth_list_services gives you the exact names). Pass expand set to issues to inline the service's active health issues as a lean projection; the posts timeline is excluded — fetch it per issue with mscloud_servicehealth_get_issue.
| Parameter | Type | Required | Description |
|---|---|---|---|
service_name | string | ✓ | Service display name, e.g. Exchange Online. |
connection_id | string | — | Target Entra tenant. |
expand | string | — | issues to inline active health issues. |
select | string | — | Top-level properties: id, service, status. |
Example prompt.
"What's the current health of Exchange Online, including any open issues?"
Health Issues — Incidents & Advisories
mscloud_servicehealth_list_issues
Lists health issues across the tenant — both incident and advisory classifications — with impact description, affected service and feature, and resolution state. Sorted newest first by default. The per-issue posts timeline is excluded by default to keep responses small; pass include_posts as true to inline it, or fetch one issue's timeline with mscloud_servicehealth_get_issue.
| Parameter | Type | Required | Description |
|---|---|---|---|
connection_id | string | — | Target Entra tenant. |
filter | string | — | OData $filter, e.g. isResolved eq false or classification eq 'incident'. |
include_posts | boolean | — | Inline the full posts timeline per issue. Default false. |
orderby | string | — | OData $orderby. Defaults to lastModifiedDateTime desc. |
select | string | — | Comma-separated property list. |
top | number | — | Page size, max 100. |
skiptoken | string | — | From the previous response. |
Example prompt.
"List all unresolved Microsoft 365 incidents affecting Exchange Online."
mscloud_servicehealth_get_issue
Returns a single health issue by ID (for example MO123456), including the full posts timeline — Microsoft's running updates from first detection to resolution.
| Parameter | Type | Required | Description |
|---|---|---|---|
issue_id | string | ✓ | Health issue ID, e.g. MO123456. |
connection_id | string | — | Target Entra tenant. |
select | string | — | Comma-separated property list. Selectable properties include feature, featureGroup, classification, status, isResolved, and the startDateTime, endDateTime, and lastModifiedDateTime dates. |
Example prompt.
"Show me the full timeline for issue MO123456."
Message Center Announcements
mscloud_servicehealth_list_announcements
Lists message center announcements — roadmap items, planned changes, and retirement notices. Sorted newest first by default. Filter for what matters: isMajorChange eq true for major changes, category eq 'planForChange' for changes requiring preparation, or services/any(s: s eq 'Exchange Online') for one workload.
| Parameter | Type | Required | Description |
|---|---|---|---|
connection_id | string | — | Target Entra tenant. |
filter | string | — | OData $filter, e.g. isMajorChange eq true. |
orderby | string | — | OData $orderby. Defaults to lastModifiedDateTime desc. |
select | string | — | Comma-separated property list. |
top | number | — | Page size, max 100. |
skiptoken | string | — | From the previous response. |
Example prompt.
"Which major changes in the message center require action before a deadline?"
mscloud_servicehealth_get_announcement
Returns a single message center announcement by ID (for example MC123456), including the full body.
| Parameter | Type | Required | Description |
|---|---|---|---|
message_id | string | ✓ | Announcement ID, e.g. MC123456. |
connection_id | string | — | Target Entra tenant. |
select | string | — | Comma-separated property list. Selectable properties include category, severity, services, tags, isMajorChange, and actionRequiredByDateTime. |
Example prompt.
"Show me the details of announcement MC123456."
See Also
For tenant security signals — alerts, incidents, sign-ins, and audit logs — see Microsoft Cloud — Security. For Teams, SharePoint, and Exchange Online queries, see Microsoft Cloud — Services. For Intune device management, see Microsoft Cloud — Intune.