Skip to main content
Glama
robertsmieja

xmatters-mcp

by robertsmieja

Update a shift — path-addressed shift

xmatters_update_a_shift_by_id
Destructive

Update an existing on-call shift by group and shift ID, specifying recurrence, members, times, and rotation. Requires explicit write confirmation to apply API changes.

Instructions

Update a shift — path-addressed shift. POST /api/xm/1/groups/{groupID}/shifts/{shiftID}. Additional path from the official cURL and Python POST examples. DEFINITION and JavaScript use the collection path. Both are retained as separately named documented variants; tenant execution of the example-only variant is unverified. Examples use body id; the parameter table calls it shiftID. Body fields: shiftID, name, description, recurrence, members, siteHolidays, timezone, start, end, rotation, repeatEscalation, notifyEndofEscalation, id, notifyEndOfEscalation. Reference: https://help.xmatters.com/xmapi/#update-a-shift Requires operator write opt-in and confirm:true; may notify recipients or change tenant data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesComplete API JSON payload (including nested fields). See https://help.xmatters.com/xmapi/#update-a-shift
pathYes
queryNoAPI query parameters; arrays are comma-joined. Documented names: none. Pagination is explicit using offset and limit; results are not automatically combined.
confirmYesExplicit approval of this exact mutation. Operator must also enable XMATTERS_ALLOW_WRITES.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds that it 'requires operator write opt-in and confirm:true', 'may notify recipients or change tenant data', and flags that the example-only variant is 'unverified'. These details go beyond the annotations and disclose important side effects and prerequisites.

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

Conciseness2/5

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

The description is verbose and rambling, mixing variant history, cURL examples, parameter naming, body fields, and requirements. While informative, it lacks conciseness and clear structure, making it harder to parse quickly. The core purpose is front-loaded, but details are scattered.

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 mutation tool with a free-form body, confirm requirement, and variant ambiguity, the description provides endpoint, body fields, requirements, side effects, and a reference link. It does not describe the response format (no output schema), but that is not expected. Overall it covers the key aspects an agent needs to call it correctly.

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?

The schema covers body and confirm with descriptions, and path parameters are self-explanatory. The description adds value by listing all body fields, clarifying the naming discrepancy between 'id' and 'shiftID', and directing to the API reference. This helps an agent construct a valid body even with 75% schema coverage.

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?

The description explicitly states 'Update a shift — path-addressed shift' and provides the exact HTTP endpoint (POST /api/xm/1/groups/{groupID}/shifts/{shiftID}). It clearly differentiates from the sibling xmatters_update_a_shift by mentioning the 'collection path' variant, so an agent can tell them apart.

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?

It mentions the distinction between path-addressed and collection-path variants and notes the requirements (operator write opt-in, confirm:true). It implies this variant is used when shiftID is available, but does not explicitly state when to choose it over the sibling. Still, the context is sufficient for most cases.

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

Deploy Server

Other Tools