Skip to main content
Glama
imnoo-team

drawing-anonymizer-mcp

Review what the masked drawing will hide

review_masking
Read-only

Preview which drawing detections will be masked and which remain visible, including text after masking, to catch missed names and add them as terms or rectangles. Deterministic, offline iteration.

Instructions

Compose the masks for an analysed drawing exactly as mask_drawing will, without writing anything: which detections are masked (with their replacement in mode "replace") and which stay visible, custom-term matches, rectangles, the article-number stamp, the pages written, the anonymity score (0–100) with its warnings, the output file name, and visible_text_after_masking — the text a reader will still see on each page (from the PDF text layer). Use it to find leftovers (a customer name in the notes, a person the analysis missed) and add them as terms or rectangles. Deterministic and offline — iterate freely.

Input Schema

NameRequiredDescriptionDefault
maskingNoMasking settings — shared by review_masking and mask_drawing; pass the same object to both so the PDF matches the reviewed masks. Everything is optional; the defaults reproduce the web app.
drawing_idYesfrom analyze_drawing or load_analysis

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and openWorldHint=false, but the description adds substantial context: nothing is written, the run is deterministic and offline, and it enumerates exactly what the preview surfaces (masked vs visible detections, term matches, rectangles, stamp, pages, anonymity score with warnings, output file name, visible_text_after_masking). This is far beyond what the annotations convey.

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?

The purpose and the dry-run distinction are front-loaded, and the long enumerated sentence earns its length because there is no output schema. Slightly dense, with the output list packed into one very long sentence, but no filler.

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?

With no output schema, the description must explain the return payload, and it does so thoroughly (detections masked/visible, term matches, anonymity score, visible_text_after_masking, etc.). Combined with a fully documented input schema and readOnly annotations, an agent has everything needed to call it 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 description coverage is 100%, so the schema already documents every parameter (mode, terms, rectangles, etc.), and the description largely restates 'mode "replace"' rather than adding syntax or format meaning. Baseline 3 applies when the schema does the heavy lifting.

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 action (compose the masks for an analysed drawing exactly as mask_drawing will, without writing anything), which is a dry-run/preview of the sibling mask_drawing. An agent can distinguish it from analyze_drawing, load_analysis and mask_drawing 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?

Gives a concrete use case (find leftovers like a customer name in notes or a person the analysis missed, then add them as terms or rectangles) and implicit contrast with mask_drawing via 'without writing anything' and 'iterate freely'. It stops short of an explicit 'use this before mask_drawing, not instead of it' routing statement, so not a full 5.

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