Skip to main content
Glama

Approve or reject a review

moderate_review

Approve a pending review (it goes live in the schema and llms.txt) or reject it. Ask the owner; never approve on your own judgement.

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": {
      "site": "<site>",
      "id": "<id>",
      "status": "<status>"
    },
    "name": "moderate_review"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
siteYesSite slug (e.g. "kopitiam-muar") or id
statusYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already establish that this is a mutating operation, so the description falls short of revealing anything extra that is critical. That said, it does add genuine context beyond them, such as the visible effect on the live schema and llms.txt and the consent requirement, which matters for a mutating tool. It never states what rejecting does beyond the name (whether the review is deleted, merely hidden, or can be re-approved), so half of the tool's behaviour is left unspecified.

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?

Two sentences, front-loaded with the action and followed by the policy constraint; nothing is padded or repeated. The only inefficiency is that 'Ask the owner' appears as its own trailing sentence where it could have been folded into the main clause.

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 a three-parameter mutating tool with no output schema, the description covers the approve path adequately but leaves the reject path and the 'pending' state unexplained. An agent could call it, but it would be guessing on two of the three status values and on what information the tool returns.

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 coverage is only 33%, so the description must fill the gap, but it adds no parameter detail at all: 'id', 'site', and 'status' are never mentioned. Most importantly, the status enum offers 'approved', 'rejected', and 'pending', yet the description explains only the first two, leaving the agent unsure what 'pending' does to a review. With low schema coverage, this is a meaningful omission.

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 pairs a specific verb with a specific resource: approve or reject a review, and it names the visible consequence (goes live in the schema and llms.txt). It is clearly distinct from list_reviews, though it never names a sibling for the read side. What it does not clarify is the third possible target state, 'pending', which is not a form of moderating an already-pending review.

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 a real precondition, namely that the review must be pending, and an explicit decision policy: ask the owner, never approve on your own judgement. That is stronger than most tools here. The gap is that it names no alternative, so an agent that wants to inspect or list reviews first gets no pointer to list_reviews.

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