Skip to main content
Glama
david-wang-0

okular-mcp

by david-wang-0

PDF: page text, numbered lines

page_text
Read-only

Extract numbered text lines from a PDF page or range in Okular, defaulting to the current page and optionally narrowing to a line window.

Instructions

Numbered text lines of a page range.

Numbered text lines of a page range (default: the page shown in Okular); lines such as "12-30" narrows to a window. Line numbers match context.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNo
pageNo
pathNo
linesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is covered by structured data. The description adds genuinely useful behavior beyond that: the default page source (Okular's current page) and the `lines` window syntax ("12-30"). It stops short of describing output shape, but that is largely covered by the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The remainder is tight and front-loaded, but the first sentence is repeated word-for-word, so a full sentence does not earn its place. The default-page fact is also spliced awkwardly into a parenthetical mid-sentence.

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?

For a read-only tool with an output schema and no required parameters, the definition covers the essentials (default page, window filter, line-number alignment with `context`). It is still incomplete on `path` vs `page` resolution and on what the numbered output looks like when no page range is given.

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 0% and four parameters exist, so the description carries the full burden. It partially compensates by explaining `lines` ("12-30") and implying page-range pairing via `page`/`to` defaults, but `path` and the exact meaning of `to` are left entirely undocumented, leaving half the parameters opaque.

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?

The description names a concrete verb+resource ('Numbered text lines of a page range'), which is distinct from siblings like get_selection or annotations, and it explicitly ties line numbers to the `context` tool. However, the opening sentence is duplicated verbatim, which dilutes the otherwise clear statement of purpose and adds no differentiation.

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

Usage Guidelines2/5

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

It mentions the default behavior (the page shown in Okular) and that line numbers align with `context`, which is a mild routing hint, but there is no explicit when-to-use, when-not-to-use, or comparison against siblings such as get_selection or context. An agent must infer when page_text is the right call.

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