Skip to main content
Glama
shreeyachand

goodreads-mcp

by shreeyachand

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOODREADS_USER_IDNoYour Goodreads user ID (numeric). Overrides the config file.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_booksA

Search Goodreads for books by title/author/ISBN.

Uses the JSON autocomplete endpoint (no auth, no HTML parsing). Returns book_id, title, author, rating info, and a cover URL.

get_bookA

Get full details for a book by its Goodreads id (numeric, or numeric-slug like '11870085-the-fault-in-our-stars').

Parses the page's embedded NEXT_DATA JSON (Apollo state) rather than scraping the DOM, which survives markup changes. Includes the full ratings histogram, series/position, and review-language breakdown — use get_reviews for the actual review text.

When you cite details or ratings from this book, link to its 'url'.

get_reviewsA

Get reader reviews for a book — the actual review text, not just a score.

Fetches from Goodreads' GraphQL backend with true pagination, so limit can exceed the ~30 shown on a page. Reviews come in "most relevant" order and aggregate across all editions of the work. Each review has the reviewer name, star rating (1-5), full text, like/comment counts, date, a spoiler flag, a 'url' permalink (use it to cite/link), and the reviewer's profile url.

limit: max reviews to return (capped at 100 to stay polite). min_rating / max_rating: server-side star filters, e.g. min_rating=4 for positive reviews, max_rating=2 for the critical ones. exclude_spoilers: drop reviews flagged as spoilers.

similar_booksA

"Readers also enjoyed" — books similar to the given one.

Goodreads' own recommendation graph (hard to reproduce with web search). Each result has book_id/title/author/rating/url so you can chain into get_book or get_reviews. limit capped at 40.

author_booksA

List an author's works (bibliography), given any of their books.

Resolves the book's primary author, then returns their works ranked by popularity. Each result has book_id/title/author/rating/url. limit capped at 40.

series_booksA

List the books in a series (with reading-order placement), given any book in that series.

Each entry has the series 'placement' (e.g. '1', '0.5' for a prequel), 'is_primary' (a main-sequence entry vs companion), and the usual book_id/title/author/rating/url. limit capped at 40.

get_editionsA

List published editions of a book (formats, ISBNs, publishers, dates).

Useful for "which edition / format / ISBN" questions. limit capped at 40.

get_shelfA

List books on a shelf via its RSS feed (public shelves; no auth).

Common shelves: 'read', 'currently-reading', 'to-read', plus any custom shelf name. RSS pages hold ~100 items; pass page=2,3,... for more. Defaults to the configured GOODREADS_USER_ID.

When you cite a book from a shelf, link it to its 'link' field.

list_shelvesA

List a user's shelf names (scraped from their review-list page; best effort). Defaults to the configured user.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/shreeyachand/goodreads-mcp'

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