MCP Server

Beaver includes a built-in MCP (Model Context Protocol) server that lets Claude, ChatGPT, or other AI coding and writing tools access your Zotero library directly allowing them to search your references, read PDFs, and browse your collections.

What You Can Do

With the MCP server enabled, any compatible AI tool can:

  • Search by topic: find papers in your library using semantic (meaning-based) search, the same search that powers Beaver's chat (fulltext search from the beta/pro version is currently not supported)
  • Search by metadata: look up specific papers by author, title, or journal
  • Read PDFs: extract and read the full text of attachments stored in Zotero
  • Get item details: retrieve complete bibliographic metadata (DOI, abstract, authors, etc.)
  • Browse collections and tags: explore how your library is organized
  • List items: enumerate items in a collection or with a specific tag

This set of tools is designed to make your research library discoverable and searchable by AI tools. If you are looking for a broader set of tools, take a look at Zotero MCP, a dedicated MCP server for Zotero.

Read-Only by Design

The Beaver MCP server is strictly read-only. It can search and read your library, but it cannot modify, delete, or add items. This is intentional. If you want to modify your library, you should use Beaver in Zotero directly.

Requirements

  • Beaver 0.13 or later installed, with a Beaver account signed in
  • For Claude Desktop or other MCP clients that require HTTPS: Node.js installed

Setup

Step 1: Enable the MCP Server

1

Open Beaver Settings

In Zotero, open Beaver settings and go to the Advanced tab.

2

Enable the MCP server

Toggle Enable MCP Server on.

That's it! Your MCP server is running and ready to use with other AI tools.

Step 2: Configure Your AI Tool

Beaver provides two configuration options depending on what your MCP client supports. In Beaver settings under Advanced, you'll find two Copy buttons.

Clients that support HTTP (e.g., Claude Code, Cursor, etc.)

Claude Code, Cursor, Windsurf, and most other MCP clients can connect to Beaver's HTTP endpoint directly — no bridge script or Node.js needed.

1

Copy the configuration

In Beaver settings under Advanced, click Copy next to Config for Claude Code, Cursor, etc.

2

Add to your tool's MCP settings

Follow your tool's instructions for adding MCP servers and paste the copied configuration. For example, in Claude Code you can add it to your project's .mcp.json file.

The HTTP configuration looks like this:

HTTP Configurationjson
{
  "mcpServers": {
    "beaver-zotero": {
      "type": "streamable-http",
      "url": "http://localhost:23119/beaver/mcp"
    }
  }
}

The default port is 23119. If your Zotero uses a different port, the copied configuration will reflect that automatically. You can check the port in Zotero under Settings → Advanced → Config Editor by searching for extensions.zotero.httpServer.port.

Clients that require HTTPS (e.g., Claude Desktop)

Claude Desktop doesn't support plain HTTP connections, so it can't connect to Beaver's local endpoint directly. Beaver provides a small bridge script that handles this automatically.

1

Copy the configuration

In Beaver settings under Advanced, click Copy next to Config for Claude Desktop.

2

Open your Claude Desktop config

In Claude Desktop, go to Settings → Developer → Edit Config. This opens the file claude_desktop_config.json.

3

Add the Beaver MCP server

Add the mcpServers block from your clipboard to the config file. If the file already has other settings, add mcpServers alongside them. For example, if your file looks like this:

claude_desktop_config.json — beforejson
{
  "preferences": {
    "coworkScheduledTasksEnabled": true,
    "sidebarMode": "chat",
    "coworkWebSearchEnabled": true
  }
}

Add a comma after the preferences block and paste the mcpServers section:

claude_desktop_config.json — afterjson
{
  "preferences": {
    "coworkScheduledTasksEnabled": true,
    "sidebarMode": "chat",
    "coworkWebSearchEnabled": true
  },
  "mcpServers": {
    "beaver-zotero": {
      "command": "node",
      "args": ["/path/to/beaver-mcp-stdio.mjs"]
    }
  }
}

The copied configuration includes the correct path for your system — the /path/to/ above is just a placeholder.

4

Restart Claude Desktop

Close and reopen Claude Desktop for the changes to take effect.

This configuration requires Node.js to be installed. Beaver writes a small bridge script to your Zotero data directory that forwards messages between Claude Desktop and Beaver's endpoint.