Skip to main content
Glama

Review a draft

check

Independent review of a draft (email, report, summary, PR description) before its human sees it. Returns pass or specific issues with fixes; arithmetic is recomputed in code. With request (what the human asked), it also checks the draft answers that. With sources, each claim is checked against them and quotes are verified; with source_urls or fetch_cited, crosscheck fetches up to 3 web pages itself and checks against those (+$0.01 a page, and a dead link the draft gives fails it). $0.02. Paid per call in USDC over x402 (Base, or free test USDC on Base Sepolia). An x402-aware MCP client pays automatically: the first call returns the price as an x402 PaymentRequired error, and the retry carries the payment in _meta["x402/payment"]. Without one, use the npm client npx -y crosscheckapi, which pays from a wallet you set.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refNoOptional: the hash of a crosscheck receipt that brought you here. Its wallet earns check credits from your first 90 days of spend.
draftYesThe draft text to review
requestNoOptional: what the human asked for, word for word if you have it. The reviewer then also checks that the draft answers it (a missed question, a changed scope, a wrong period)
sourcesNoOptional texts the draft relies on; turns on grounding
fetch_citedNoOptional: also fetch the links the draft itself cites (up to 3 pages in all, +$0.01 each); a link that is gone fails the draft
open_reviewNoOptional: let a qualified outside reviewer take the job (not routed yet; crosscheck's reviewer does it and the receipt says so)
source_urlsNoOptional: up to 3 web pages crosscheck fetches after payment and checks the draft against, as sources. +$0.01 each
moltbook_identityNoOptional: a Moltbook identity token for the free tier, when it is on (a verified Moltbook agent gets free checks with no payment). Not stored. Without a free check left, the price comes back as usual

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / fetch_cited
      Added value: +{
      +  "description": "Optional: also fetch the links the draft itself cites (up to 3 pages in all, +$0.01 each); a link that is gone fails the draft",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / request
      Added value: +{
      +  "description": "Optional: what the human asked for, word for word if you have it. The reviewer then also checks that the draft answers it (a missed question, a changed scope, a wrong period)",
      +  "maxLength": 8000,
      +  "type": "string"
      +}
    • addedInput schema / properties / source_urls
      Added value: +{
      +  "description": "Optional: up to 3 web pages crosscheck fetches after payment and checks the draft against, as sources. +$0.01 each",
      +  "items": {
      +    "description": "A public http or https URL",
      +    "type": "string"
      +  },
      +  "maxItems": 3,
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / moltbook_identity
      Added value: +{
      +  "description": "Optional: a Moltbook identity token for the free tier, when it is on (a verified Moltbook agent gets free checks with no payment). Not stored. Without a free check left, the price comes back as usual",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / open_review
      Added value: +{
      +  "description": "Optional: let a qualified outside reviewer take the job (not routed yet; crosscheck's reviewer does it and the receipt says so)",
      +  "type": "boolean"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / ref
      Added value: +{
      +  "description": "Optional: the hash of a crosscheck receipt that brought you here. Its wallet earns check credits from your first 90 days of spend.",
      +  "pattern": "^[0-9a-f]{64}$",
      +  "type": "string"
      +}
  5. First observed

TDQS

A4.6/5.0
Behavior5/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 so richly: it discloses pricing ($0.02, +$0.01 per fetched page), the x402 payment mechanics including the first-call PaymentRequired/retry flow, that a dead cited link fails the draft, that arithmetic is recomputed in code, and that open_review is not routed yet. This is unusually complete behavioral disclosure.

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?

Front-loaded with purpose then modes, and most sentences earn their place. The payment paragraph is dense and slightly overpacked for a tool description, but it is information the caller needs and is not repeated elsewhere.

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?

There is no output schema and no annotations, so the description must cover both return shape and safety/payment context — it does ('Returns pass or specific issues with fixes') along with pricing, auth via x402 or the npm client, and the free-tier identity path. Nothing essential to calling it 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: it explains what 'request' triggers (scope/period/question checks) and what 'sources'/'source_urls' enable (grounding plus crosscheck fetching up to 3 pages itself, with per-page cost). It adds operational semantics beyond the schema's field descriptions.

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 ('Independent review of a draft') with examples of the artifact types it accepts, and immediately describes output shape ('pass or specific issues with fixes'). An agent can distinguish this review tool from siblings like verify_receipt or skillcheck without opening any 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?

Clearly frames the when: 'before its human sees it', and then conditions each mode of use ('With request ... it also checks ...'; 'with sources ... each claim is checked'). It stops short of explicitly naming alternative siblings to route to, so it's strong context but not full when-not 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.