A side-by-side look at the Goodreads MCP and Gutendex MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Goodreads MCP for art & culture work as a local process; choose Gutendex for art & culture as a local process. You can also run both side by side in one mcpServers block.
search_books, get_book, get_reviews.search_books, get_book, popular_books.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Art & Culture | Art & Culture |
| Quality signal | 52/100 · Good | 55/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 1 |
| Directory activity | 0 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 12 | 4 |
| Full listing | View Goodreads MCP | View Gutendex |
search_booksJSON autocomplete endpoint (stable) — book_id, title, author, rating, cover; `max_results` defaults to 10, but the endpoint returns about 5 matches at mostget_book__NEXT_DATA__` via the `.xml` page (stable) — details, cover, ratings histogram, every series membership, review-language breakdown (`review_language_limit`, default 5, max 25); edition `publication_date` and the work's `first_published`, `original_title`, `language`, `isbn` / `isbn13` / `asin`, `a…get_reviewsGraphQL — paginated reader reviews (text, rating, likes, date, spoiler flag, permalink); `limit` default 10, capped at 100; server-side `min_rating` / `max_rating` (1–5, min ≤ max), `sort` (`relevance` default, `newest`, `oldest`), `language` (two-letter code, as in `get_book`'s `review_languages`)…similar_booksGraphQL — paginated "readers also enjoyed" recommendations; `limit` up to 100author_booksGraphQL — paginated author bibliography, ranked by popularity, from any of their books, plus `author_url`; `limit` up to 100series_booksGraphQL — paginated series books with reading-order placement; `series_index` (zero-based, in `get_book`'s `series_memberships` order) picks the series; `limit` up to 100get_editionsGraphQL — paginated editions (format, ISBN, publisher, publication date as `publication_date` YYYY-MM-DD plus raw `publication_time` in epoch ms); `limit` up to 100book_listsGraphQL — paginated Listopia lists a book appears on (title, votes, size); `limit` up to 100popular_booksGraphQL — most popular books by release `year`, or a single `month` (1–12), ranked; `limit` capped at 50compare_booksget_book` for each id (`__NEXT_DATA__` via `.xml`) — ranks 1–10 distinct books by rating with positive/critical share; a repeated id is fetched once; more than 10 ids is refused; a book that fails comes back as an `error` entryget_shelfshelf RSS feed (stable) — books on a public shelf (rating and year as ints, `None` when absent; dates as `YYYY-MM-DD`; plus `cover`, `pages`, `my_review`); `page` starts at 1, about 100 items per page; `user_id` overrides the configured user; raises `LoginRequired` for a private profilelist_shelvesbest-effort HTML scrape of the public profile page — shelf names; raises `LoginRequired` for a private profilesearch_booksSearch for books by title or author name. Returns book IDs, titles, authors, and download counts.get_bookGet full details for a book by ID. Returns title, author, publication year, language, available formats, and download count.popular_booksGet the most downloaded books ranked by popularity. Returns titles, authors, IDs, and download statistics.books_by_topicBrowse books by subject or topic (e.g., 'science fiction', 'philosophy'). Returns matching titles, authors, and IDs.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"goodreads-mcp": {
"command": "uvx",
"args": [
"goodreads-mcp-ai"
]
}
}
}
{
"mcpServers": {
"gutendex": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-gutendex"
]
}
}
}