Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Zotero Mcp Go Server

FreeNot checked

Zotero MCP server in Go using Zotero Go Client

GitHubEmbed

About

Zotero MCP server in Go using Zotero Go Client

README

A Model Context Protocol (MCP) server for Zotero, written in Go. It provides read-only access to your Zotero library through MCP tools, allowing LLM clients (Claude Desktop, Cursor, etc.) to search, browse, and retrieve your references.

Prerequisites

  • Go 1.24 or later
  • A Zotero account with a Web API key

Getting Credentials

1. Zotero API Key

  1. Go to https://www.zotero.org/settings/keys
  2. Click Create new private key
  3. Give it a name (e.g. "MCP Server")
  4. Under Personal Library, check Allow library access
  5. If you need group access, check the relevant groups under Group Permissions
  6. Click Save Key
  7. Copy the generated key — this is your ZOTERO_API_KEY

2. User ID

Your user ID is displayed on the same API keys page at the top:

"Your userID for use in API calls is 1234567"

This is your ZOTERO_USER_ID.

3. Group ID (optional)

If you want to access a group library instead of your personal library:

  1. Go to https://www.zotero.org/groups
  2. Open the group you want to access
  3. The group ID is the number in the URL: https://www.zotero.org/groups/1234567/...

This is your ZOTERO_GROUP_ID.

Environment Variables

Variable Required Description
ZOTERO_API_KEY Yes Your Zotero Web API key
ZOTERO_USER_ID Yes* Your Zotero user ID
ZOTERO_GROUP_ID Yes* A Zotero group ID

* One of ZOTERO_USER_ID or ZOTERO_GROUP_ID is required. If both are set, the group library is used.

Installation

Homebrew (macOS)

brew install abtris/tap/zotero-mcp-go-server

Docker

docker pull abtris/zotero-mcp-go-server:latest

Run with Docker:

docker run --rm \
  -e ZOTERO_API_KEY="your-api-key" \
  -e ZOTERO_USER_ID="your-user-id" \
  abtris/zotero-mcp-go-server:latest

Go install

go install github.com/abtris/zotero-mcp-go-server@latest

Build from source

git clone https://github.com/abtris/zotero-mcp-go-server.git
cd zotero-mcp-go-server
go build -o zotero-mcp-go-server .

Usage

Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "zotero": {
      "command": "zotero-mcp-go-server",
      "env": {
        "ZOTERO_API_KEY": "your-api-key",
        "ZOTERO_USER_ID": "your-user-id"
      }
    }
  }
}

Run directly (for development)

export ZOTERO_API_KEY="your-api-key"
export ZOTERO_USER_ID="your-user-id"
go run .

The server communicates over stdio using the MCP protocol.

Supported Tools

See TOOLS.md for the full list of 14 supported tools (7 read, 7 write).

Testing and Debugging

Unit Tests

go test -v ./...

MCP Inspector

The MCP Inspector is an interactive tool for testing and debugging MCP servers. You can use it to connect to this server, list available tools, and call them interactively.

npx @modelcontextprotocol/inspector go run .

This opens a web UI where you can:

  • See all registered tools and their schemas
  • Call tools with custom arguments and inspect responses
  • View the raw JSON-RPC messages exchanged between client and server

Make sure the required environment variables are set before running the inspector:

export ZOTERO_API_KEY="your-api-key"
export ZOTERO_USER_ID="your-user-id"
npx @modelcontextprotocol/inspector go run .

License

MIT

from github.com/abtris/zotero-mcp-go-server

Installing Zotero Mcp Go Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/abtris/zotero-mcp-go-server

FAQ

Is Zotero Mcp Go Server MCP free?

Yes, Zotero Mcp Go Server MCP is free — one-click install via Unyly at no cost.

Does Zotero Mcp Go Server need an API key?

No, Zotero Mcp Go Server runs without API keys or environment variables.

Is Zotero Mcp Go Server hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Zotero Mcp Go Server in Claude Desktop, Claude Code or Cursor?

Open Zotero Mcp Go Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Zotero Mcp Go Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs