zotero-comfort
Provides tools for searching papers, managing collections, retrieving metadata and fulltext, performing semantic search, building reading lists, smart adding papers with duplicate check, exporting bibliographies, and finding related papers in Zotero.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zotero-comfort build a reading list on machine learning in healthcare"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zotero Comfort
High-level Zotero MCP integration with smart research workflows.
Overview
Zotero Comfort provides two layers of functionality:
A) Proxy Layer - Direct re-exposure of 54yyyu/zotero-mcp tools with a clean Python API.
B) Smart Workflows - High-level orchestrations for common research tasks.
Related MCP server: Zotero Agent
Installation
pip install zotero-comfortOr with Docker:
docker build -t zotero-comfort .
docker run -e ZOTERO_API_KEY=xxx -e ZOTERO_LIBRARY_ID=123 zotero-comfortConfiguration
Set environment variables:
export ZOTERO_API_KEY="your-api-key"
export ZOTERO_LIBRARY_ID="your-library-id"
export ZOTERO_LIBRARY_TYPE="group" # or "user"Usage
As Python Library
from zotero_comfort import ZoteroProxy, ZoteroWorkflows
# Proxy layer - direct tool access
proxy = ZoteroProxy()
papers = proxy.search_papers("FHIR interoperability", limit=20)
metadata = proxy.get_metadata("ABC12345")
# Smart workflows - high-level operations
workflows = ZoteroWorkflows()
reading_list = workflows.build_reading_list("clinical NLP", max_papers=15)
result = workflows.smart_add_paper("10.1234/example.2024")
bibtex = workflows.export_bibliography(collection_name="FHIR")As MCP Server
Add to your Claude configuration:
{
"mcpServers": {
"zotero-comfort": {
"command": "zotero-comfort",
"env": {
"ZOTERO_API_KEY": "your-key",
"ZOTERO_LIBRARY_ID": "your-library-id"
}
}
}
}Available Tools
Proxy Layer (A)
Tool | Description |
| Search papers by keyword |
| Get paper details |
| List all collections |
| Get items in collection |
| Get paper full text |
| AI-powered semantic search |
Smart Workflows (B)
Tool | Description |
| Create curated topic reading list |
| Add paper with duplicate check |
| Export as BibTeX |
| Find semantically similar papers |
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Lint
ruff check src/License
MIT
Available Tools
17 toolsbuild_reading_listC
Build a curated reading list for a research topic
Inputs: topic (required), min_year, max_papers.
export_bibliographyC
Export papers as BibTeX bibliography
Inputs: tag, collection_name.
get_library_statusA
Get status of configured libraries (group and personal)
Inputs: no named parameters.
search_arxiv_to_collectionB
Search arXiv and add results to a Zotero collection
Inputs: query (required), collection_name (required), max_results, create_collection.
search_group_libraryA
Search for papers in the group (shared team) library
Inputs: query (required), limit.
search_multi_source_to_collectionC
Search multiple sources (PubMed, arXiv) and combine results in a Zotero collection
Inputs: query (required), collection_name (required), sources, create_collection, +1 more.
search_personal_libraryB
Search for papers in your personal library
Inputs: query (required), limit.
search_pubmed_to_collectionB
Search PubMed and add results to a Zotero collection
Inputs: query (required), collection_name (required), max_results, create_collection.
set_default_libraryB
Set the default library for operations
Inputs: library (required).
smart_add_paperA
Add paper from DOI with duplicate checking and optional collection/tag assignment. Without collection_name, this is a dedup/metadata probe; with collection_name, the paper is fetched from Crossref and written to Zotero, or (if already in library) attached to the target collection without creating a duplicate record.
Inputs: doi (required), tags, collection_name, check_duplicates.
zotero_get_collection_itemsB
Get all items in a specific collection
Inputs: collection_key (required).
zotero_get_fulltextC
Get full text content of a paper
Inputs: item_key (required).
zotero_get_metadataB
Get detailed metadata for a specific paper
Inputs: item_key (required).
zotero_list_collectionsA
List all collections in the Zotero library
Inputs: no named parameters.
zotero_searchB
Search for papers in Zotero library by keyword
Inputs: query (required), limit.
zotero_semantic_searchC
AI-powered semantic search for similar papers
Inputs: query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 17 tools
Multiple search tools overlap: zotero_search, search_personal_library, search_group_library, zotero_semantic_search, and find_related_papers have unclear boundaries. Also zotero_semantic_search and find_related_papers both appear to provide similar-paper semantic search.
Most names are snake_case and verb_noun, but prefix usage is inconsistent: zotero_* is mixed with bare search_* and action-style names like build_reading_list, smart_add_paper, and export_bibliography. Some near-duplicate functions have very different naming (zotero_semantic_search vs find_related_papers).
17 tools is slightly above the typical well-scoped range, but the domain (search, collection management, external import, bibliography export, library configuration) justifies most of the surface. The extra weight comes from some redundant search variants rather than truly unnecessary tools.
The server covers searching, metadata, fulltext, collection listing, external imports, and export, but lacks essential library management operations such as updating or deleting items, creating/deleting collections, and tag management. Common Zotero workflows still have noticeble gaps.
Maintenance
Related MCP Connectors
Zotero MCP server for Claude and ChatGPT: search, citations, safe writes, PDF passages and pages.
Remote MCP server for full read/write access to a Zotero library
Federated search of books and papers, BibTeX/RIS citations, open-access retrieval and reading.
Citations, abstracts, PDFs, as one MCP tool through Apify
1
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server that exposes 45 tools for Zotero reference management, enabling AI agents to read/write items, search, extract PDF text, and manage workspaces via the Zotero CLI.221AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceAn MCP server that embeds into Zotero, enabling AI agents to search, manage, enrich metadata, import papers, and automate research workflows through 42 tools including PDF retrieval and annotation synthesis.9MIT
- FlicenseAqualityDmaintenanceAn MCP server for the Zotero Web API v3 that lets you search, read, and write items, collections, tags, and notes in a Zotero library, supporting literature-review workflows.9-
- AlicenseAqualityAmaintenanceEnables MCP clients to search a Zotero library, read items, take notes, organize collections, and perform semantic search over PDFs.8MIT