Skip to main content
Glama
folder-index

folder-index

by git-raka

ocr_speed

Control OCR processing for scanned PDFs and images by setting parallel workers, background priority, or pause mode to balance speed and resource use.

Instructions

Control the OCR pass over scanned PDFs and images. mode: "turbo" = parallel workers on all CPU cores but one (capped by free RAM), normal priority, fastest; "background" = one low-priority worker (default after updates); "pause" = stop OCR until resumed. workers: override the worker count (0 = auto). A running pass hands its remaining queue over without redoing finished files.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "ocr_speed"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNoturbo
workersNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses CPU-core usage, RAM capping, process priority, pause/resume semantics, and that a running pass hands over its remaining queue without redoing finished files. It omits whether the setting persists across restarts or sessions and whether any permission is required to change a global background job.

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-loaded purpose sentence, then per-parameter semantics, then a behavioral footnote — a logical order with no filler. The mode enumeration is a dense run-on, but every clause carries distinct information the agent needs.

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?

An output schema exists, so return values need not be explained, and both parameters are fully described. The remaining gap is mutation scope — whether the setting is global or per-session and whether it survives restarts — which matters for a no-annotation control tool.

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

Parameters5/5

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

Schema coverage is 0% — no descriptions and no enum on 'mode' — so the description must supply all meaning, and it does: all three mode values are defined with their tradeoffs, and 'workers' is explained including the 0 = auto convention. This is a genuine value-add over the bare string/integer schema.

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?

Specific verb-plus-resource: 'Control the OCR pass over scanned PDFs and images' tells the agent exactly what domain is affected. The sibling tools (find_files, search_files, read_file_text, index_status) are all read/index operations, so this control tool is obviously distinct, though the description never explicitly contrasts itself with them.

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?

The description gives good guidance on choosing between modes (turbo = fastest, background = low priority, pause = stop), which implicitly tells the agent when each setting applies. However, it never states when to call this tool at all versus leaving OCR alone, nor any preconditions such as whether an OCR pass must already exist.

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