Hardcover

Servidor MCP para obtener libros, series de libros y libros de usuario de Hardcover

Documentación

Hardcover MCP

Un servidor de Model Context Protocol (MCP) que expone acceso de solo lectura a la API GraphQL de Hardcover.app. Las herramientas están organizadas en espacios de nombres books.*, users.* y series.*, con recursos y indicaciones para guiar consultas seguras y de bajo volumen.

Este es un servidor no oficial, mantenido por la comunidad, y no está afiliado a Hardcover.app.

Requisitos

Instalación

# Option A: with uv (recommended)
uv pip install -e .

# Option B: with pip
python -m venv .venv
source .venv/bin/activate
pip install -e .

Protocolo de transporte

Este servidor actualmente solo admite STDIO como protocolo de transporte.

Uso

  1. Obtén una clave de API desde https://hardcover.app/account/api. Copia el valor exactamente como se proporciona (ya comienza con Bearer ).
  2. Expórtala para el servidor:
export HARDCOVER_API_KEY="Bearer <your-token>"

Ejecutar el servidor directamente

  1. Inicia el servidor MCP:
uv run src/hardcover_mcp/main.py

Configurar STDIO para un chat de IA

Codex

[mcp_servers.hardcover_mcp]
command = "uv"
args = ["run", "src/hardcover_mcp/main.py"]
env = { "HARDCOVER_API_KEY" = "API KEY heRE" }
cwd = "full_path_to/hardcover_mcp"

El servidor registra los espacios de nombres de herramientas books.*, users.* y series.*, además de recursos como hardcover/tag-categories e indicaciones de uso como hardcover/fantasy-this-year.

Ejecutar el conjunto de pruebas

pytest

Solución de problemas

  • HARDCOVER_API_KEY environment variable is required: asegúrate de que la variable esté configurada en la misma terminal donde inicias el servidor. Incluye el prefijo Bearer al inicio.
  • Hardcover API returned an error response o 401/403: confirma que el token sea válido y no haya expirado.
  • Respuestas lentas o tiempos de espera: reduce los argumentos limit/offset; la API impone límites de frecuencia. Comienza con limit<=10.
  • Problemas de transporte SSL/HTTP: verifica la configuración de red/proxy local y reintenta con una conexión estable.