Skip to main content
Glama

Get attachment full text / passages (read-only)

zotero_get_fulltext
Read-only

Get PDF text from a Zotero item to ground citations. Retrieve top passages, a page span, or text head with locators, using indexed full text or direct PDF parsing.

Instructions

Retrieve an item's PDF text for grounding. Pass a parent item_key (its best PDF attachment is resolved automatically) or an attachment key. With query, returns the top relevant passages with locators (char offsets, nearest section, and a page); with page_range (e.g. "3-7"), returns that span; with neither, returns a truncated head. Text comes from Zotero's full-text index when available; when the attachment is NOT indexed yet, the PDF itself is downloaded and parsed on the fly (fallback, on by default — set fallback:false to disable), so unindexed PDFs still return text (marked fulltextSource:"pdf"). Page numbers are exact in that case, and otherwise an estimate (pageApprox) unless precise_pages:true, which re-extracts the PDF for exact pages when possible (otherwise it degrades to approximate with a notice). Read-only; cloud full text. Use this to cite a claim with a page after finding an item via zotero_search_items / zotero_semantic_search.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoReturn top passages relevant to this query.
fallbackNoWhen Zotero has no indexed full text for the attachment, download the PDF and extract it directly (default true).
item_keyYesParent item key or attachment key.
max_charsNoBest-effort cap on total returned text (default 12000); a single passage is never split, so one passage may slightly exceed it.
library_idNo
page_rangeNoPage span like "3-7" (1-based, inclusive).
library_typeNo
max_passagesNoMax passages (default 5).
precise_pagesNoRe-extract the PDF for exact page numbers.
Behavior5/5

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

Annotations already include readOnlyHint=true and openWorldHint=true, but the description adds significant behavioral detail: automatic PDF resolution, fallback download/parsing, page approximation vs exact with precise_pages, truncation behavior, and fulltextSource marking. This far exceeds what annotations alone provide.

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 a single dense paragraph that front-loads purpose and then details options. It is long but each sentence carries weight, covering modes, fallback, page precision, and use case. Slightly long, but well-structured with a clear flow from general to specific.

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?

Given 9 parameters, no output schema, and the tool's complexity, the description covers all essential aspects: input modes, output structure (passages with locators, offsets, nearest section, page), fallback behavior, page precision, and truncation. It also mentions when to use it. Complete for an agent to invoke correctly.

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?

With 78% schema coverage, the baseline is 3. The description enriches meaning for item_key (parent or attachment), query (top relevant passages), page_range (span '3-7'), fallback (on by default), precise_pages (re-extract for exact pages), and max_chars (never splits a passage). It explains behavior beyond the schema, e.g., automatic attachment resolution and page estimate behavior.

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 and resource: 'Retrieve an item's PDF text for grounding.' It clearly distinguishes its function from sibling tools by mentioning zotero_search_items and zotero_semantic_search, and explains the three modes (query, page_range, head) that make it unique.

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?

Explicit guidance is provided: 'Use this to cite a claim with a page after finding an item via zotero_search_items / zotero_semantic_search.' It also explains when fallback applies and how to get precise pages, which helps an agent decide when to use it versus 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/oscardvs/zoteus'

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