Skip to main content
Glama
muhyousri

hardcover-mcp

by muhyousri

Hardcover-MCP

⚠️ Beta v0.1.0 — Esta es una versión preliminar. La superficie de la API, los nombres de las herramientas y la estructura de las consultas pueden cambiar. Informa de errores y cualquier comentario a través de GitHub Issues.

Un servidor de Model Context Protocol (MCP) para la API de Hardcover — la plataforma de seguimiento de libros que usa la misma API GraphQL para su sitio web, iOS y Android.

Conecta cualquier asistente de IA compatible con MCP (Claude Desktop, Cursor, Kiro o cualquier cliente MCP) directamente con tu biblioteca de Hardcover, tu historial de lectura, tus objetivos y el catálogo completo de libros de Hardcover.


Contenido


Related MCP server: hardcover-mcp

Características

  • 🔍 Buscar libros, autores, series, usuarios, listas, personajes, editoriales y prompts

  • 📚 Explora tu biblioteca — todos los estados, vistas filtradas y resultados paginados

  • 📖 Avance de lectura — libros que estás leyendo ahora con progreso página a página

  • 📊 Estadísticas de lectura — libros leídos este mes, este año, todos, con valoraciones medias

  • 🎯 Objetivos de lectura — progreso, estado y meta de todos tus objetivos

  • 🗓️ Libros por intervalo de fechas — lista todos los libros que terminaste entre dos fechas

  • 📓 Diario de lectura — historial de sesiones por libro

  • 👤 Perfiles de usuario — tu perfil y los perfiles públicos por nombre de usuario

  • 📋 Listas — recupera cualquier lista de Hardcover y sus libros

  • 🏃 Feed de actividad — tu actividad reciente y la actividad en libros concretos

  • 🔖 Ediciones — busca por título, ID o ISBN-10/13

  • ✍️ Autores — perfiles y bibliografía

  • 📖 Series — listas de libros ordenadas y deduplicadas


Referencia de herramientas

Identidad

Herramienta

Descripción

get_me

Perfil del usuario autenticado: id, nombre de usuario, nombre, biografía, ubicación, número de libros, seguidores, insignia, estado Pro

Búsqueda

Herramienta

Argumentos

Descripción

search

query, query_type?, per_page?, page?

Busca libros, autores, series, usuarios, listas, personajes, editoriales o prompts

Libros

Herramienta

Argumentos

Descripción

get_book_by_id

id

Detalles completos del libro por ID de Hardcover

get_book_by_slug

slug

Detalles completos del libro mediante el slug de URL (p. ej. the-name-of-the-wind)

get_editions_by_title

title

Todas las ediciones que coinciden exactamente con un título

get_edition_by_id

id

Detalles de una sola edición

get_editions_by_isbn

isbn

Busca una edición por ISBN-10 o ISBN-13 (dñ solo dígitos)

Autores

Herramienta

Argumentos

Descripción

get_author_by_id

id

perfil del autor por ID

get_author_by_slug

slug

Autor por slug (p. ej. brandon-sanderson)

get_author_books

author_id, limit?, offset?

Libros por autor, ordenados por popularidad

Series

Herramienta

Argumentos

Descripción

get_series_by_id

id

Metadatos de la serie: nombre, descripción, recuento de libros

get_books_en_serie

series_id

Listado de libros ordenado y deduplicado; excluye libros parciales y recopilatorios

Mi biblioteca

Herramienta

Argumentos

Descripción

get_my

limit?, offset?

Biblioteca completa, todos los estados, con paginación

get_library_by_status

status_id, limit?, offset?

Biblioteca filtrada por estado de lectura

get_reading_progress

Libros que se están leyendo actualmente con progreso página a página

get_user_book

book_id

Tu relación con un libro: estado, valoración, reseña, sesiones

get_my_reading_journal

book_id

Diario de lectura e historial de sesiones de un libro

IDs de estado: 1 Quiero leer · 2 Estoy leyendo · 3 Leído · 4 En pausa · 5 No terminado · 6 Ignorado

Estadísticas de lectura

Herramienta

Argumentos

Descripción

get_reading_stats

user_id, since?

Conteo total + valoración media, y conteo filtrado desde una fecha (YYYY-MM-DD). Usa since=2026-01-01 para este año, since=2026-08-01 para este mes

get_books_read_between

user_id, since, until, limit?, offset?

Libros terminados entre dos fechas, del más reciente al más antiguo

Objetivos

Herramienta

Argumentos

Descripción

get_my_goals

Todos los objetivos de lectura con progreso, meta, estado y fechas

Actividades

Herramienta

Argumentos

Descripción

get_my_activities

user_id, limit?, offset?

Tu feed de actividad (libros añadidos, valorados, res iñados, objetivos, listas)

get_book_activities

book_id, limit?, offset?

Actividad de la comunidad en un libro específico

Otros usuarios

Herramienta

Argumentos

Descripción

get_user_by_username

username

Busca un perfil público de usuario

get_user

user_id, status_id, limit?, offset?

La biblioteca de otro usuario filtrada por estado de lectura

Listas

Herramienta

Argumentos

Descripción

get_list_by_id

id

Detalles de llista y sus libros (hasta 50)


Requisitos


Instalación

Con uv (recomendado)

git clone https://github.com/YOUR_USERNAME/hardcover-mcp
cd hardcover-mcp
uv sync

Con pip

git clone https://github.com/YOUR_USERNAME/hardcover-mcp
cd hardcover-mcp
pip install -e .

Desde PyPI (cuando esté publicado)

uv pip install hardcover-mcp
# or
pip install hardcover-mcp

Configuración

Copia .env.example a .env y añade tu clave de API:

cp .env.example .env
HARDCOVER_API_KEY=your_api_key_here

Mantén tu token en privado. Tu token de acceso personal tiene acceso a tu cuenta de Hardcover. Nunca lo incluyas en control de version, lo compartas públicamente o lo incorporas en código de cliente.


Uso

Claude Desktop

Añade la siguiente configuración en ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "hardcover": {
      "command": "uv",
      "args": [
        "run",
        "--with-editable",
        "/path/to/hardcover-mcp",
        "hardcover-mcp"
      ],
      "env": {
        "HARDCOVER_API_KEY": "your_api_key_here"
      }
    }
  }
}

O si lo instalaste mediante pip/uv dentro de un virtualenv:

{
  "mcpServers": {
    "hardcover": {
      "command": "/path/to/venv/bin/hardcover-mcp",
      "env": {
        "HARDCOVER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Kiro CLI

Añade a ~/.kiro/settings/mcp.json:

{
  "mcpServers": {
    "hardcover": {
      "command": "/path/to/uv",
      "args": [
        "run",
        "--with-editable",
        "/path/to/hardcover-mcp",
        "hardcover-mcp"
      ],
      "env": {
        "HARDCOVER_API_KEY": "your_api_key_here"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Otros clientes MCP

Apunta tu cliente al punto de entrada hardcover-mcp (o python -m hardcover.server) con la variable HARDCOVER_API_KEY definida en el entorno. El servidor se comunica a través de stdio y es compatible con cualquier cliente MCP 1.0 o superior.


Límites de uso y política API

Lee esto antes de crear tu proyecto con este servidor. La API de Hardcover es de uso gratuito, pero tiene límites estrictos. Si puedes alcanzarlos sin esperarlo, esto podría interrumpir tu flujo de trabajo.

Límites de solicitudes

Plan

Diarias

Ráfaga

Por minuto

Free

5.000 peticiones/día

10 peticiones

60 peticiones/min

Supporter

50.000 peticiones/día

15 peticiones

60 peticiones/min

  • Límite diario: tope máximo. Si lo alcanzas, todas las solicitudes retornarán 429 hasta la medianoche UTC.

  • Límite de ráfaga: cuántas solicitudes puedes lanzar consecutivamente antes de que se aplique cifrado. Se rellena de forma continua según la frecuencia por minuto.

  • Límite por minuto: 60 pet/min para todos los planes (bucket simbólico).

  • Límite por solicitud: una sola petición GraphQL puede tener como máximo 5 consultas de nivel superior. Sobre esto devuelve 403, no 429.

  • Tokens de acceso personales tienen una ráfaga doble respecto al método heredado JWT en el mismo plan.

Este servidor MCP contribuye con la sugerencia when retry_after si se devuelve un 429, para que tu asistente de IA pueda espera con gracia.

Uso comercial

Según la política API de Hardcover:

  • Datos propios del usuario (bibliotecas, valoraciones, reseñas, entradas diario, listas, objetivos) no pueden usarse en productos comerciales excepto cuando actúes en representación de un usuario que te haya concedido acceso expresamente.

  • one: datos agregados y anónimos (p. ej., número de leectores de Hardcover, valoración media en Hardcover) pueden usarse comercialmente si se cita a Hardcover.

  • Las imágenes servidas desde Hardcover son subidas por los usuarios. Si las muestras de forma pública, debes tener una política de retirada DMCA.

Patrones de consulta prohibidos

Los siguientes operadores GraphQL están desactivados en la API:

_like, _nlike, _ilike, _niregex, _nregex, _iregex, _regex, _nsimilar, _similar

Las consultas deben ejecutarse en el servidor

No se puede llamar a la API de Hardcover desde un navegador. Tu clave de API debe guardarse en un entorno servidor seguro.

Para más información, consulta la guía oficial para empezar.


Descargo de responsabilidad

Esta es una versión beta (v0.1.0). Es una versión beta independiente, creada por la comunidad, y no está afiliada, respaldada ni soportada por Hardcover.

  • La API de Hardcover está en fase beta y sujeta a cambios que pueden romper la compatibilidad.

  • Los nombres de las herramientas, la estructura de las consultas y la forma de las respuestas en este servidor MCP pueden cambiar entre versiones.

  • El uso en entornos de producción o contextos comerciales es totalmente bajo tu propio riesgo.

  • Al usar la API de Hardcover a través de este servidor, aceptas las políticas de Hardcover.


Desarrollo

git clone https://github.com/YOUR_USERNAME/hardcover-mcp
cd hardcover-mcp

# Create virtualenv and install with dev deps
uv sync --extra dev
# or: pip install -e ".[dev]"

# Run tests
uv run pytest
# or: python -m pytest

# Run the server locally (needs HARDCOVER_API_KEY in environment)
HARDCOVER_API_KEY=your_key hardcover-mcp

Estructura del proyecto

hardcover-mcp/
├── hardcover/
│   ├── __init__.py
│   ├── client.py      # GraphQL HTTP client, rate-limit handling, error mapping
│   ├── queries.py     # All GraphQL query strings
│   └── server.py      # MCP server, tool definitions, dispatch
├── tests/
│   ├── conftest.py    # Shared fixtures
│   ├── test_client.py # 30 client tests (HTTP errors, rate limits, response parsing)
│   └── test_server.py # 51 server tests (tool dispatch, error formatting)
├── .env.example
├── .gitignore
├── pyproject.toml
└── README.md

Ejecutar pruebas

pytest                  # all tests
pytest tests/test_client.py   # client only
pytest tests/test_server.py   # server only
pytest -v               # verbose

Contribuciones

Las contribuciones son bienvenidas. Por favor:

  1. Abre un issue primero para discutir los cambios significativos

  2. Sigue el estilo de código existente

  3. Añade o actualiza las pruebas para cualquier cambio de comportamiento

  4. Mantén las PR enfocadas — una funcionalidad o corrección por PR


Licencia

MIT — consulta LICENSE para obtener detalles.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to help users manage their reading experience by searching books, tracking reading progress, managing bookmarks, and generating personalized recommendations and summaries.
  • A
    license
    A
    quality
    A
    maintenance
    Connects AI assistants to the Hardcover book library, enabling natural language book searches, reading status updates, list management, and library exploration.
    31
    5
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides AI assistants with direct access to your ebook library, enabling listing books, reading chapters, and searching across books via the Model Context Protocol.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to interact with BookLore self-hosted libraries, allowing natural language queries to search books, manage reading status, ratings, series, authors, and highlights.
    7
    1

View all related MCP servers

Related MCP Connectors

  • Read and update your Everway trips and itineraries from any MCP-compatible AI assistant.

  • Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.

  • Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only

View all MCP Connectors

Latest Blog Posts

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/muhyousri/hardcover-mcp'

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