Skip to main content
Glama

Check work you received

check_received_work

Privately check a received file against a template, plain-word requirements (need), explicit criteria, a saved contract, a check pack, or a saved report_token (adds a rerun delta). A check_pack_slug without check_pack_version uses the version pinned by bounty_id when supplied, otherwise the current version. Returns pass, fail, or could_not_verify for each declared check. A failed report offers rework.api (the bounty_post body for a rework bounty) and, while held payments are on, settlement (the settlement create body that holds payment until a delivery passes the same checks). Nothing is stored unless save is true, which returns report_url. Each caller gets 20 free checks a month of up to 500 rows each; beyond that the call answers 402 with payable terms when paid checks are available.

Input Schema

NameRequiredDescriptionDefault
mimeNoOptional media type.
needNoAcceptance criteria in plain words, drafted into checks the same way as the website, from these words and the delivery's column names only. The response lists the checks that ran; send them as criteria to repeat them exactly.
saveNoOpt in to a shareable, re-runnable report.
contentYesDelivery content as UTF-8 text or base64. The whole JSON-RPC request must be at most 4.4 MB on the hosted server, so a base64 file can be up to 3 MB decoded; larger uploads are rejected with HTTP 413.
criteriaNoExplicit machine checks returned by an earlier check.
encodingNoutf8
filenameYesFilename including its extension.
bounty_idNoYour own bounty: runs its pinned checks. Or optional context for check_pack_slug.
contract_idNoAccepted bounty id from your saved contract library; requires Bearer authentication on the MCP connection.
template_idNo
report_tokenNoReuse the saved criteria structure and origin. Supply source_context again for source-dependent checks.
source_contextNoSource URLs, glossary, rubric, or reference sample. Required by rubric agreement and saved glossary reruns.
check_pack_slugNoUse criteria from a public check pack.
check_pack_versionNoPack version to use. Omit to use the version pinned by bounty_id, or the current version when bounty_id is absent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / description
      Added value: +"Send exactly one of: template_id, need, criteria, contract_id, report_token, check_pack_slug or bounty_id and no check_pack_slug."
    • removedInput schema / oneOf
      Removed value: -[
      -  {
      -    "required": [
      -      "template_id"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "need"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "criteria"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "contract_id"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "report_token"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "check_pack_slug"
      -    ]
      -  },
      -  {
      -    "properties": {
      -      "check_pack_slug": {
      -        "type": "null"
      -      }
      -    },
      -    "required": [
      -      "bounty_id"
      -    ]
      -  }
      -]
  2. Changed1 schema field changed
    • changedInput schema / properties / content / description
      Previous value: -"Delivery content as UTF-8 text or base64. The whole JSON-RPC request must be at most 4.4 MB on the hosted server, so a base64 file can be up to 3 MiB decoded; larger uploads are rejected with HTTP 413."New value: +"Delivery content as UTF-8 text or base64. The whole JSON-RPC request must be at most 4.4 MB on the hosted server, so a base64 file can be up to 3 MB decoded; larger uploads are rejected with HTTP 413."
  3. Changed8 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / dependentRequired
      Added value: +{
      +  "check_pack_version": [
      +    "check_pack_slug"
      +  ]
      +}
    • changedInput schema / oneOf
      Previous value: -[
      -  {
      -    "required": [
      -      "template_id"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "need"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "criteria"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "contract_id"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "report_token"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "required": [
      +      "template_id"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "need"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "criteria"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "contract_id"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "report_token"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "check_pack_slug"
      +    ]
      +  },
      +  {
      +    "properties": {
      +      "check_pack_slug": {
      +        "type": "null"
      +      }
      +    },
      +    "required": [
      +      "bounty_id"
      +    ]
      +  }
      +]
    • addedInput schema / properties / bounty_id
      Added value: +{
      +  "description": "Your own bounty: runs its pinned checks. Or optional context for check_pack_slug.",
      +  "format": "uuid",
      +  "type": "string"
      +}
    • addedInput schema / properties / check_pack_slug
      Added value: +{
      +  "description": "Use criteria from a public check pack.",
      +  "maxLength": 80,
      +  "minLength": 3,
      +  "type": "string"
      +}
    • addedInput schema / properties / check_pack_version
      Added value: +{
      +  "description": "Pack version to use. Omit to use the version pinned by bounty_id, or the current version when bounty_id is absent.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedInput schema / properties / need / description
      Previous value: -"Acceptance criteria in plain words."New value: +"Acceptance criteria in plain words, drafted into checks the same way as the website, from these words and the delivery's column names only. The response lists the checks that ran; send them as criteria to repeat them exactly."
    • changedInput schema / properties / template_id / enum
      Previous value: -[
      -  "translation_glossary",
      -  "transcription",
      -  "test_suite",
      -  "merge_reconciliation",
      -  "rubric_scoring",
      -  "sourced_research"
      -]New value: +[
      +  "table_rows",
      +  "translation_glossary",
      +  "transcription",
      +  "test_suite",
      +  "merge_reconciliation",
      +  "rubric_scoring",
      +  "sourced_research"
      +]
  4. Added

TDQS

A3.9/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: nothing is stored unless save is true (which returns report_url), return values are pass/fail/could_not_verify, failed reports offer rework.api and settlement bodies, and there is a 20-free-checks/month quota with 402 terms when exceeded. This is exactly the behavioral detail annotations alone cannot convey.

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?

Front-loads the core purpose well, but it is a single dense paragraph packing sourcing modes, defaults, return values, rework/settlement, and rate limits. Much is necessary, yet the run-on structure makes it harder to scan than a segmented layout would.

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?

For a 14-parameter tool with no output schema, the description covers the key return values, storage behavior, and quota/402 behavior, making it largely complete. Minor gaps remain around the exact error/failure envelope beyond the 402 case.

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 high (86%), so the baseline is 3, but the description adds real meaning: the check_pack_slug/check_pack_version pinning logic via bounty_id, and that report_token reuses saved structure and adds a rerun delta. These clarify parameter interactions not obvious from the schema alone.

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 (check) and resource (a received file) and enumerates the six sources it can validate against. It is clearly a validation tool, though it never names a sibling (criteria_draft, contract_rerun, gate_pack) to differentiate from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes the different input modes and some conditional behavior (check_pack_version defaults), but gives no explicit guidance on when to use this versus related tools like criteria_draft or contract_rerun. Usage is implied by the mode list rather than stated.

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