Skip to main content
Glama
devrobotlabs

@devrobotlabs/visionapi-mcp

Official
by devrobotlabs

Ask questions about an image or PDF

vision_ask

Ask up to five plain-language questions about one image or PDF and get verdict-based answers (yes, no, uncertain, n/a) with confidence levels, turning visual judgment calls into decisions.

Instructions

Ask up to 5 plain-language questions about ONE image or PDF and get answers with a verdict.

Cost: 1 credit per image, and 1 per selected PDF page — half what extraction costs on a PDF, because the answer does not scale with the page. The questions themselves are free: asking five costs exactly what asking one costs. Failures cost NOTHING.

Reach for this over vision_analyze when the answer is a judgement rather than a field — "is this signed?", "does the delivery address match the billing address?", "is anyone wearing safety equipment?". Reach for vision_analyze when you want values you will store or compute with; asking for a total and then parsing the prose is slower, dearer and less reliable than extracting it.

Reading what comes back: branch on verdict, never on the prose.

  • "yes" / "no" — the images settle it.

  • "uncertain" — a yes/no question the images genuinely do not settle. Treat it as missing information, not as a "no".

  • "n-a" — the question was not a yes/no question; the answer is in the prose. Each verdict carries a confidence, shown as "(mid)" or "(low)"; no marker means high.

Answers are at document level, not per page. Long documents behave exactly as in vision_analyze — leave mode at "auto", or pass "async" up front past ~10 pages.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoauto (default) — try synchronously, and if the server times out at 60 s, resubmit to the queue and poll. The timed-out attempt refunds itself, so this costs one charge, not two. sync — fail rather than fall back. async — go straight to the queue. Pass this up front for anything over roughly 10 pages.auto
pagesNoPDF page selection, e.g. "1-3,7". You are charged for selected pages only, so this is the cheap way to sample a long document.
detailNo"high" renders pages at higher resolution for dense or low-quality scans. Same credit cost, slower.
formatNomarkdown (default) — compact, readable, absent fields summarised rather than repeated. compact_json — the same information as data, with _not_found and _low_confidence arrays, for when you will parse it. json — the API response verbatim; use it when you are writing HTTP code against the contract.markdown
file_urlNoPublic HTTPS URL the API fetches itself. Private and internal addresses are refused by the server.
file_pathNoAbsolute or relative path to a file on the user's disk. Must be inside a directory this server was given access to — the error names them if it is not.
max_charsNoCeiling on transcription text in the response. Raise it only if you truly need more than 20 000 characters.
questionsYesUp to 5 questions about the file. The questions themselves are free — asking five costs the same as asking one.
language_hintNoISO 639-1 code, e.g. "es". Auto-detected when omitted; only worth setting when detection is getting it wrong.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.0.0

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description explains cost behavior (per image/per page, failures cost nothing), the verdict semantics ('yes'/'no'/'uncertain'/'n-a'), confidence markers, document-level answers, and the auto/sync/async fallback behavior. This gives a clear mental model of what will happen when the tool runs.

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 lengthy but well structured with distinct sections for purpose, cost, usage guidance, and reading the output. Every paragraph earns its place, though the sentence on max_chars duplicates the schema's message and could be trimmed without meaningful loss.

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?

Even without an output schema, the description fully explains the response format and semantics: branch on verdict, the meaning of each verdict value, confidence markers, and document-level scoping. It also covers cost, page selection, and long-document modes, making the tool self-contained for selection and invocation.

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 coverage is 100% with thorough parameter descriptions. The tool-level description mainly restates information already present in the schema, such as pages being charged per selected page and questions being free. It adds almost no new parameter-level meaning beyond what the input schema already provides.

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 'Ask up to 5 plain-language questions about ONE image or PDF and get answers with a verdict.' This is a specific verb+resource+scope statement. It also explicitly contrasts with vision_analyze by naming that tool, so sibling differentiation is clear.

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 provides explicit when-to-use guidance: 'Reach for this over vision_analyze when the answer is a judgement rather than a field' and the reverse. It also gives concrete context for mode and pages, such as passing 'async' up front past ~10 pages.

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

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/devrobotlabs/visionapi-mcp'

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