Skip to main content
Glama

update_service

Destructive

Update a service. Partial update. Any content change re-embeds; changing only active does not. The service image is never touched by the API.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "update_service"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesNumeric id.
nameNo
priceNo
activeNo
currencyNoISO 4217 code such as USD or EUR. Null means the account default.
is_virtualNoBookings get a Google Meet link. Honoured only when Google Calendar is connected and Meet is on.
price_unitNo
category_idNo
descriptionNo
display_orderNo
duration_minutesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, and the description adds genuinely new behavioral facts beyond them: content changes trigger re-embedding while an active-only change does not, and the service image is never modified by the API. That re-embedding note is a cost/latency side effect an agent could not infer from the schema, though the description stops short of saying what the response contains or whether changes are reversible.

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?

Four short sentences, front-loaded with the core action and immediate mutation semantics, with zero filler. Each sentence adds a distinct fact (partial update, re-embed trigger, active-only exception, image exclusion).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter mutation with no output schema and low schema coverage, the description supplies useful side-effect context but leaves field-level meaning, validation expectations, and error behavior unexplained. It is serviceable for selecting the tool, less so for invoking it correctly across all its fields.

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

Parameters2/5

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

Schema description coverage is only 27% across 11 parameters, so the description carries a heavy burden and largely does not meet it. It explains no parameter semantics for name, price, active, price_unit, category_id, display_order, or duration_minutes, and its one relevant clarification (image is untouched) refers to a field that is not even in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ("Update a service") and immediately qualifies the scope with "Partial update," so an agent knows this mutates an existing service rather than creating one. It does not explicitly contrast itself with create_service, delete_service, or update_* siblings, which keeps it below a 5.

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?

"Partial update" implies the caller should supply only the fields to change, which is real, if implicit, usage guidance. There is no statement about when to prefer this over create_service or how to discover current values first (e.g., via get_service), and no prerequisites such as permissions or required prior reads.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources