# Open Library (npm · mcp-open-library)

Search books and authors on the Internet Archive's Open Library

- Trust score: 81/100 (high trust)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-12

## Components

- npm · `mcp-open-library`: 81/100 (this document), [markdown](https://verifymcp.io/servers/8ensmith-mcp-open-library/mcp-open-library.md), [page](https://verifymcp.io/servers/8ensmith-mcp-open-library/mcp-open-library)

## Channel facts

- Registry: `npm`
- Package: `mcp-open-library`
- Version: `1.1.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-12.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 33 of 108 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to 8enSmith/mcp-open-library).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 79/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1055 tokens (~150/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add 8ensmith-mcp-open-library -- npx -y mcp-open-library
```

### Codex

```bash
codex mcp add 8ensmith-mcp-open-library -- npx -y mcp-open-library
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "8ensmith-mcp-open-library": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-open-library"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add 8ensmith-mcp-open-library --command npx --arg -y --arg mcp-open-library
```

### Hermes

```yaml
mcp_servers:
  8ensmith-mcp-open-library:
    command: "npx"
    args: ["-y", "mcp-open-library"]
```

### Other

```json
{
  "mcpServers": {
    "8ensmith-mcp-open-library": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-open-library"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-12 (score 81, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-08-11 (score 66, −12)

- [security regression] Malware scan: pass → unverified
- [functional regression] Security disclosure: fail → unverified
- [functional] Package version: 1.1.0 → 1.1.2
- [functional] Package version: 1.1.0 → 1.1.1
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-08-10 (score 78, 0)

- [functional regression] Schema quality: pass → fail
- [functional improvement] Stability: unverified → 0.03
- [functional] Schema quality: good → excellent
- [functional] Package version: 1.0.3 → 1.1.0

### 2026-08-09 (score 78)

First indexed and scored.

## MCP tools (7)

### `search_books` (~402 tokens)

Search books

Search Open Library across titles, authors, subjects, places, people, publishers and ISBNs. Provide at least one search criterion: q, title, author, subject, place, person, publisher, isbn; combining several narrows the search. Returns at most `limit` results (default 10) together with `num_found`, the total number of matches; page through them with `offset`. Each result carries `best_edition` — one edition of the work, with its `isbn_13`/`isbn_10` where Open Library has them, and its `edition_key`, which can be passed to `get_book_by_id` as `{ idType: "olid" }` for that edition's full record.

Input parameters:

- `author` (string): Search by author name.
- `isbn` (string): Search by ISBN-10 or ISBN-13.
- `language` (string): Restrict results to a language, as a 3-letter MARC code (e.g. eng, fre, spa).
- `limit` (integer): Maximum number of results to return (1-50, default 10).
- `offset` (integer): Number of results to skip, for paging through the total reported as num_found (0-1000, default 0).
- `person` (string): Search by a person the book is about.
- `place` (string): Search by a place the book is about.
- `publisher` (string): Search by publisher.
- `q` (string): Free-form query searched across all fields. Supports Solr syntax, e.g. `subject:cyberpunk AND first_publish_year:[1980 TO 1990]`.
- `sort` (string): Result ordering. Omit for relevance. `new`/`old` order by first publication date, `rating` by average rating.
- `subject` (string): Search by subject.
- `title` (string): Search by book title.

### `get_book_by_title` (~187 tokens)

Find books by title

Search for a book by its title on Open Library. Returns at most `limit` results (default 10) together with `num_found`, the total number of matches; page through them with `offset`. Each result carries `best_edition` — one edition of the work, with its `isbn_13`/`isbn_10` where Open Library has them, and its `edition_key`, which can be passed to `get_book_by_id` as `{ idType: "olid" }` for that edition's full record.

Input parameters:

- `limit` (integer): Maximum number of results to return (1-50, default 10).
- `offset` (integer): Number of results to skip, for paging through the total reported as num_found (0-1000, default 0).
- `title` (string, required): The title of the book to search for.

### `get_book_by_id` (~74 tokens)

Get book by identifier

Get detailed information about a book using its identifier (ISBN, LCCN, OCLC, OLID).

Input parameters:

- `idType` (string, required): The type of identifier used (isbn, lccn, oclc, olid). Case-insensitive.
- `idValue` (string, required): The value of the identifier.

### `get_authors_by_name` (~138 tokens)

Find authors by name

Search for author information on Open Library. Returns at most `limit` authors (default 10) together with `num_found`, the total number of matches; page through them with `offset`. Each result's `key` can be passed to `get_author_info` for that author's full record.

Input parameters:

- `limit` (integer): Maximum number of results to return (1-50, default 10).
- `name` (string, required): The name of the author to search for.
- `offset` (integer): Number of results to skip, for paging through the total reported as num_found (0-1000, default 0).

### `get_author_info` (~54 tokens)

Get author details

Get detailed information for a specific author using their Open Library Author Key (e.g. OL23919A).

Input parameters:

- `author_key` (string, required): The Open Library key for the author (e.g., OL23919A).

### `get_author_photo` (~75 tokens)

Get author photo URL

Get the URL for an author's photo using their Open Library Author ID (OLID e.g. OL23919A). Reports when no photo exists rather than returning a URL to a blank placeholder.

Input parameters:

- `olid` (string, required): The Open Library Author ID (OLID) for the author (e.g. OL23919A).

### `get_book_cover` (~125 tokens)

Get book cover URL

Get the URL for a book's cover image using a key (ISBN, OCLC, LCCN, OLID, ID) and value. Reports when no cover exists rather than returning a URL to a blank placeholder.

Input parameters:

- `key` (string, required): The type of identifier used (ISBN, OCLC, LCCN, OLID, ID). ID is Open Library's internal cover ID.
- `size` (string): The desired size of the cover (S, M, or L). Defaults to L.
- `value` (string, required): The value of the identifier.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/8ensmith-mcp-open-library/mcp-open-library#diagnostics

## Score history

- 2026-08-12: 81
- 2026-08-11: 66
- 2026-08-10: 78
- 2026-08-09: 78

## Links

- npm package: https://www.npmjs.com/package/mcp-open-library
- Socket report: https://socket.dev/npm/package/mcp-open-library
- Repository: https://github.com/8enSmith/mcp-open-library
- Changelog RSS feed: https://verifymcp.io/servers/8ensmith-mcp-open-library/mcp-open-library.xml
- Changelog JSON feed: https://verifymcp.io/servers/8ensmith-mcp-open-library/mcp-open-library.json
- HTML version of this page: https://verifymcp.io/servers/8ensmith-mcp-open-library/mcp-open-library
