Skip to main content
Glama
deckflow

DeckProbe MCP Server

Official
by deckflow

Probe a document

probe
Read-onlyIdempotent

Get document facts—page/slide counts, metadata, security signals, structure, and integrity—from local PDF, Office, and iWork files without opening or rendering them. Use @security to triage untrusted documents.

Instructions

Read facts about one local PDF, Microsoft Office, or Apple iWork document without opening or rendering it: page, slide, and sheet counts; title, author, and dates; encryption, macro, signature, and active-content signals; structure; embedded assets; and integrity. Handles .pdf, .docx/.xlsx/.pptx, legacy .doc/.xls/.ppt, and modern .key/.numbers/.pages.

Start with targets ["@summary"], or ["@security"] to triage an untrusted file. Prefer this over unzipping the document or parsing its bytes by hand.

Reports facts ABOUT the document, never its text: it does not extract, render, run macros, follow external references, or open a network connection.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the document. The filename extension selects the format driver, and the container is then verified against it.
viewNoreport: full evidence — value, confidence, path, and cost per target. values: a compact target-to-value map.
levelNoProbe budget and eligible paths. header: identity only. metadata (default). deep: higher-cost paths, needed only when a target's min_level says so.
budgetNoOverride the level's resource limits. Raise after a BUDGET_EXCEEDED error.
targetsNoShort names (slide_count), canonical names (powerpoint.slide_count), or presets: @header, @summary, @security, @structure, @assets, @quality, @format, @all. Defaults to the driver's own set. Call list_targets rather than guessing a name. @summary omits statistics needing a full-file read, so ask for a PDF's page_count explicitly.
min_confidenceNoWeakest evidence a path may offer. Default high; lower it to accept an approximation.
target_confidenceNoPer-target override, e.g. {"slide_count": "exact"} to force the authoritative path.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNo
schema_versionNo
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds critical behavioral context beyond those hints: it does not extract, render, run macros, follow external references, or open a network connection; it handles legacy formats; it can hit resource limits (referenced by 'Raise after a BUDGET_EXCEEDED error'). This is exactly the kind of non-obvious behavior an agent needs to trust the tool with untrusted files.

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 description is well-structured: opening scope sentence, format list, usage hint, and a final 'does not' sentence. It is front-loaded with the core purpose and scoping. It earns its sentences; only a minor redundancy exists (the 'Prefer this over...' sentence partially repeats the 'does not' list). Not a 5, but far above the typical terse 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 tool with 7 parameters, nested budget object, output schema present, and complex behavior (format drivers, confidence levels, presets, resource limits), the description provides substantial orientation: preset suggestions, the @summary caveat, the budget-error hint, and a clear non-extraction guarantee. The description does not explain what each target means, but it correctly defers to list_targets. So it's complete enough without being exhaustive.

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 description coverage is 100%, so the schema already documents all 7 parameters well. The description adds important cross-references that the schema alone does not capture: the distinction between @summary and full-read statistics, the warning that @summary omits page_count so ask explicitly, and that list_targets should be used rather than guessing names. This goes beyond a baseline 3 by explaining how the parameters interact with presets and the driver's default set.

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 opens with a specific verb ('Read facts about one local PDF, Microsoft Office, or Apple iWork document') plus a precise resource list (page/slide/sheet counts, title/author/dates, encryption, macros, structure, assets, integrity). The scope is explicit: it reports facts ABOUT the document, never extracts text, renders, runs macros, or opens connections. It also names sibling tools (list_targets, probe_batch) and distinguishes from unzipping/byte-parsing by hand. This is clear and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises 'Start with targets ["@summary"], or ["@security"] to triage an untrusted file.' and 'Prefer this over unzipping the document or parsing its bytes by hand.' It also warns about @summary omitting statistics and instructs to 'Call list_targets rather than guessing a name.' This provides direct when-to-use and when-not-to-use guidance, plus pointers to alternatives.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deckflow/deckprobe-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server