Skip to main content
Glama
kristianedlund

hardcover-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UV_LINK_MODENoSet to 'copy' on Windows if you encounter access denied errors
HARDCOVER_API_TOKENYesYour Hardcover API token from https://hardcover.app/account/api

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
meA

Get authenticated user info (id, username, name, books count).

get_userA

Look up another Hardcover user's public profile by id, username, or name. Returns bio, book/follower counts, and privacy. Set include_library=true to also fetch their recent library entries (subject to their privacy setting).

get_activity_feedA

Get recent reading activity (status changes, ratings, reviews, list updates), newest first. Defaults to the feed of users you follow. Pass user_id or username to fetch a single user's activity instead.

get_reading_statsA

Get library reading statistics: total books, books per status, average rating, and books read in a given year.

search_booksC

Search Hardcover by title, author, or ISBN. Supports multiple entity types: books (default), authors, series, lists, users, publishers, characters, and prompts.

get_bookA

Get detailed info about a specific book by its Hardcover ID or slug.

get_charactersB

Get characters associated with a book by its Hardcover ID. Returns character names and descriptions.

get_user_libraryA

Get books from your library. Filter by reading status or finished-date range (start_date + end_date). Sort by rating, title, or updated date. Use sort='rating', order='desc' to get top-rated books. Use start_date + end_date to answer 'what did I read in May last year?'

get_user_bookB

Get your library entry for a book: status, rating, reads.

get_user_reviewsB

List your reviews, newest first. Includes review text, rating, and book info.

get_owned_booksA

List all books you have marked as owned. Returns title, authors, and edition details.

get_reading_goalA

Get your active reading goals with target, metric, progress, and date range.

get_my_listsA

Get your Hardcover lists. Returns id, name, books count, privacy.

get_listA

Get a specific Hardcover list with its books by list ID.

get_seriesA

Get a book series by id, slug, or name with books in reading order.

get_authorA

Get an author's details and books by Hardcover ID, slug, or name.

get_trending_booksA

Get currently trending books, most popular first. Choose a time window with 'duration'.

get_vibesB

List Hardcover 'vibes' — curated, themed book recommendation collections (e.g. 'Hidden Gem Fantasy'). Each vibe includes its books.

get_publisherA

Look up a publisher by Hardcover ID, slug, or name. Returns publisher info and a paginated list of editions.

get_editionC

Get edition details by Hardcover ID, ISBN-13, or ASIN.

set_user_bookA

Set a book's status, rating, review, privacy, and private notes. Preserves unspecified fields.

set_reading_goalB

Create or update a reading goal with target, metric, dates, and optional description/privacy.

set_edition_ownedA

Mark an edition as owned or not owned. Use get_edition to find the edition ID first.

add_user_book_readA

Add a reading date or progress entry. Updates active read if one exists. Supports page progress and audiobook time tracking.

update_user_book_readA

Update a reading date or progress entry. Preserves unspecified fields. Supports page progress and audiobook time tracking.

delete_user_book_readA

Delete a reading date entry by its ID. This cannot be undone.

delete_user_bookA

Remove a book from your library entirely. This cannot be undone.

create_listC

Create a new Hardcover list.

update_listA

Update an existing Hardcover list's name, description, or privacy.

delete_listA

Delete a Hardcover list by ID. This cannot be undone.

add_book_to_listC

Add a book to a Hardcover list.

remove_book_from_listB

Remove a book from a list. Use id or list_id + book_id.

get_reading_journalA

Fetch reading journal entries for the authenticated user. Includes notes, quotes, status changes, ratings, reviews, and progress updates. Supports optional filters: book_id, event type, limit, and offset.

add_journal_entryB

Create a reading journal entry (for example a note or quote) for a book.

delete_journal_entryB

Delete a reading journal entry by ID.

get_promptsA

List community book prompts. Optionally filter to featured prompts only. Returns question, description, answers_count, and books_count.

answer_promptA

Submit a book as an answer to a community book prompt.

follow_userC

Follow a Hardcover user by user_id or username.

unfollow_userB

Unfollow a Hardcover user by user_id or username.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 39 tools

Disambiguation4/5

Most tools have clearly distinct resource/action purposes, but there is some overlap among read surfaces: get_activity_feed, get_reading_journal, and get_user_reviews all expose review/activity data. Similarly, search_books can return authors, series, lists, and users that also have dedicated getter tools, though descriptions generally clarify the intended use.

Naming Consistency4/5

The set mostly follows a predictable snake_case verb_noun pattern with clear prefixes like get_, set_, add_, update_, delete_, and create_. Minor deviations exist, such as the standalone 'me', 'get_reading_journal' versus 'add_journal_entry'/'delete_journal_entry', and 'get_my_lists' versus other get_user_* tools.

Tool Count2/5

With 39 tools, the server is heavy relative to typical MCP tool sets and exceeds the 25+ threshold that usually signals over-expansion. While Hardcover is a broad domain, several tools could likely be consolidated or grouped to reduce selection burden.

Completeness4/5

Coverage is broad: books, editions, authors, publishers, users, lists, journal entries, reading goals, owned books, prompts, and social follow actions are all represented. Minor gaps remain, such as updating journal entries, deleting reading goals, managing followers/following lists, or removing prompt answers.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive