Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZOTERO_API_KEY | Yes | Your Zotero API key from https://www.zotero.org/settings/keys | |
| ZOTERO_USER_ID | Yes | Your Zotero user ID from https://www.zotero.org/settings/keys |
Capabilities
Features and capabilities supported by this server
| 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 | Search the local Zotero library. Args: query: Search query string. fulltext: If true, search full-text content including PDFs. itemtype: Filter by item type. Use || to combine types, e.g. "book || journalArticle". collection: Filter by collection key. tag: Filter by tag. Use comma-separated values for AND search, e.g. "climate,adaptation". limit: Maximum results to return (default 50). offset: Number of results to skip for pagination. Returns: JSON with count and items list. |
| get_item | Get a single Zotero item by its key. Args: key: The Zotero item key. Returns: JSON with the full item data. |
| get_children | Get child items (attachments, notes) of a Zotero item. Args: key: The Zotero item key. Returns: JSON array of child items. |
| list_collections | List all collections in the local Zotero library. Args: limit: Maximum number of collections to return (0 for all). Returns: JSON array of collections with id, name, items count, and parent info. |
| list_tags | List all tags in the Zotero library, optionally filtered by collection. Args: collection: Optional collection key to filter tags. Returns: JSON array of tag strings. |
| get_fulltext | Get full-text content of a Zotero attachment. Args: key: The key of an attachment item (not a top-level item). Returns: JSON with content, indexedPages, and totalPages. |
| find_related | Find papers related to a given paper using Semantic Scholar. Uses SPECTER2 embeddings for semantic similarity. Args: doi: DOI of the paper. limit: Maximum results (default 20, max 500). min_citations: Minimum citation count filter. check_library: If true, annotate results with local Zotero presence. Returns: JSON with count and papers list. |
| get_citations | Find papers that cite a given paper using Semantic Scholar. Args: doi: DOI of the paper. limit: Maximum results (default 100, max 1000). min_citations: Minimum citation count filter. check_library: If true, annotate results with local Zotero presence. Returns: JSON with count and papers list. |
| get_references | Find papers referenced by a given paper using Semantic Scholar. Args: doi: DOI of the paper. limit: Maximum results (default 100, max 1000). min_citations: Minimum citation count filter. check_library: If true, annotate results with local Zotero presence. Returns: JSON with count and papers list. |
| search_semantic_scholar | Search for papers on Semantic Scholar. Args: query: Search query string. limit: Maximum results (default 20, max 100). year: Year filter, e.g. "2020", "2018-2022", or "2020-". open_access: Only return open access papers. sort: Sort by "citations" or "year" (descending). min_citations: Minimum citation count filter. check_library: If true, annotate results with local Zotero presence. Returns: JSON with count, total, and papers list. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |