Wellread vs Zotero Library MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Wellread vs Zotero Library MCP
In-depth architectural comparison of the Wellread and Zotero Library MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Wellread
Research · Local stdio
Quality: 47/100 (Fair) | Auth: No auth required
Zotero Library MCP
Research · Local stdio
Quality: 60/100 (Good) | Auth: No auth required
Verdict Summary: Choose Wellread if you need specialized Research tools running via a local process. Choose Zotero Library MCP if your workspace requires Research integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Wellread when:
You need dedicated capabilities in the Research domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
Primary tools included: Shared semantic research cache, Complete and partial result handling, Freshness intervals by topic volatility.
Shared research cache across AI agents. Hit → instant answer from verified sources. Miss → your research saves the next dev's tokens. npx wellread, free.
Add papers and books to Zotero by DOI, arXiv ID, or ISBN and manage your library
List the key owner's personal library and a page of shared group libraries.
Use the returned library_id and library_type on subsequent tool calls.
This does not change the default library. Pagination applies to groups;
the personal library is included on each page. Key permissions are not a
guarantee of group membership rights; Zotero enforces access on each call.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Wellread is categorized under Research and uses a local stdio subprocess. In contrast, Zotero Library MCP belongs to Research using local stdio subprocess. Select Wellread when you need capabilities focused on research and Zotero Library MCP when you require tools for research.
Add a paper to your Zotero library by its DOI.
Resolves metadata automatically via CrossRef and creates the item in Zotero.
Optionally add it to a specific collection.
Args:
doi: The DOI of the paper (e.g. "10.1038/nature12373")
collection_id: Optional Zotero collection key to add the paper to
Pass both library_id and library_type to target another library;
omit both to use the configured default.
add_papers_by_dois
Add multiple papers to Zotero by their DOIs (batch, up to 50).
Args:
dois: List of DOIs to add
collection_id: Optional Zotero collection key to add all papers to
Pass both library_id and library_type to target another library;
omit both to use the configured default.
add_paper_by_arxiv_id
Add a paper to your Zotero library by its arXiv ID.
Fetches metadata from the arXiv API. If the paper has a DOI, resolves it
via CrossRef for richer metadata; otherwise creates a preprint entry directly.
Optionally add it to a specific collection.
Args:
arxiv_id: The arXiv ID of the paper (e.g. "2301.07041")
collection_id: Optional Zotero collection key to add the paper to
Pass both library_id and library_type to target another library;
omit both to use the configured default.
add_book_by_isbn
Add a book to your Zotero library by its ISBN.
Resolves metadata automatically via Open Library and creates the item in Zotero.
Optionally add it to a specific collection.
Args:
isbn: The ISBN of the book (e.g. "9780262046824")
collection_id: Optional Zotero collection key to add the book to
Pass both library_id and library_type to target another library;
omit both to use the configured default.
add_item_from_metadata
Add an item from manual, CSL-like, or previously parsed metadata.
The Zotero item template determines which fields are accepted for the
requested item type, preventing invalid cross-type metadata.
Pass both library_id and library_type to target another library;
omit both to use the configured default.
get_unfiled_items
Get items that are not in any collection (unfiled items).
Args:
limit: Maximum number of items to return (default 25)
Pass both library_id and library_type to target another library;
omit both to use the configured default.
search_library
Search your Zotero library. Falls back to fuzzy matching if the
exact search returns no results.
Args:
query: Search query (searches titles, authors, tags, etc.)
limit: Maximum number of results per page (default 10, max 100)
start: Offset of the first result; pass the value suggested by the
previous call's footer to fetch the next page (default 0)
Pass both library_id and library_type to target another library;
omit both to use the configured default.
get_item_details
Get full details of a Zotero item by its key.
Args:
item_key: The Zotero item key
Pass both library_id and library_type to target another library;
omit both to use the configured default.
get_bibtex
Export BibTeX entries from your Zotero library.
Can export specific items, an entire collection, or your whole library.
Use save_bibtex when the export should be written to a local file.
Args:
item_keys: Optional list of item keys to export. If omitted, exports collection or full library.
collection_id: Optional collection key to export all items from.
include_abstract: Include abstracts in BibTeX output (default False to save tokens).
biblatex: Convert output to BibLaTeX format (default False). Remaps fields like journal→journaltitle, address→location, and merges year+month into date.
max_chars: Maximum response size; use save_bibtex for larger full-library exports
Pass both library_id and library_type to target another library;
omit both to use the configured default.
save_bibtex
Export BibTeX or BibLaTeX and atomically write it to a local file.
Path writes are available by default over local stdio. HTTP deployments
must explicitly allow a confined file root.
Pass both library_id and library_type to target another library;
omit both to use the configured default.
get_item_fulltext
Get bounded plain text from a paper's PDF or Zotero full-text index.
Unlike download_pdf, this returns readable text directly and never
exposes a server-local temporary path.
Args:
item_key: The Zotero item key (the parent item, not the attachment)
attachment_key: Optional PDF attachment key when an item has several PDFs
max_chars: Maximum number of characters to return (1,000-200,000)
Pass both library_id and library_type to target another library;
omit both to use the configured default.