what is Zotero MCP Server?
Zotero MCP Server is a Model Context Protocol (MCP) server that integrates with Zotero, enabling AI applications to access and manipulate Zotero libraries.
how to use Zotero MCP Server?
To use the Zotero MCP Server, clone the repository, set up a virtual environment, install dependencies, configure your Zotero API credentials, and run the server to listen for JSON-RPC requests.
key features of Zotero MCP Server?
- Search for items in Zotero libraries
- Retrieve citations and bibliographies
- Add new items to Zotero libraries
- Access collections and items
- Support for both personal and group libraries
use cases of Zotero MCP Server?
- Integrating Zotero with AI applications for automated citation management.
- Building tools that require access to bibliographic data from Zotero.
- Enhancing research workflows by automating item retrieval and citation generation.
FAQ from Zotero MCP Server?
- Can Zotero MCP Server work with group libraries?
Yes! You can configure it to access both personal and group libraries.
- Is there a guide for integrating with AI applications?
Yes! Detailed examples are provided in the
USAGE_GUIDE.md
file.
- What programming language is Zotero MCP Server written in?
Zotero MCP Server is written in Python.
Zotero MCP Server
A Model Context Protocol (MCP) server that integrates with Zotero, allowing AI applications to access and manipulate Zotero libraries.
Features
- Search for items in Zotero libraries
- Get citations and bibliographies
- Add new items to Zotero libraries
- Access collections and items
- Support for both personal and group libraries
Installation
-
Clone the repository:
git clone https://github.com/your-username/zotero-mcp-server.git cd zotero-mcp-server
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- On Linux/macOS:
source venv/bin/activate
- On Windows:
venv\Scripts\activate
- On Linux/macOS:
-
Install dependencies:
pip install -r requirements.txt
Configuration
-
Copy the example environment file:
cp .env.example .env
-
Edit the
.env
file with your Zotero API credentials:ZOTERO_API_KEY=your_api_key_here ZOTERO_USER_ID=your_numeric_user_id_here # ZOTERO_GROUP_ID=your_group_id_here # Uncomment to use a group library
You need to set either
ZOTERO_USER_ID
(for personal libraries) orZOTERO_GROUP_ID
(for group libraries). -
If you're not sure how to find your Zotero user ID, run:
./find_zotero_id.py
Usage
Running the Server
python src/server.py
The server will start and listen for JSON-RPC requests on standard input/output.
Testing the Server
./simple_test.py
This will run a series of tests to verify that the server is working correctly.
Integration with AI Applications
The Zotero MCP server can be integrated with AI applications that support the Model Context Protocol. See the USAGE_GUIDE.md
file for detailed examples.
Available Resources
zotero://collections
: List of collections in the Zotero libraryzotero://items/top
: Top-level items in the Zotero libraryzotero://items/recent
: Recently added or modified items in the Zotero libraryzotero://collections/{collection_key}/items
: Items in a specific Zotero collectionzotero://items/{item_key}
: Details of a specific Zotero itemzotero://items/{item_key}/citation/{style}
: Citation for a specific Zotero item in a specific style
Available Tools
search_items
: Search for items in the Zotero libraryget_citation
: Get citation for a specific itemadd_item
: Add a new item to the Zotero libraryget_bibliography
: Get bibliography for multiple items
Documentation
For more detailed information, see:
USAGE_GUIDE.md
: Comprehensive usage guidetest_client.py
: Interactive test clientsimple_test.py
: Simple test scriptfind_zotero_id.py
: Helper script to find your Zotero IDs
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.