hardcover-mcp
v1.0.0
Published
MCP server for the Hardcover GraphQL API.
Maintainers
Readme
hardcover-mcp
MCP server for the Hardcover GraphQL API.
Features
- Read access for books, authors, editions, users, publishers, characters, series, prompts, lists, user libraries, and activity feeds
- Write access for lists, prompts, prompt answers, user-library entries, and read-history records
- Structured outputs designed for MCP clients instead of raw GraphQL payloads
- One activity tool that supports
for_you,global, and user-specific modes
Tools
Read tools
hardcover_searchhardcover_get_bookhardcover_get_authorhardcover_get_editionhardcover_get_userhardcover_get_publisherhardcover_get_characterhardcover_get_serieshardcover_get_activity_feedhardcover_get_user_libraryhardcover_get_listhardcover_get_prompt
Write tools
hardcover_create_listhardcover_update_listhardcover_delete_listhardcover_add_book_to_listhardcover_update_list_bookhardcover_remove_book_from_listhardcover_follow_listhardcover_unfollow_listhardcover_set_user_bookhardcover_delete_user_bookhardcover_add_user_book_readhardcover_update_user_book_readhardcover_delete_user_book_readhardcover_create_prompthardcover_update_prompthardcover_delete_prompthardcover_follow_prompthardcover_unfollow_prompthardcover_add_prompt_answerhardcover_update_prompt_answerhardcover_delete_prompt_answer
The current surface mixes read tools with focused write tools for lists, user-library records, and prompts.
hardcover_search returns normalized summaries per entity type instead of the raw search payload.
hardcover_get_activity_feed supports for_you, global, and user-specific activity in one tool.
Requirements
- Node.js 22+
- A Hardcover API token from hardcover.app/account/api
Setup
Install dependencies:
npm installSet your Hardcover token:
HARDCOVER_API_TOKEN="Bearer <token from hardcover.app/account/api>"Use the token value exactly as Hardcover shows it on hardcover.app/account/api. The server forwards that value directly in the
Authorizationheader.Build the server:
npm run build
Run locally
npm startInstall via npm
Run directly with npx:
npx -y hardcover-mcpValidate locally
Run the offline smoke test to verify the built server starts and registers the expected tools:
npm run checkRun the live smoke test to hit the real Hardcover API with read-only calls:
HARDCOVER_API_TOKEN="Bearer <token from hardcover.app/account/api>" npm run smoke:liveExample MCP client config
Using the published npm package:
{
"mcpServers": {
"hardcover": {
"command": "npx",
"args": ["-y", "hardcover-mcp"],
"env": {
"HARDCOVER_API_TOKEN": "Bearer YOUR_TOKEN_HERE"
}
}
}
}Using a local checkout:
{
"mcpServers": {
"hardcover": {
"command": "node",
"args": ["/absolute/path/to/hardcover-mcp/dist/index.js"],
"env": {
"HARDCOVER_API_TOKEN": "Bearer YOUR_TOKEN_HERE"
}
}
}
}Notes
- Default endpoint:
https://api.hardcover.app/v1/graphql - Override the endpoint with
HARDCOVER_API_URL - Hardcover documents a 60 requests/minute rate limit and a maximum query depth of 3
- Ambiguous exact-name lookups for authors and series may include
_selection.alternativesin the response so callers can refine byidorslug - CI runs
npm run checkon pushes tomasterand on pull requests - List privacy values in the MCP tools are
public,followers_only, andprivate
