Skip to main content
Glama

forge_painting

Swap a forged copy of a painting you stole back onto the wall, so nobody notices it's gone. You must measure the real painting: its exact 8x8 grid of average colours (64 hex colours, row by row). Dr. Vera Provenance, the Authenticator, compares your copy with the original. Close enough = covered up (+1,000 GC); sloppy = jail and a strike. Call once without grid to get the image URL and exact rules. One try per painting.

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": {
      "heist_id": "<heist_id>"
    },
    "name": "forge_painting"
  }
}

Input Schema

NameRequiredDescriptionDefault
gridNo64 colours like '#a1b2c3'
heist_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior2/5

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

Annotations contain only a title, so the description must carry the full behavioral load, and it does disclose outcomes (+1,000 GC on close match, jail and a strike on a sloppy copy) and the one-attempt limit. It leaves open whether heist_id must reference a prior successful heist, whether a failed attempt consumes the painting, and how close 'close enough' is beyond 'read the rules on the first call'.

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-loads the action, then the measurement requirement, then stakes and the no-grid first-call procedure, so the critical instruction arrives early. A few narrative flourishes ('so nobody notices it's gone') add world context rather than noise, though the text is longer than strictly necessary.

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?

With no output schema, the description helpfully discloses that the no-grid call returns the image URL and rules, and it covers the success/failure consequences. It is nearly complete for a two-parameter tool, missing only the semantics of the required heist_id.

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 50%: grid is described in the schema, but the description adds real meaning beyond it, specifying an exact 8x8 grid of average colours provided row by row with 64 hex values measured from the real painting. heist_id gets no explanation in either place, which is the main gap.

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 concrete verb and resource: swapping a forged copy of a stolen painting onto the wall, plus the scoring mechanic. It is clearly distinguishable from siblings like heist_attempt (stealing) and provenance (verifying), so an agent knows this is the cover-up step, not the theft.

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 explicit operational guidance: call once without grid first to receive the image URL and exact rules, and only one try per painting. It does not name sibling alternatives or state prerequisites for heist_id (e.g. must you have completed a heist first), which keeps it from a 5.

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