Skip to main content
Glama

Submit the signed physical proof (step 2 of 2)

submit_physical_proof

Relay the signed physical proof to the same public door any HTTP client uses (POST /labor/work/:workId/physical-proof): pass workId, the BODY_JSON from prepare_physical_proof UNCHANGED, and the signature over MESSAGE_TO_SIGN. FREE with a valid signature from the claiming wallet. It records the photo hashes and the on-site GPS against the packet's 350 m place; a far GPS is flagged for the human, never auto-rejected. NOBODY IS PAID by this call and nothing is accepted: the packet's creator signs the verdict, never the worker.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id, the same one prepare_physical_proof was given.
bodyJsonYesThe exact BODY_JSON string from prepare_physical_proof, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false), the description adds critical behavioral details: it records photo hashes and GPS, flags far GPS for human review without auto-rejection, and clarifies that nobody is paid and nothing is accepted. This fully explains the side effects and non-effects, which is especially important given the sparse annotations.

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?

The description is concise and efficiently structured. It front-loads the core action and endpoint, then covers the required inputs, the free nature, the GPS behavior, and the payment/acceptance caveats—all in a few sentences with no filler. Every sentence adds critical information.

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?

Given the tool's complexity (a two-step submission with signature and GPS checks), the description is complete. It explains the endpoint, the required inputs, the free nature, the GPS flagging behavior, and the payment/acceptance caveats. An output schema exists, so return values need not be described. An agent can confidently invoke this tool correctly.

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 coverage is 100%, meaning each parameter has a descriptive string. The description echoes the schema ('UNCHANGED', 'over MESSAGE_TO_SIGN') without adding substantial new meaning. It reinforces the need to pass bodyJson unchanged, but that is already in the schema. The description adds no new parameter-specific semantics beyond the schema, so a baseline of 3 is appropriate.

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?

The description clearly states the action: relaying the signed physical proof via a specific HTTP endpoint (POST /labor/work/:workId/physical-proof). It distinguishes from siblings by referencing prepare_physical_proof (step 2 of 2) and explicitly stating that nothing is paid or accepted, which differentiates it from other submit_* tools that handle payments or acceptances.

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?

The description provides strong usage context: it is step 2 of a two-step process, and it explicitly says to pass the BODY_JSON from prepare_physical_proof unchanged. It also clarifies that the call is free and does not pay or accept the work. However, it does not explicitly name alternative tools or state when not to use it, only implying that it follows prepare_physical_proof.

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