Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOODREADS_USER_IDNoYour numeric Goodreads user ID, used as the default for shelf tools. Overrides the config file ~/.config/goodreads-mcp/config.json.

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
}
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.

max_results: how many to return. The autocomplete endpoint itself answers with at most ~5 matches, so a larger value returns what Goodreads sent, not more.

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, all series memberships, and review-language breakdown — use get_reviews for the actual review text. review_language_limit controls how many languages are returned (default 5, maximum 25).

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, each 1-5, e.g. min_rating=4 for positive reviews, max_rating=2 for the critical ones. exclude_spoilers: drop reviews flagged as spoilers. Paging is capped, so a book whose reviews are mostly spoilers can return fewer than limit.

'has_more' is true when Goodreads has reviews this call did not read.

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. Results paginate in batches and limit is capped at 100.

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. Results paginate in batches and limit is capped at 100.

series_booksA

List the books in a series (with reading-order placement), given any book in that series. When a book belongs to multiple series, pass the zero-based series_index from get_book's series_memberships order.

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. Results paginate in batches and limit is capped at 100.

get_editionsA

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

Useful for "which edition / format / ISBN" questions. Results paginate in batches and limit is capped at 100.

book_listsA

List the Listopia lists a book appears on (e.g. "Best Dystopian Fiction"), ordered by popularity.

Each list has its title, total member votes, how many books it contains, and a 'url'. Good for "what kind of book is this / what's it grouped with" and for discovery. Results paginate in batches and limit is capped at 100.

popular_booksA

Most popular books by release date — Goodreads' "Popular by date" chart.

Ranks the books/works released in a given year (or a specific month of a year) by how many Goodreads members have added them. Mirrors the goodreads.com/book/popular_by_date/[/] page.

year: 4-digit release year. month: optional 1-12 for a single month; omit for the whole year. limit: how many to return (capped at 50).

Each entry has rank, count (members who added it), and the usual book_id/title/author/rating/url so you can chain into get_book/get_reviews.

compare_booksA

Compare several books side by side by rating and rating distribution.

Fetches each book and returns them ranked best-to-worst by average rating, with the ratings_histogram plus 'pct_positive' (share of 4-5 star) and 'pct_critical' (share of 1-2 star) so you can judge not just the average but how divisive each book is. Pass 2-10 book ids (from search_books etc.); more than 10 is refused rather than silently trimmed, so split the call.

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 (pages start at 1). 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 public profile page; best effort). Defaults to the configured user.

Covers the exclusive shelves (read, to-read, ...) and custom shelves; every name works as get_shelf's 'shelf' argument. Raises LoginRequired for a private profile. The profile page may cap a very long shelf list.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.5/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct resource or action: search, book details, reviews, editions, series, author bibliography, similar books, shelves, list membership, popular charts, and comparison. Even the retrieval-heavy tools have clear boundaries, and descriptions reinforce when to use each.

Naming Consistency4/5

Most tools follow a get_/list_/search_ verb_noun pattern, but several are noun-phrase names like book_lists, popular_books, author_books, similar_books, and series_books. The naming is still readable and predictable, with only minor convention mixing.

Tool Count5/5

12 tools is well-scoped for a read-only Goodreads server. Each tool covers a meaningful part of the book discovery surface without redundancy or bloat.

Completeness4/5

The surface covers search, book details, reviews, editions, series, author works, shelves, similar books, lists, popular charts, and comparison. Minor gaps exist—like no direct author profile details or no way to browse the books inside a specific Listopia list—but core workflows are complete.

Maintenance

ActivityNo data
ResponsivenessResponsive