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
Open Beaver Settings
In Zotero, open Beaver settings and go to the Advanced tab.
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.
Copy the configuration
In Beaver settings under Advanced, click Copy next to Config for Claude Code, Cursor, etc.
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:
{
"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.
Copy the configuration
In Beaver settings under Advanced, click Copy next to Config for Claude Desktop.
Open your Claude Desktop config
In Claude Desktop, go to Settings → Developer → Edit Config. This opens the file claude_desktop_config.json.
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:
{
"preferences": {
"coworkScheduledTasksEnabled": true,
"sidebarMode": "chat",
"coworkWebSearchEnabled": true
}
}Add a comma after the preferences block and paste the mcpServers section:
{
"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.
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.