Skip to main content
Glama
@guardbee/mcp-security-proxy

@guardbee/mcp-security-proxy

Official

document_scanner__scan_document

Scans PDFs, images, and text files for PII and credentials before they are sent to an LLM, using OCR for scanned pages and screenshots.

Instructions

Find PII (TC Kimlik No, IBAN, card, passport, e-mail, phone, address…) and credentials inside a PDF, an image (screenshot, scanned page) or a text file on disk, before it is given to an LLM. PDFs are read from their text layer; images and scanned pages with OCR (Turkish and English).

Input Schema

NameRequiredDescriptionDefault
ocrNoOCR images and PDF pages without a text layer (default true; needs tesseract.js)
pathYesPath to a file, or a folder to scan every PDF and image in it
includeNoOpt-in detectors: ip_address, mac_address, plate_tr
languagesNoTesseract languages, default ["tur", "eng"]

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.5
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Addedv0.1.1

TDQS

A4.1/5.0
Behavior4/5

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

No annotations exist, so the description carries full disclosure burden, and it does disclose the important non-obvious behavior: PDFs are read from the text layer, while images and scanned pages go through OCR in Turkish and English. That tells an agent how results are produced and why a scan may miss text in embedded/scanned PDFs. It still omits that the operation is read-only/non-mutating and gives no hint about output shape or limits.

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?

Two dense sentences, no wasted clauses. The purpose and detector coverage come first, followed by the medium-specific processing behavior. Front-loaded and appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description is the only place an agent could learn what a scan returns. It never says whether results are a list of findings with line numbers, severities, or masked snippets, which is a notable gap for a scanner. Input-side completeness is adequate given 100% schema coverage.

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 baseline of 3 applies. The description adds some meaning by naming the PII/credential categories, but those are default detectors, not the opt-in include enum values (ip_address, mac_address, plate_tr), which remain documented only in the schema. No syntax, path format, or default details are added beyond the schema.

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 verb (Find) plus the exact resource categories it scans for (PII: TC Kimlik No, IBAN, card, passport, e-mail, phone, address, plus credentials) and the exact container types (PDF, image, text file on disk). An agent can distinguish this from sibling scanners like document_scanner__scan_base64 or a2a_auditor__scan_file without opening the 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?

Provides a clear use case and timing: 'before it is given to an LLM.' That is genuine guidance on when this tool fits. However, it never names an alternative (e.g., document_scanner__scan_base64 or document_scanner__list_detectors) or states when not to use it, so it stops short of explicit routing.

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

Deploy Server

Other Tools