Skip to main content
Glama

Zotero MCP Server

by kujenga

Servidor de protocolo de contexto de modelo para Zotero

Este proyecto es un servidor Python que implementa el Protocolo de Contexto de Modelo (MCP) para Zotero , lo que permite acceder a la biblioteca de Zotero dentro de los asistentes de IA. Su objetivo es implementar un conjunto pequeño, pero de máxima utilidad, de interacciones con Zotero para su uso con clientes MCP .

Características

Este servidor MCP proporciona las siguientes herramientas:

  • zotero_search_items : busca artículos en tu biblioteca de Zotero mediante una consulta de texto
  • zotero_item_metadata : Obtenga información detallada de metadatos sobre un elemento específico de Zotero
  • zotero_item_fulltext : Obtener el texto completo de un elemento específico de Zotero (es decir, contenido PDF)

Se puede descubrirlos y acceder a ellos a través de cualquier cliente MCP o a través del Inspector MCP .

Cada herramienta devuelve texto formateado que contiene información relevante de sus elementos de Zotero, y los asistentes de IA como Claude pueden usarlos secuencialmente, buscando elementos y luego recuperando sus metadatos o contenido de texto.

Instalación

Este servidor puede ejecutarse con una API local ofrecida por la aplicación de escritorio de Zotero o a través de la API web de Zotero . La API local puede ser un poco más rápida, pero requiere que la aplicación de Zotero se ejecute en el mismo equipo con la API habilitada. Para habilitar la API local, siga estos pasos:

  1. Abra Zotero y abra "Configuración de Zotero"
  2. En la pestaña "Avanzado", marque la casilla que dice "Permitir que otras aplicaciones en esta computadora se comuniquen con Zotero".

[!IMPORTANTE] Para acceder al punto final /fulltext en la API local, que permite recuperar el contenido completo de los elementos de su biblioteca, deberá instalar una versión beta de Zotero (a partir del 30/03/2025). Una vez lanzada la versión 7.1, esto ya no será necesario. Consulte https://github.com/zotero/zotero/pull/5004 para obtener más información. Si no desea hacerlo, utilice la API web.

Para utilizar la API web de Zotero, deberá crear una clave API y encontrar su ID de biblioteca (generalmente su ID de usuario) en la configuración de su cuenta de Zotero aquí: https://www.zotero.org/settings/keys

Estas son las opciones de configuración disponibles:

  • ZOTERO_LOCAL=true : utiliza la API local de Zotero (valor predeterminado: falso, consulte la nota a continuación)
  • ZOTERO_API_KEY : Su clave API de Zotero (no es necesaria para la API local)
  • ZOTERO_LIBRARY_ID : Su ID de biblioteca de Zotero (su ID de usuario para bibliotecas de usuario, no es necesario para la API local)
  • ZOTERO_LIBRARY_TYPE : El tipo de biblioteca (usuario o grupo, predeterminado: usuario)

uvx con API local de Zotero

Para usar esto con Claude Desktop y una instalación directa de Python con uvx , agregue lo siguiente a la configuración mcpServers :

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

El indicador --update es opcional y descargará la última versión cuando haya nuevas disponibles. Si no tiene uvx instalado, puede usar pipx run o clonar este repositorio localmente y seguir las instrucciones de Desarrollo a continuación.

Docker con Zotero Web API

Si desea ejecutar este servidor MCP en un contenedor Docker, puede utilizar la siguiente configuración, insertando su clave API y el ID de la biblioteca:

{ "mcpServers": { "zotero": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "ZOTERO_API_KEY=PLACEHOLDER", "-e", "ZOTERO_LIBRARY_ID=PLACEHOLDER", "ghcr.io/kujenga/zotero-mcp:main" ], } } }

Para actualizar a una versión más reciente, ejecute docker pull ghcr.io/kujenga/zotero-mcp:main . También es posible usar la instalación basada en Docker para comunicarse con la API local de Zotero, pero deberá modificar el comando anterior para garantizar la conectividad de red con la interfaz de la API local de la aplicación Zotero.

Desarrollo

Información sobre cómo realizar cambios y contribuir al proyecto.

  1. Clonar este repositorio
  2. Instale las dependencias con uv ejecutando: uv sync
  3. Cree un archivo .env en la raíz del proyecto con las variables de entorno anteriores

Iniciar el Inspector MCP para el desarrollo local:

npx @modelcontextprotocol/inspector uv run zotero-mcp

Para probar el repositorio local contra Claude Desktop, ejecute echo $PWD/.venv/bin/zotero-mcp en su shell dentro de este directorio, luego configure lo siguiente dentro de su configuración de Claude Desktop

{ "mcpServers": { "zotero": { "command": "/path/to/zotero-mcp/.venv/bin/zotero-mcp" "env": { // Whatever configuration is desired. } } } }

Ejecución de pruebas

Para ejecutar el conjunto de pruebas:

uv run pytest

Desarrollo de Docker

Construya la imagen del contenedor con este comando:

docker build . -t zotero-mcp:local

Para probar el contenedor con el inspector MCP, ejecute el siguiente comando:

npx @modelcontextprotocol/inspector \ -e ZOTERO_API_KEY=$ZOTERO_API_KEY \ -e ZOTERO_LIBRARY_ID=$ZOTERO_LIBRARY_ID \ docker run --rm -i \ --env ZOTERO_API_KEY \ --env ZOTERO_LIBRARY_ID \ zotero-mcp:local

Documentación relevante

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Este servidor permite a los usuarios interactuar con su biblioteca Zotero a través del Protocolo de Contexto de Modelo, proporcionando herramientas para buscar elementos, recuperar metadatos y acceder a texto completo mediante consultas en lenguaje natural.

  1. Características
    1. Instalación
      1. uvx con API local de Zotero
      2. Docker con Zotero Web API
    2. Desarrollo
      1. Ejecución de pruebas
      2. Desarrollo de Docker
    3. Documentación relevante

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server that enables Large Language Models to seamlessly interact with ClickHouse databases, supporting resource listing, schema retrieval, and query execution.
        Last updated -
        1
        Python
        MIT License
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        A server that enables MCP clients like Anthropic Claude App to interact with local Zotero libraries, allowing users to search papers, manage notes, and access research materials through natural language.
        Last updated -
        11
        Python
        Apache 2.0
        • Apple
      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server implementation that provides a standardized interface for interacting with Spiral's language models, offering tools to generate text from prompts, files, or web URLs.
        Last updated -
        14
        Python
        • Linux
        • Apple
      • A
        security
        A
        license
        A
        quality
        Connects your Zotero research library with Claude and other AI assistants via the Model Context Protocol, allowing you to search your library, access content, discuss papers, get summaries, and analyze citations.
        Last updated -
        10
        58
        Python
        MIT License

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/kujenga/zotero-mcp'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server