Zotero MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_libraryA | List collections and papers in the Zotero library. Optionally filter by collection name, paper title, or author. Each paper line includes its item key in [KEY] brackets — use that key in paper_details or paper_text. |
| paper_detailsA | Get full metadata for a paper by its item key. Obtain the item_key from list_library output (shown as [KEY] before each paper) or from search_papers results. |
| paper_textA | Extract full text from a paper's PDF using pdftotext. Obtain the item_key from list_library output (shown as [KEY] before each paper) or from search_papers results. |
| search_papersA | Search papers by title or author and return structured results with item keys. Each result includes key, title, type, year, first_author, authors, and url. Use the key in paper_details or paper_text to get full metadata or PDF text. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
The tools are mostly distinct: list_library for browsing, search_papers for targeted search, paper_details for metadata, and paper_text for PDF content. However, list_library and search_papers both filter by title/author, which could cause some confusion.
The naming mixes verb_noun patterns (list_library, search_papers) with noun_noun patterns (paper_details, paper_text). While the paper_* prefix helps, the overall convention is not fully consistent.
With only 4 tools, the server is well-scoped for its purpose of accessing a Zotero library. Each tool is essential and there is no unnecessary bloat.
The tool set covers the core read workflow: discovering papers (list/search), retrieving full metadata, and extracting PDF text. Missing write operations and a dedicated collection endpoint are minor gaps that agents can work around.