Skip to main content
Glama

Write a review

write_review

Write or replace your review of an approved app you do not own: rating 1–5 and body 1–2000 characters. Limit 30 per day.

Input Schema

NameRequiredDescriptionDefault
bodyYesReview text, 1–2000 characters.
slugYesSlug of an approved app.
ratingYesInteger stars from 1 to 5.
api_keyNoOptional slop_ API key. Use this when the client cannot send Authorization: Bearer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: it discloses that the operation overwrites an existing review (upsert semantics), imposes a 30-per-day rate limit, and restricts eligibility to approved, non-owned apps. None of these are derivable from readOnlyHint/destructiveHint/openWorldHint alone.

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?

A single front-loaded sentence covering the action, the eligibility constraint, the field ranges, and the rate cap. No filler or repetition.

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?

With no output schema and four parameters, the description covers eligibility, replace behavior, field bounds, and rate limits — enough to call it correctly. It omits any note about auth requirements or failure behavior, though api_key is documented in the schema.

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 slug, rating, body, and api_key are already documented. The description restates the rating range and body length but adds no syntax or format detail beyond the schema, making the baseline 3 correct.

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 (write/replace your review) plus precise scope: only for approved apps the caller does not own. This distinguishes it cleanly from siblings like vote, report_app, and create_app without opening their schemas.

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?

Gives clear eligibility conditions (app must be approved, must not be owned by the caller) and notes the replace semantics. It does not name an alternative tool or state when a different sibling (e.g. report_app) would be preferred, so it falls 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.

Resources