mcpbeat

Openlibrary MCP Server

io.github.cyanheads/openlibrary-mcp-server
answering

Openlibrary MCP Server is answering right now. Last checked 4 min ago. 298 installs a week from npm. It exposes 10 tools. Last commit 30 Jul 2026.

Search books and authors, fetch editions, browse subjects, and resolve cover images.

Installs per day peak 735 · avg 58 · -65% w/w
a month agotoday
Uptime history 42 hours of history · worst hour 75%
42 hours agonow
100.0%
Uptime 24h
91 of 91 checks
10
Tools
read from the server
373 ms
Response time
average over 24h
298
Installs / week
npm and PyPI

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 4 min ago.

run in your terminal
claude mcp add openlibrary-mcp-server --transport http https://openlibrary.caseyjhand.com/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "openlibrary-mcp-server": {
      "url": "https://openlibrary.caseyjhand.com/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.openlibrary-mcp-server]
url = "https://openlibrary.caseyjhand.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "openlibrary-mcp-server": {
      "url": "https://openlibrary.caseyjhand.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "openlibrary-mcp-server": {
      "url": "https://openlibrary.caseyjhand.com/mcp"
    }
  }
}

Available tools 10

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

openlibrary
openlibrary_get_author
Fetch author detail by Open Library Author ID (OL…A). Returns bio, birth/death dates, photo IDs, and linked identifiers from Wikidata, VIAF, ISNI, Goodreads, and LibraryThing. Use openlibrary_search_authors to find an author ID first.
openlibrary_get_author_works
List works by an author. Returns titles, cover IDs, and work OLIDs for drilling into editions or details. Use openlibrary_get_author for author bio and details, or openlibrary_get_editions to explore specific printings.
openlibrary_get_cover_url
Resolve a cover image URL for a book or author photo. Returns a direct HTTPS URL in the requested size (S/M/L). The Covers API always returns HTTP 200 — missing covers return a 1×1 placeholder GIF, not a 404 — so the identifier format is validated locally first: "id" must be numeric, "isbn" 10 or 13 digits, "olid" an edition OLID (OL…M) for target "book" and an author OLID (OL…A) for target "author". Identifiers with path separators or control characters, and author-by-ISBN lookups, are rejected before any request. URLs can be embedded in markdown as ![cover](url).
openlibrary_get_edition
Resolve one or more editions by identifier: ISBN-10, ISBN-13, OCLC, LCCN, or Open Library Edition ID (OL…M). Every identifier in a call shares one id_type — pass id_type "isbn" for both ISBN-10 and ISBN-13. Up to 50 identifiers resolve in a single upstream request, so a bibliography or shelf export costs one call rather than one per book; a large batch is a large response, so ask for what you need. Returns full edition metadata including authors, publisher, language, all identifier types, and the parent work ID, with author names inline and no secondary lookup; when the edition record itself lists no authors, they are recovered from the parent work and marked as such. Partial success is the norm — identifiers that resolve come back in editions, the rest are listed in unresolved with a reason, and the call fails only when nothing resolved.
openlibrary_get_editions
List editions of a work — different publishers, languages, formats, and print runs. Returns ISBNs, publisher, language, page count, and edition OLIDs. Use after openlibrary_get_work or openlibrary_search_books to find a specific printing.
openlibrary_get_subject
Browse works by subject. Returns matching works with edition counts and cover IDs, plus the total work count for the subject. Case and spacing are normalized before lookup, so "Science Fiction" and "science_fiction" are the same request. Subject tags are user-contributed and the vocabulary varies — when a subject returns no works, try a different word form (singular/plural), a synonym, or a broader term.
openlibrary_get_work
Fetch a work by Open Library Work ID (OL…W). Returns title, description, subjects, cover IDs, and linked author IDs for follow-up lookups. Works represent the abstract book concept independent of any specific edition. Note: author names are not included — use openlibrary_get_author or openlibrary_search_books for names.
openlibrary_search_authors
Search Open Library authors by name. Returns Open Library Author IDs, names, birth/death dates, top works, and subject associations. Use author IDs for openlibrary_get_author (bio, remote IDs) or openlibrary_get_author_works (list of works).
openlibrary_search_books
Full-text book search across Open Library works. Supports field filters (title, author, subject, publisher, ISBN, language) and returns work-level records with edition counts, cover IDs, and reading availability. Use query for general search or combine specific field filters. Results are work-level — drill into editions via openlibrary_get_editions.
openlibrary_search_inside
Search the full text of books scanned by the Internet Archive — the "which book contains this passage?" lookup that the metadata tools cannot answer. Quote a phrase for an exact-phrase match; bare terms match anywhere in the text. Each result is an Internet Archive item with the matching passages as snippets, plus a relevance score. The full-text index is an order of magnitude slower than the metadata endpoints (seconds, not milliseconds), so reach for it when the passage is the question, not as a general book search — use openlibrary_search_books for title, author, or subject. Results key on Internet Archive items rather than Open Library works: chain the returned ia_identifier to archive.org, or match it against the ia_identifiers on openlibrary_search_books results to reach the catalogue record.

Endpoints

URLTransportStateLatencyChecked
https://openlibrary.caseyjhand.com/mcp streamable-http answering 378 ms 4 min ago

Openlibrary MCP Server — questions

Answers built from our own checks of this server.

What can Openlibrary MCP Server do?
It exposes 10 tools, read directly from the server on our last check. Among them: openlibrary_get_author, openlibrary_get_author_works, openlibrary_get_cover_url, openlibrary_get_edition, openlibrary_get_editions, openlibrary_get_subject and 4 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Openlibrary MCP Server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 373 ms. The bar chart above shows every period we have measured.
How do I connect Openlibrary MCP Server?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Openlibrary MCP Server need an API key?
No. Openlibrary MCP Server completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 10 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Openlibrary MCP Server?
It answers our handshake in 373 ms on average, which is faster than 37% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Openlibrary MCP Server?
The npm package @cyanheads/openlibrary-mcp-server was installed 298 times in the last week. Week over week that is -65%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Openlibrary MCP Server open source?
Yes — it is published under the Apache-2.0 licence, written in TypeScript, 1 stars on GitHub and 2 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.