MCP Zotero
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Host to bind the MCP server (default: 127.0.0.1) | |
| MCP_PORT | No | Port to bind the MCP server (default: 8000) | |
| MCP_LOG_LEVEL | No | Logging level (default: INFO) | |
| MCP_TRANSPORT | No | Transport protocol: 'streamable-http' (default) or 'stdio' | |
| ZOTERO_API_KEY | Yes | A read-only Zotero API key with access to the group and its files | |
| ZOTERO_GROUP_ID | Yes | Zotero group ID (find from the URL) | |
| ZOTERO_MAX_RETRIES | No | Maximum retries for Zotero API requests (default: 3) | |
| ZOTERO_TIMEOUT_SECONDS | No | Timeout in seconds for Zotero API requests (default: 30) | |
| MCP_MAX_TEXT_CHARACTERS | No | Maximum characters returned from get_paper_text (default: 12000) | |
| ZOTERO_MAX_SEARCH_PAGES | No | Maximum search pages for Zotero API (default: 20) |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_papersA | Search paper metadata and Zotero-indexed full text with a phrase query. Attachment, note, and annotation matches are resolved to their parent paper. The result does not claim which attachment field matched. Use get_paper_text with a returned attachment key to inspect synchronized PDF text. |
| get_paperA | Get a paper's complete Zotero metadata and attachment list. |
| get_paper_textA | Read bounded text from Zotero's synchronized full-text endpoint. This tool does not download or parse the PDF. Zotero does not provide reliable page boundaries, so returned segments use character offsets. |
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 3 tools
Each tool has a clear, distinct purpose: searching, retrieving full text, and fetching metadata. No overlap or ambiguity.
All tools follow a consistent verb_noun pattern (search_papers, get_paper_text, get_paper) with clear actions and targets.
Three tools is well-scoped for a focused read-only Zotero server, covering the essential operations without redundancy.
Covers the primary use cases of searching and retrieving papers, but lacks management operations (e.g., create, update, delete) which may be outside the intended scope. Minor gap for full CRUD, but adequate for a search/retrieval tool.