The Zotero MCP server acts as a bridge between personal research libraries and AI assistants. In simple terms, it allows an AI like Claude to "look into" a user's Zotero collection to find specific academic papers, books, or articles. Instead of a user having to manually copy and paste citation info or PDF text into a chat window, this tool lets the AI browse, search, and read the contents of a library directly to help with drafting bibliographies or summarizing complex research. Under the hood, this Python-based server provides three primary tools that AI agents can use sequentially to complete sophisticated tasks. The `zotero_search_items` tool identifies relevant entries via text queries, while `zotero_item_metadata` pulls detailed bibliographic data for precise referencing. Most impressively, the `zotero_item_fulltext` tool allows the AI to extract the actual text content from stored PDFs, enabling deep analysis of document contents. This functionality can be powered either by the Zotero Web API for cloud-based access or a local API for those who prefer the speed and privacy of the desktop application. For developers and researchers building custom AI workflows, this server is highly flexible and easy to deploy. It supports multiple installation methods, including Docker containers for isolated environments and `uvx` for quick local execution. By standardizing Zotero interactions through the Model Context Protocol, it eliminates the need for developers to write custom scraping or API-handling code for every research project. This makes it an essential utility for anyone wanting to give their LLM-powered applications a "scholarly memory" capable of synthesizing vast amounts of academic data with minimal friction.
Category: Files, Documents & PDFs
Tags: academic, bibliography, pdf, research, zotero
uvx (via the uv package manager) or Docker. You must first choose between the Local API or the Web API.claude_desktop_config.json (or equivalent MCP settings file for Cursor/Cline):uvx (Local API) json { "mcpServers": { "zotero": { "command": "uvx", "args": ["--upgrade", "zotero-mcp"], "env": { "ZOTERO_LOCAL": "true", "ZOTERO_API_KEY": "", "ZOTERO_LIBRARY_ID": "" } } } }PLACEHOLDER with your actual Zotero API key and User ID. json { "mcpServers": { "zotero": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "ZOTERO_API_KEY=PLACEHOLDER", "-e", "ZOTERO_LIBRARY_ID=PLACEHOLDER", "ghcr.io/kujenga/zotero-mcp:main" ] } } }ZOTERO_LOCAL: Set to true for local app access, false for web API. - ZOTERO_API_KEY: Required for Web API. - ZOTERO_LIBRARY_ID: Required for Web API. - ZOTERO_LIBRARY_TYPE: Set to user (default) or group.zotero_search_items: Search for items in your Zotero library using a text query. * zotero_item_metadata: Get detailed metadata (author, date, tags, etc.) about a specific Zotero item. * zotero_item_fulltext: Get the full text content of a specific Zotero item (e.g., PDF contents).zotero_search_items to find the papers, zotero_item_fulltext to read the PDFs, and generates a structured report.zotero_item_metadata, it can format citations in any style (APA, BibTeX, Chicago) or verify if a citation in a draft is accurate. Example: A user says, "I'm writing a paper and need the BibTeX entry for the paper by Smith about neural radiance fields." The AI searches for the item, retrieves its metadata, and outputs the perfectly formatted BibTeX code.zotero_item_fulltext tool, the AI can "read" through the user's library to find specific mentions of data points or evidence that match a natural language query. Example: A user asks, "Which paper in my library mentioned a 15% increase in efficiency using the 'Green-Algorithm'?" The AI searches for likely candidates, checks their full text, and replies: "That was 'Sustainable AI' by Jones et al. (2022), located in the Results section on page 4."Part of MCP Servers