Skip to main content
Glama

zotero_get_item_children

Retrieve child items like attachments and notes for a parent Zotero item. Use this to find the PDF/EPUB attachment key needed for annotation or outline tools.

Instructions

List the child items (attachments, notes, and annotations that are direct children of the attachment) of ONE parent Zotero item. Use this to find an item's PDF/EPUB attachment key before calling zotero_create_annotation, zotero_create_area_annotation, or zotero_get_pdf_outline — all of which take an attachment key, NOT the parent item key. If you need children for several items at once, use zotero_get_items_children (one batched API call instead of N). item_key: the parent item's 8-character key. Returns parent-child structure as markdown: each attachment with its content type and filename, each note with its title. Scope: active library only. Example: zotero_get_item_children(item_key='RTKZQI8E') → its PDF attachment key + any notes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
item_keyYesZotero item key/ID

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses return format (markdown with content type and filename) and scope (active library only). Lacks explicit statement of being read-only, but context implies no mutation.

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

Conciseness5/5

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

Concise at 3-4 sentences, front-loaded with action. Includes a concrete example and alternative tool. Every sentence adds value.

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?

Covers purpose, usage, alternative, parameter format, return format, and scope. With an output schema present, description does not need to detail returns further. Complete for the tool's simplicity.

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

Parameters4/5

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

Input schema has 100% coverage with parameter description. Description adds extra context: specifies the key is 8-character and belongs to the parent item, adding value beyond schema.

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?

Description clearly states the tool lists child items (attachments, notes, annotations) of a single parent Zotero item. It explicitly differentiates from sibling tool zotero_get_items_children by noting the batched alternative.

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?

Provides explicit when-to-use guidance: before calling annotation and PDF outline tools to get an attachment key. Also states when-not: if multiple items, use batched sibling. No ambiguity.

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/54yyyu/zotero-mcp'

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