Skip to main content
Glama
parissaahmadi

cmms-mcp-server

acknowledge_alarm

Idempotent

Acknowledge an active alarm to take ownership and record the actor; repeated calls on already acknowledged alarms return already_acknowledged=true unchanged.

Instructions

Take ownership of an active alarm. Safe to repeat: an already acknowledged alarm is returned unchanged with already_acknowledged=true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actorYesUsername performing the action, e.g. 'tech.a'. Never guess one.
alarm_idYesAlarm id such as ALM-0001.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
alarmYes
already_acknowledgedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, but the description goes further by specifying the exact repeat-call contract: an already acknowledged alarm returns unchanged with already_acknowledged=true. That is concrete behavior an agent needs for retry logic, though it says nothing about failure modes for unknown or inactive alarm IDs.

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?

Two short sentences, no filler. The core action is front-loaded and the idempotency contract follows immediately, which is the right ordering for an agent deciding whether to retry.

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?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. The repeat-call semantics fill the main gap; the only omissions are error behavior for invalid or already-cleared alarms, which are minor for a 2-parameter idempotent tool.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are documented in the schema, including the strong 'Never guess one' warning on actor. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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 ('Take ownership of an active alarm'), making the mutation's intent unambiguous. No sibling tool competes for this function (the others are all reads or work-order mutations), so differentiation is trivially satisfied.

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

Usage Guidelines3/5

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

Usage is implied by 'active alarm' and the note that repeat calls are safe, which tells the agent it need not pre-check acknowledgement state. However, there is no explicit when-not-to-use guidance, no mention of prerequisites (e.g. permissions or alarm state requirements), and no named alternative.

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