Skip to main content
Glama
AleBrito124356

mcp-devils-advocate

submit

Provide review-phase items to trigger atomic validation: invalid entries return all errors, while complete requirements advance the phase or list what remains.

Instructions

Submit items for the current phase of a review.

Each item must match the item_format from the latest instructions. Validation is atomic: if any item is invalid (wrong fields, or it fails a quality check), nothing is saved and the error lists every problem to fix. When the phase's requirements are met the review advances and the next phase's instructions are returned; otherwise the response lists exactly what is still missing.

Args: review_id: The review session id (e.g. "rev-x9k2"). items: List of dicts matching the current phase's item_format.

Returns: dict with status "in_progress" (plus a 'missing' list), "phase_complete" (plus 'next_phase' instructions), or "complete" (call get_verdict next).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
review_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses atomic validation ('if any item is invalid... nothing is saved'), that errors enumerate every problem, and the three-state transition behavior. What it omits is anything about authentication, side effects beyond the review state, or how items are persisted.

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?

Front-loads purpose, then validation semantics, then Args and Returns sections. Every sentence conveys actionable behavior with no filler or restatement of the name.

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?

No output schema exists, so the description appropriately documents the three return states including the 'missing' list and next_phase instructions. It is nearly complete for this workflow tool; only the concrete item schema (deferred to external instructions) is left undefined.

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 0%, so the description must compensate, and it does: review_id is documented with a format example and items is described as dicts matching the current phase's item_format. The reference to 'latest instructions' is a deferred contract the agent may not possess, keeping it from a 5.

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?

States a specific verb+resource ('Submit items') scoped to 'the current phase of a review', which is distinct from siblings like start_review, get_verdict, and get_review. It does not explicitly name the sibling it is not, so it stops short of a 5, but an agent can identify the tool's role without ambiguity.

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 operative context: items must match the latest instructions' item_format, validation is atomic, and on 'complete' the agent should call get_verdict next. This is explicit routing guidance, though there is no explicit when-not-to-use statement or contrast with alternatives.

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