Skip to main content
Glama

Search items

zotero_search_items
Read-onlyIdempotent

Search your local Zotero library by title, creator, year, or full text, and filter by collection, item type, or tag to quickly find the right reference.

Instructions

Search the local Zotero library. q runs Zotero's quicksearch: qmode "titleCreatorYear" (default) matches titles, creators and years, while "everything" also matches attachment full text and notes. Filters combine: pass collectionKey to search inside one collection, itemType to restrict by type ("-attachment" excludes a type), tag to filter by tag. Omit q to browse. Returns flattened item metadata; use zotero_get_item for one item in full.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoSearch text. Omit to list items without filtering by text.
tagNoTag filter. Supports "tag1 || tag2" for OR and a leading "-" to exclude.
sortNoSort field.dateModified
limitNoMaximum number of objects to return (1-500).
qmodeNo"titleCreatorYear" searches metadata only; "everything" also searches full text and notes (slower).titleCreatorYear
sinceNoReturn only objects modified after this library version, for incremental syncing.
startNoZero-based offset for paging; pass the nextStart value from a previous call.
groupIdNoGroup library ID. Omit for the personal library ("My Library"), which is what almost every request wants. Group IDs come from zotero_list_libraries.
verboseNoReturn Zotero's raw API envelope (library block, self/alternate links, full meta) instead of the flattened object. Costs many extra tokens per object; only useful when a URL or the raw meta block is genuinely needed.
itemTypeNoItem type filter. Supports Zotero syntax: "book", "book || journalArticle", "-attachment".
directionNoSort direction.desc
topLevelOnlyNoReturn only top-level items, hiding child notes and attachments. Set false to include children.
collectionKeyNoRestrict the search to one collection.
includeTrashedNoInclude items currently in the trash.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
startYes
hasMoreYes
returnedYes
nextStartYes
totalResultsYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.0.1

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavior beyond the schema: it notes that qmode 'everything' also searches attachment full text, that filters combine, that the default topLevelOnly hides children, and that groupId defaults to the personal library. These are behavioral traits not fully captured by annotations alone.

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 compact and front-loaded with the main action and scope. The first two sentences cover the core; the rest adds useful filter and routing guidance without repeating schema details. It earns its place, though it is slightly dense and could be structured into bullet points for easier scanning.

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?

For a complex 14-parameter search tool, the description covers the essential choices: what to search, how to filter, how to handle full-text vs metadata, how to page, and when to use a sibling tool. The presence of a rich schema and detailed parameter descriptions lowers the burden, and the description fills the gaps about flattened output, browsing mode, and group library defaults.

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?

Schema coverage is 100%, so the baseline is 3. The description adds value on top by explaining the default qmode behavior, how filters combine, the meaning of the qmode 'everything' full-text expansion, and the groupId default to the personal library. It doesn't describe every parameter, but the schema already does that thoroughly; the description highlights the non-obvious semantics.

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 clear verb and resource ('Search the local Zotero library') and explicitly differentiates itself from zotero_get_item ('use zotero_get_item for one item in full'). It covers the core search-and-browse behavior, so an agent can distinguish it from sibling tools without opening the schema.

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?

It states when to omit q to browse, when to use qmode 'everything' vs metadata-only searching, and explicitly routes full-item retrieval to zotero_get_item. This gives concrete context for choosing among related sibling tools.

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

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/dvdsosa/zotero-native-mcp'

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