Skip to content

Model Context Protocol (MCP) server for the Zotero API, in Python

License

Notifications You must be signed in to change notification settings

kujenga/zotero-mcp

Repository files navigation

Model Context Protocol server for Zotero

This project is a python-based server that implements the Model Context Protocol (MCP) for Zotero.

Features

This MCP server provides the following tools:

  • zotero_search_items: Search for items in your Zotero library using a text query
  • zotero_item_metadata: Get detailed information about a specific Zotero item
  • zotero_item_fulltext: Get the full text of a specific Zotero item

These can be discovered and accessed through the MCP Inspector or any other MCP client.

Each tool returns formatted text containing relevant information from your Zotero items.

Installation

To use this with Claude Desktop, add the following to the mcpServers configuration:

    "zotero": {
      "command": "uvx",
      "args": ["zotero-mcp"],
      "env": {
        "ZOTERO_LOCAL": "true"
      }
    }

The following environment variables are supported:

  • ZOTERO_LOCAL=true: Use the local Zotero API (default: false)
  • ZOTERO_LIBRARY_ID: Your Zotero library ID (not required for the local API)
  • ZOTERO_LIBRARY_TYPE: The type of library (user or group, default: user)
  • ZOTERO_API_KEY: Your Zotero API key (not required for the local API)

You can find your library ID and create an API key in your Zotero account settings: https://www.zotero.org/settings/keys

The local Zotero API can be used with Zotero 7 running on the same machine.

n.b. An upcoming Zotero release is needed to support the fulltext API locally: zotero/zotero#5004

Development

  1. Clone this repository
  2. Install dependencies with uv by running: uv sync
  3. Create a .env file in the project root with the environment variables above

Start the MCP Inspector for local development:

npx @modelcontextprotocol/inspector uv run zotero-mcp

Running Tests

To run the test suite:

uv run pytest

Relevant Documentation

About

Model Context Protocol (MCP) server for the Zotero API, in Python

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages