{
    "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
    "name": "io.github.54yyyu/zotero-mcp",
    "description": "Search, read, annotate, and add to your Zotero research library, local or web.",
    "title": "Zotero MCP",
    "repository": {
        "url": "https://github.com/54yyyu/zotero-mcp",
        "source": "github",
        "id": "953089294"
    },
    "version": "0.9.1",
    "websiteUrl": "https://stevenyuyy.com/zotero-mcp/",
    "packages": [
        {
            "registryType": "pypi",
            "registryBaseUrl": "https://pypi.org",
            "identifier": "zotero-mcp-server",
            "version": "0.9.1",
            "runtimeHint": "uvx",
            "transport": {
                "type": "stdio"
            },
            "packageArguments": [
                {
                    "value": "serve",
                    "type": "positional",
                    "valueHint": "serve"
                }
            ],
            "environmentVariables": [
                {
                    "description": "Read from the local Zotero desktop app instead of the web API. Requires Zotero 7+ with the local API enabled in Settings > Advanced.",
                    "format": "boolean",
                    "default": "true",
                    "name": "ZOTERO_LOCAL"
                },
                {
                    "description": "Zotero Web API key from https://www.zotero.org/settings/keys. Only needed when ZOTERO_LOCAL is false, or for write operations in hybrid mode.",
                    "format": "string",
                    "isSecret": true,
                    "name": "ZOTERO_API_KEY"
                },
                {
                    "description": "Zotero user or group library ID. Only needed when ZOTERO_LOCAL is false, or for write operations in hybrid mode.",
                    "format": "string",
                    "name": "ZOTERO_LIBRARY_ID"
                },
                {
                    "description": "Whether ZOTERO_LIBRARY_ID refers to a personal or a group library.",
                    "format": "string",
                    "default": "user",
                    "choices": [
                        "user",
                        "group"
                    ],
                    "name": "ZOTERO_LIBRARY_TYPE"
                },
                {
                    "description": "Which optional tool groups to expose, as a comma-separated list. Every tool is sent to the model on each request, so optional capabilities are off by default. Use 'all' for the full surface, 'none' for core only, named groups (scite, duplicates, discovery, feeds, relations, libraries, search-admin, pdf-geometry) to add them, or a leading '-' to subtract.",
                    "format": "string",
                    "name": "ZOTERO_MCP_TOOLSETS"
                }
            ]
        }
    ],
    "_meta": {
        "io.modelcontextprotocol.registry/official": {
            "status": "active",
            "statusChangedAt": "2026-08-06T00:38:45.116904Z",
            "publishedAt": "2026-08-06T00:38:45.116904Z",
            "updatedAt": "2026-08-06T00:38:45.116904Z",
            "isLatest": true
        }
    }
}