Skip to main content
Glama

Questa Privacy MCP

Anonymize document

anonymize_document

Anonymize text or files (pdf/docx/csv/xlsx) under GDPR, HIPAA, EU AI Act, or CUSTOM. Parameters include upload_id (from upload_file_chunk), filename, file_base64, job_id, file_path, text, regime. After chunk upload, call this with upload_id + filename + regime. Excel jobs can take a few minutes; if status is running, call get_anonymize_job with the returned job_id — do not re-upload. Never paste file bytes in chat. Default regime GDPR.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoInline text only when the user pasted text, not a file
job_idNoExisting anonymize job to fetch or resume (do not re-upload)
regimeYes
filenameNoOriginal filename with extension, required with file_base64 or upload_id
file_pathNoLocal absolute path only when this MCP server can read the same disk. Do not use Claude/Cowork workspace paths.
upload_idNoID returned by upload_file_chunk when complete=true
file_base64NoRaw file bytes as base64 in this tool argument only — never in chat. Length of tens of thousands of characters is expected.
custom_entitiesNoEntity types when regime is CUSTOM

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / filename / description
      Previous value: -"Original filename with extension, required with file_base64"New value: +"Original filename with extension, required with file_base64 or upload_id"
    • addedInput schema / properties / job_id
      Added value: +{
      +  "description": "Existing anonymize job to fetch or resume (do not re-upload)",
      +  "type": "string"
      +}
    • changedInput schema / properties / upload_id / description
      Previous value: -"ID from upload_file_chunk after all chunks are complete"New value: +"ID returned by upload_file_chunk when complete=true"
  2. Changed2 schema fields changed
    • changedInput schema / properties / file_base64 / description
      Previous value: -"Raw file bytes as base64 (not extracted cell text). Use this for Claude/Cowork attachments."New value: +"Raw file bytes as base64 in this tool argument only — never in chat. Length of tens of thousands of characters is expected."
    • addedInput schema / properties / upload_id
      Added value: +{
      +  "description": "ID from upload_file_chunk after all chunks are complete",
      +  "type": "string"
      +}
  3. Changed4 schema fields changed
    • addedInput schema / properties / file_base64
      Added value: +{
      +  "description": "Raw file bytes as base64 (not extracted cell text). Use this for Claude/Cowork attachments.",
      +  "type": "string"
      +}
    • changedInput schema / properties / file_path / description
      Previous value: -"Absolute path to pdf/docx/csv/xlsx"New value: +"Local absolute path only when this MCP server can read the same disk. Do not use Claude/Cowork workspace paths."
    • addedInput schema / properties / filename
      Added value: +{
      +  "description": "Original filename with extension, required with file_base64",
      +  "type": "string"
      +}
    • changedInput schema / properties / text / description
      Previous value: -"Inline text when no file_path"New value: +"Inline text only when the user pasted text, not a file"
  4. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, so safety is partly covered. The description adds genuinely new behavior: Excel jobs are long-running, jobs return a job_id to poll, and re-uploading is discouraged. Payload handling ('never paste file bytes in chat') and the default regime are useful operational details beyond the annotations.

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 core capability, then flows into workflow and caveats in a compact block. The sentence 'Parameters include upload_id...' is somewhat redundant with the schema but is short enough not to bloat the definition.

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 multi-input async tool with no output schema, the description supplies the critical missing pieces: which input mode to use (upload vs inline text vs path), the async polling behavior, and the job_id return. Only the return payload shape (e.g. status fields) is left implicit, which keeps it short of a 5.

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 88%, so parameters are already well documented in the schema. The description enumerates the parameter names and clarifies the upload_id workflow, but this largely restates what the schema's per-parameter descriptions already say, so the baseline 3 applies.

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 (anonymize) plus the resources it accepts (text or pdf/docx/csv/xlsx files) and the compliance regimes it supports, so the agent knows exactly what the tool produces. It does not, however, distinguish itself from the sibling redact_pii, which an agent could plausibly confuse with anonymization.

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 workflow ('After chunk upload, call this with upload_id + filename + regime') and names an alternative with its triggering condition ('if status is running, call get_anonymize_job ... do not re-upload'), which is strong when-to-use guidance. It stops short of explaining when to prefer this over the redact_pii sibling.

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