Skip to main content
Glama
AWS Health MCP Server

AWS Health MCP Server

Official
by aws-samples

find_events_for_resources

Read-onlyIdempotent

Identify which AWS Health events affect specific resources so you can determine whether an instance, cluster, or database is impacted by current or resolved issues.

Instructions

Find which health events affect specific resources of yours.

Answers "is my instance / cluster / database affected by anything?".

Matching goes through DescribeAffectedEntities, where entity values match exactly. The equivalent filter on DescribeEvents cannot be used for this: it also returns events that have no entities at all, so a resource ID that exists nowhere still comes back with matches.

Args: entity_values: Resource identifiers, e.g. ['i-1234567890abcdef0']. include_closed: Also search resolved events, not just open/upcoming.

Example prompts:

  • "Is i-1234567890abcdef0 affected by any AWS issue?"

  • "Do any current events touch my cluster my-prod-cluster?"

Input Schema

NameRequiredDescriptionDefault
entity_valuesYes
include_closedNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so safety is covered. The description adds genuine behavioral context beyond that: matching is exact and routed through DescribeAffectedEntities, and include_closed widens the search from open/upcoming to resolved events. It does not discuss result limits, pagination, or what happens with unknown identifiers, but the output schema reduces the need.

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

Conciseness4/5

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

Front-loaded with the one-line purpose and the question it answers, followed by the matching caveat and per-argument notes. The DescribeEvents comparison is slightly tangential but earns its place by preventing a false-positive workflow. Example prompts at the end are useful rather than 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 two-parameter read tool with a full output schema and rich annotations, the description covers purpose, matching semantics, the closed/open distinction, and motivating examples. The remaining gaps, identifier format rules and result-volume behavior, are minor given the output schema exists.

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 description coverage is 0%, so the description carries the full burden and largely meets it: entity_values is explained as resource identifiers with a concrete example ('i-1234567890abcdef0'), and include_closed is glossed as also searching resolved events rather than only open/upcoming. The important exact-match semantics are stated, though accepted identifier forms (ID vs ARN, case sensitivity) and multi-value limits are not.

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?

States a specific verb and resource ("Find which health events affect specific resources of yours") and frames the direction of the query with the plain-language question "is my instance / cluster / database affected by anything?". That framing implicitly separates it from the inverse sibling get_affected_entities, so an agent can pick correctly without opening either schema.

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?

Gives a clear trigger condition (you have resource identifiers and want the events touching them) and reinforces it with two example prompts. It also explains why the obvious alternative, the DescribeEvents entity filter, is wrong here because it returns events with no entities. It stops short of naming sibling tools like get_affected_entities as the inverse operation or stating when-not to use this.

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