Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AWS_REGIONYesRegion holding the fleet
AWS_PROFILENoAWS profile to use for credentials, as shown in the Claude Desktop/Claude Code example. AWS credentials must be available via the standard AWS credential chain.
AWS_IOT_MCP_AUDITNoOne JSON line per call, to stderr.on
AWS_IOT_MCP_TOOLSNoComma-separated tool allowlist. A typo fails startup rather than exposing nothing.all
AWS_IOT_MCP_MAX_ITEMSNoPage-size ceiling.100
AWS_IOT_MCP_AUDIT_ARGSNoInclude redacted arguments in the audit line.on
AWS_IOT_MCP_THING_ALLOWNoThing-name globs (gw-*,sensor-01). Anything unmatched is refused.account-wide
AWS_IOT_MCP_CERT_WARN_DAYSNoCertificate expiry warning.45
AWS_IOT_MCP_MAX_FLEET_SAMPLENoThings per fleet-health call.25
AWS_IOT_MCP_CERT_CRITICAL_DAYSNoCertificate expiry critical.14
AWS_IOT_MCP_STALE_WARN_SECONDSNoShadow staleness warning.3600
AWS_IOT_MCP_MAX_UNTRUSTED_BYTESNoDevice bytes embedded per result.24000
AWS_IOT_MCP_STALE_CRITICAL_SECONDSNoShadow staleness critical.86400

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_thingsA

Lists AWS IoT things in the configured region, newest page first, with optional filters by thing type or by a single attribute name/value pair. Use this to discover thing names before inspecting a shadow. Returns names and types only — call describe_thing for detail.

describe_thingA

Returns the registry record of one thing: ARN, thing type, version, billing group, its thing groups, and its attributes. Attributes are returned inside an untrusted-data fence because any principal with UpdateThing can write them.

search_fleet_indexA

Runs a fleet-indexing query (AWS_Things index) and returns matching things with their connectivity state when connectivity indexing is enabled. This is the only way to answer "which devices are offline right now". Query syntax examples: connectivity.connected:false — thingName:gw-* — attributes.site:santiago — shadow.reported.firmware:1.2.3. Requires fleet indexing to be enabled on the account.

describe_indexing_configurationA

Reports whether fleet indexing is enabled and which modes are active (registry, shadow, connectivity, named shadows). Call this first when search_fleet_index returns nothing or reports unknown connectivity — it distinguishes "no matches" from "not indexed".

get_device_shadowA

Reads the classic or a named device shadow and returns three things: how stale each reported field is, which desired fields the device has not converged on, and the raw document inside an untrusted-data fence. Prefer this over reading the raw shadow yourself — the staleness and drift analysis is where the operational answer usually is.

list_named_shadowsA

Lists the named shadows that exist for one thing. The classic (unnamed) shadow is never listed here by AWS — read it with get_device_shadow and no shadow_name.

compare_device_shadowsA

Structural diff of the reported state of two things (or of two named shadows of the same thing). This is the fastest way to answer "what is different about the one that misbehaves?" — it lists only the fields that differ, so a fleet-wide config drift shows up immediately.

list_topic_rulesA

Lists the topic rules of the account with their topic filter and whether they are disabled. Use it to answer "where does telemetry from this topic go?" before opening a single rule.

describe_topic_ruleA

Returns one topic rule in full: its SQL, its SQL version, every action with the target it writes to, and its error action. A rule without an error action loses messages silently when its action fails, which this tool calls out explicitly.

describe_iot_endpointA

Returns the account-specific IoT endpoint addresses. iot:Data-ATS is the MQTT/HTTPS data endpoint devices connect to; the others serve jobs and the credential provider. Endpoints are per account and per region, which is the usual cause of "the device connects but nothing arrives".

inspect_thing_certificatesA

Lists the X.509 certificates attached to a thing with their status and expiry date, and flags the ones that are inactive, revoked, already expired or expiring soon. Certificate expiry is the classic silent fleet outage: everything works until the day it does not.

assess_fleet_healthA

Diagnostic sweep over a sample of things. For each one it checks shadow freshness, desired-vs-reported convergence, certificate status and expiry, and connectivity when the fleet index provides it, then returns findings ranked worst-first with a per-code summary. Read-only and non-prescriptive: it reports what is wrong and never changes anything. Give it either an explicit list of thing names or a fleet-index query.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 12 tools

Disambiguation4/5

Each tool targets a distinct resource or action, and the descriptions go out of their way to explain relationships (list_things vs describe_thing, list vs describe topic rules, get_device_shadow vs list_named_shadows). The main overlap is that assess_fleet_health internally subsumes shadow freshness, certificate status, and connectivity checks that the single-purpose tools also perform, so an agent must choose between the sweep and the targeted reads.

Naming Consistency5/5

All 12 tools use a consistent snake_case verb_noun pattern (list_things, describe_thing, get_device_shadow, search_fleet_index, inspect_thing_certificates, assess_fleet_health). Singular/plural usage is predictable: describe_* for one entity, list_* for collections.

Tool Count5/5

12 tools is well-scoped for the IoT Core diagnostic domain, with each tool covering a distinct facet (registry, rules, endpoint, index, shadows, certificates, health sweep). Nothing feels padded or thin.

Completeness4/5

The surface thoroughly covers read-only diagnosis across things, rules, shadows, certificates, and fleet indexing with no obvious dead ends for that purpose. Minor gaps exist for adjacent resources like thing groups and jobs, and there is no write/mutation path, though the toolset appears intentionally read-only.

Maintenance

ActivityMaintained
ResponsivenessNo issues