Skip to main content
Glama

Get a check's full review

get_review
Read-only

Call this before telling the person a change works, before closing its ticket, and when you are going to fix what the check found — it is the evidence, so the person does not have to look. The run's result in the shape you act on. Every finding in full (where it happens, what was tried, what happened, why it matters, evidence URLs — the frame of the step that saw it first), every journey step this check walked with its screenshot_url (open it to show the person what the check saw), what was not covered, and per finding the sentence that says when it counts as gone (a journey with carried: true was walked by an earlier check and lists no steps: get_review its carried_from) (next_actions). A journey that checks a scenario with words of its own carries expectations — each sentence that says something must be seen, with result seen / wrong / not_seen, why it was not seen, and the number of the step that shows it — and outcome: confirmed (every one seen), not_confirmed, or broken (one shows otherwise). It names symptoms and evidence, never files or fixes — what to change is your call. Name the check by run_id, or by deploy_sha: the commit a check was bound to, also when the GitHub App or the Action started it and you have no run id. By deploy_sha alone it is the commit's latest finished check, whoever started it; started_by: "github" picks the GitHub App's own check of that deploy and says if it is still running (code not_finished, with run_id and status), was refused (deploy_refused, with refusal) or never reached the App (no_deploy_received). run.started_by and run.narrow say who started a check and whether it walked only named journeys. changed_screens: the steps that look different from the previous check of the app (or from compare_to), each with before_url and after_url — after a UI change, show these to the person instead of taking screenshots yourself; what is broken stays in the findings.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

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

Input Schema

NameRequiredDescriptionDefault
teamNoAct in another of your teams, by its name or id (whoami lists them). Omitted: the key's own team
app_idNoWith deploy_sha: which app, when the same commit was checked for several
run_idNoRun id returned by start_check or latest_results, or the run's number as the verdict page shows it ("#332")
compare_toNoThe check to compare screens with (changed_screens), e.g. the app's last production check for a PR preview; default: the previous check of the same app
deploy_shaNoOr: the commit a check was bound to (deploy_sha of start_check, the Action, the GitHub App) — its latest finished check
started_byNoWith deploy_sha: only the check this door started. github = the GitHub App's check of that deploy — finished, still running, refused, or none received

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

With annotations already declaring readOnlyHint and openWorldHint=false, the description still adds real behavioral context: the resolution rules for deploy_sha (latest finished check, whoever started it), and the distinct error-shaped outcomes not_finished, deploy_refused, and no_deploy_received with accompanying fields. It also discloses the carried-journey edge case (carried: true, no steps, consult carried_from). It does not state behavior for a missing/unfinished run outside the started_by=github path, nor any size or latency limits on a full payload.

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

Conciseness3/5

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

The opening usage sentence is well front-loaded and nearly every clause carries information, but the body is one dense paragraph of nested parentheses and backticked field names. The payload inventory would be far easier to act on as a list; as written an agent must parse several levels of parenthetical nesting to extract the same facts.

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?

There is no output schema, so the description properly carries the burden of describing the return shape in detail, and it covers findings, steps/screenshots, coverage gaps, expectations/outcome, next_actions, and changed_screens. It omits call-level failure behavior (no matching run, invalid deploy_sha) and any sense of response size on a large review, which are the main remaining gaps for a tool of this complexity.

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 description coverage is 100%, so the baseline is 3, and the prose does add meaning on top: deploy_sha alone means the commit's latest finished check, started_by 'github' selects the GitHub App's own check, compare_to defaults to the previous check of the same app. However, most of the descriptive text is devoted to the return payload rather than to parameters, and the relationship between run_id and deploy_sha (precedence, what happens if both are omitted) is left implicit.

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 effectively states the resource: 'the run's result in the shape you act on', followed by an explicit inventory of what the review contains (findings, journey steps with screenshot_url, next_actions, expectations, outcome, changed_screens). The retrieval verb is only implied by the title and the 'get_review' name, and no sibling (get_verdict, get_check_status, latest_results) is named to sharpen the boundary. Still clear enough that an agent knows this is the full-review read rather than a status probe.

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 gives concrete trigger conditions: 'before telling the person a change works, before closing its ticket, and when you are going to fix what the check found'. It also adds a directive for the UI-change case: 'show these to the person instead of taking screenshots yourself'. It lacks explicit when-not or a named alternative (e.g. 'use get_check_status while it is still running'), so it stops short of full routing guidance.

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.