Hardcover MCP

Converse com sua biblioteca Hardcover a partir de qualquer assistente de IA.

Documentação

hardcover-mcp

PyPI License: MIT Python 3.14+

Fale com sua biblioteca do Hardcover a partir de qualquer assistente de IA.

O hardcover-mcp conecta sua biblioteca do Hardcover a assistentes de IA como Claude e Copilot. Pesquise livros, atualize seu status de leitura, gerencie listas, explore séries — tudo por meio de conversa natural, em vez de clicar em menus.

O que você pode dizer

"O que está na minha lista de leitura atual?"

"Adicione Project Hail Mary à minha biblioteca como leitura atual"

"Pesquise livros de Brandon Sanderson"

"Consulte o ISBN 9780547928227"

"Crie uma lista chamada 'Leitura de Verão' e adicione O Hobbit a ela"

"Mostre-me a série Stormlight Archive em ordem de leitura"

"Mova Project Hail Mary e The Martian para leitura atual"

"Quais livros Andy Weir escreveu? Adicione os que ainda não li à minha lista de quero ler"

"Compare minha avaliação de Dune com a média do Hardcover"

O que está incluído

  • Acompanhamento da biblioteca — status, avaliações, datas de leitura
  • Gerenciamento de listas — criar, editar, adicionar/remover livros
  • Descoberta — pesquisar livros, autores, séries, edições e mais
  • Informações da conta — seu perfil e estatísticas de leitura

Segurança e controle

  • Você controla sua chave de API — ela permanece na sua máquina, nunca compartilhada com terceiros
  • Executa localmente por meio do seu cliente MCP — nenhum servidor externo envolvido
  • As ações só acontecem quando solicitadas explicitamente — nada é executado em segundo plano
  • Você revisa prompts e saídas no seu cliente antes de qualquer envio

Início Rápido

  1. Instale o uv (um executor rápido de pacotes Python — a configuração leva segundos).
  2. Obtenha um token de API em hardcover.app/account/api.
  3. Adicione a configuração abaixo ao seu cliente MCP — nenhuma instalação manual é necessária, o uvx cuida disso.

VS Code

Adicione a .vscode/mcp.json:

{
  "servers": {
    "hardcover": {
      "command": "uvx",
      "args": ["hardcover-mcp"],
      "env": {
        "HARDCOVER_API_TOKEN": "<your token>"
      }
    }
  }
}

Claude Desktop

Adicione a claude_desktop_config.json:

{
  "mcpServers": {
    "hardcover": {
      "command": "uvx",
      "args": ["hardcover-mcp"],
      "env": {
        "HARDCOVER_API_TOKEN": "<your token>"
      }
    }
  }
}

Ferramentas

Navegar e descobrir

O que você pode fazerFerramenta
Pesquisar livros, autores, séries e maissearch_books
Consultar um livro por título ou IDget_book
Consultar uma edição específica por ISBN ou ASINget_edition
Explorar uma série em ordem de leituraget_series
Navegar pelo catálogo de um autorget_author

Sua biblioteca

O que você pode fazerFerramenta
Ver seu perfil e contagem de livrosme
Obter estatísticas de leitura (totais, avaliações, livros lidos por ano)get_reading_stats
Obter suas metas de leitura ativas e progressoget_reading_goal
Navegar pela sua biblioteca, filtrar por status, intervalo de datas ou ordenar por avaliação/dataget_user_library
Verificar seu status/avaliação de um livro específico (inclui configuração de privacidade)get_user_book
Listar suas resenhasget_user_reviews
Ler suas entradas de diário (notas, citações, eventos de status)get_reading_journal
Listar livros que você possui, com detalhes da ediçãoget_owned_books
Criar ou atualizar uma meta de leitura (livros/páginas, intervalo de datas)set_reading_goal
Adicionar um livro ou atualizar seu status, avaliação, resenha, notas, privacidade e ediçãoset_user_book
Marcar uma edição como possuída ou não possuídaset_edition_owned
Registrar datas de leitura e progresso (páginas, tempo de audiolivro)add_user_book_read / update_user_book_read
Remover um livro ou entrada de leituradelete_user_book / delete_user_book_read
Criar ou excluir uma entrada de nota/citação no diárioadd_journal_entry / delete_journal_entry

Listas

O que você pode fazerFerramenta
Ver todas as suas listasget_my_lists
Ver uma lista específica com seus livrosget_list
Criar, renomear ou excluir uma listacreate_list / update_list / delete_list
Adicionar ou remover livros de uma listaadd_book_to_list / remove_book_from_list

Desenvolvimento

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

Verificações de lint e formatação (usando Ruff):

uv run ruff check src/
uv run ruff format --check src/

Execute os testes:

uv run pytest tests/ -v

Testes de Integração

Os testes de integração acessam a API ao vivo do Hardcover e exigem um token válido. Eles são ignorados automaticamente em CI e quando o token está ausente.

Para executá-los localmente, crie um arquivo .env com seu token:

HARDCOVER_API_TOKEN=your_token_here

Em seguida, execute:

uv run pytest tests/integration/ -v

Os testes de escrita seguem um ciclo de vida criar → verificar → excluir, para que a conta permaneça inalterada.

Contribuindo

Contribuições são bem-vindas! Por favor:

  1. Abra uma issue primeiro para discutir a mudança.
  2. Faça um fork do repositório e crie uma branch (feature/short-description ou fix/short-description).
  3. Execute lint e testes antes de enviar:
    uv run ruff check src/
    uv run ruff format --check src/
    uv run pytest tests/ -v
    
  4. Mantenha os PRs focados — uma mudança por PR.
  5. Use prefixos de commit convencionais: feat:, fix:, chore:, docs:.

Limite de Taxa

A API do Hardcover permite 60 solicitações por minuto. O servidor lida com isso automaticamente — ele enfileira solicitações e tenta novamente se necessário. Você não deve atingir esse limite no uso normal.

Solução de Problemas

ProblemaCorreção
"API token is not set"Adicione seu token à configuração (veja Início Rápido acima)
"Access is denied" no WindowsAdicione "UV_LINK_MODE": "copy" ao bloco env na sua configuração
Erros lentos ou repetidosO servidor tenta novamente automaticamente — aguarde um momento e tente de novo
Resultados inesperadosVerifique se há uma versão mais recente: a API do Hardcover pode ter mudado

Aviso Legal

Projeto não oficial. Não afiliado ao Hardcover.