Skip to main content
Glama

Set a review recommendation's status

update_review_recommendation
DestructiveIdempotent

Set a saved review recommendation's status: done (the customer acted on it; the next review of the same scope reports it), dismissed (they decided against it) or open again. Only when the user says so. Setting the status it already has changes nothing. Pass run_id from start_setup_run so this undoes together with the rest of the setup; leave it out (never "") to start a new chat run, whose run_id is returned and should go on every later change.

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": {
      "review_id": "<review_id>",
      "recommendation_id": "<recommendation_id>",
      "status": "<status>"
    },
    "name": "update_review_recommendation"
  }
}

Input Schema

NameRequiredDescriptionDefault
run_idNoThe setup run this change belongs to, from start_setup_run. Omit to start a new chat run (its id is returned).
statusYesdone (the customer acted on it), dismissed (they decided against it) or open (again). Only when the user says so.
projectNoProject ID, from list_projects. Required when this connection covers more than one project; may be left out when it covers one (and with an API key, which belongs to one project).
review_idYesReview ID, from list_reviews.
recommendation_idYesThe recommendation's ID, from get_review.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description discloses that re-setting the same status is a no-op, that a new run_id is created and returned when run_id is omitted, and that supplying run_id groups this change with the rest of the setup so it can be undone together. The "only when the user says so" caveat also adds consent context for a destructiveHint=true mutation.

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?

The description is front-loaded with the core status vocabulary before moving to the consent gate and run_id mechanics, and every sentence carries operational information. It is on the dense side and the status glosses partially duplicate the schema descriptions, so it is slightly less tight than it could be.

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

Completeness5/5

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

For a 5-parameter mutation with no output schema, the definition covers what state is being changed, the consent precondition, idempotency, undo grouping, and what value is returned when a run is created. Nothing an agent needs in order to invoke this correctly is missing.

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 coverage is 100%, so the baseline is 3, but the description adds real meaning on top: run_id must be omitted rather than passed as an empty string ("never \"\""), and the returned run_id should be threaded into every later change. The status value semantics largely restate what the schema already documents.

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 names a specific verb and resource ("Set a saved review recommendation's status") and enumerates all three target states (done, dismissed, open), which lets an agent distinguish it from the neighbouring update_review and get_review tools without opening the 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?

There is an explicit invocation gate ("Only when the user says so") and clear branching guidance on when to pass run_id versus omit it to start a new chat run. It stops short of naming sibling alternatives such as update_review for other kinds of edits, but the sequencing with start_setup_run/undo_setup_run is spelled out.

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