Skip to main content
Glama
jacksenechal

scan-mcp

by jacksenechal

start_scan_job

Starts a scanner scan job, auto-selecting the device and applying default settings when omitted, with support for ADF/duplex and document batching.

Instructions

Start a scan job; auto-selects device and fills defaults when omitted

Input Schema

NameRequiredDescriptionDefault
duplexNo
sourceNo
tmp_dirNo
device_idNo
page_sizeNo
color_modeNocolor_mode defaults to Lineart (document-first); at >= 600dpi it defaults to Color, since high-dpi capture usually means artwork/photos where 1-bit destroys information. Pass color_mode explicitly to override either default; high dpi is the only signal used.
output_formatNo
custom_size_mmNo
resolution_dpiNo
doc_break_policyNo
crop_carrier_sheetsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It does disclose one real trait — that device_id is auto-selected and other fields are defaulted when omitted — but says nothing about whether the call blocks or returns immediately, where output lands (tmp_dir), error behavior, or what identifier is returned for later polling.

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?

A single front-loaded clause with zero filler; the behavioral hint about auto-selection follows immediately. It is efficient, though the brevity arguably reflects under-specification rather than disciplined trimming.

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

Completeness2/5

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

For an 11-parameter job-creation tool with nested objects, no annotations, and no output schema, one sentence is far too thin. An agent cannot tell from the description how to drive the duplex/source interaction, what the defaults actually are, or how to follow up on the returned job.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 9% across 11 parameters, including two nested objects (doc_break_policy, custom_size_mm) and overlapping concepts like duplex vs. source="ADF Duplex". The description mentions omitted parameters in general and device selection, but adds no meaning about duplex, page_size, resolution_dpi, or doc-break behavior, so it does not compensate for the coverage gap.

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 and resource ("Start a scan job") that is clearly distinct from siblings such as get_job_status, cancel_job, and list_jobs. It stops short of explicitly contrasting with alternatives, but the purpose is unambiguous.

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

Usage Guidelines3/5

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

Implies the call is safe to make with no arguments because device selection and defaults are automatic. It never states prerequisites (e.g., use get_device_options first to override defaults) or when a different tool (get_job_status, cancel_job) is the right next step.

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