# audiobookshelf-mcp

Browse your Audiobookshelf libraries and keep listening progress, bookmarks and playlists in sync

- **Type:** MCP server
- **Trust:** 85/100 (A), scored on the package rubric
- **Verification:** verified (build provenance)
- **Version:** 0.2.0
- **Author:** io.github.ni-c
- **License:** Unknown
- **npm:** audiobookshelf-mcp
- **Source:** https://github.com/ni-c/audiobookshelf-mcp
- **Compatible clients:** claude-code, cursor, copilot, gemini (basis: transport)

## Trust

85/100 (A), scored on the package rubric
- Publisher verified: no
- Build provenance: verified attestation
- npm trusted publishing (OIDC): yes
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 1 day

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-01T10:02:58.066Z
- **Version scanned:** 0.2.0
- **CVEs:** none found by OSV at scan time

## Tools

40 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `list_collections` — Lists collections — the curated, ordered groups of books. Without
- `get_collection` — Fetches one collection with the books it contains, in order.
- `create_collection` — Creates a collection of books. Audiobookshelf rejects empty
- `update_collection` — Renames a collection, changes its description or reorders its books.
- `add_books_to_collection` — Adds one or more books to an existing collection. Books already in the
- `remove_books_from_collection` — Removes books from a collection. The books themselves are untouched —
- `delete_collection` — Deletes a collection. The books stay in the library, but the curated
- `get_library_item` — Fetches one book or podcast including its metadata, tags and the
- `get_item_chapters` — Returns the chapter list of a book with start and end times in seconds.
- `get_podcast_episode` — Fetches one podcast episode with its publication date, duration and
- `list_recent_episodes` — Lists the most recently published episodes across a podcast library —
- `list_libraries` — Lists the Audiobookshelf libraries the API key’s user can access, with
- `get_library` — Fetches a single library including its folders and scanner settings.
- `get_library_stats` — Statistics for one library: number of items, authors and genres, total
- `get_library_filter_data` — Returns the values that can be filtered on in this library: authors,
- `list_library_items` — Lists items (books or podcasts) of a library, paginated, sortable and
- `search_library` — Full-text search within one library. Matches books, podcasts, series,
- `get_personalized_shelves` — The shelves of the Audiobookshelf home screen for this user: Continue
- `list_series` — Lists the series of a book library with their number of books and total
- `get_series` — Fetches a single series by id, including its books. To list the books
- `list_authors` — Lists all authors of a book library with their number of books. To list
- `get_author` — Fetches a single author, optionally with the library items attributed
- `list_tags` — Lists all tags used on the server, across libraries. Tags are the
- `list_genres` — Lists all genres used on the server, across libraries. Genres come from
- `get_server_status` — Version and initialization state of the Audiobookshelf server. Useful
- `get_me` — Returns the Audiobookshelf user the API key acts on behalf of, with
- `list_items_in_progress` — The items the user has started but not finished, newest first — the
- `get_media_progress` — The listening progress of the current user for one book or podcast
- `get_listening_stats` — Aggregated listening statistics of the current user: total time, time
- `get_year_stats` — The "year in review" statistics of the current user for one calendar
- `list_listening_sessions` — The playback sessions of the current user, newest first — each entry is
- `list_bookmarks` — The bookmarks of the current user — either all of them, or those of one
- `list_playlists` — Lists the playlists of the API key’s user. Without library_id it returns
- `get_playlist` — Fetches one playlist with its entries, in order.
- `create_playlist` — Creates a playlist for the API key’s user. Unlike a collection it may
- `update_playlist` — Renames a playlist, changes its description or reorders its entries.
- `add_items_to_playlist` — Appends books or podcast episodes to a playlist. All entries must come
- `remove_items_from_playlist` — Removes entries from a playlist. The media itself is untouched and the
- `delete_playlist` — Deletes a playlist. The media stays in the library. Two-step: the first
- `set_media_progress` — Creates or updates the listening progress of the API key’s user for one

## Install

**Verdict: install** — No blocking findings and no open coverage gaps — safe to install as configured.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"audiobookshelf\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"audiobookshelf-mcp\"\n      ],\n      \"env\": {\n        \"AUDIOBOOKSHELF_API_KEY\": \"<YOUR_AUDIOBOOKSHELF_API_KEY>\"\n      }\n    }\n  }\n}"
```
**Credentials it will ask for** (names only — Forge never holds a value):
- `AUDIOBOOKSHELF_API_KEY` — Audiobookshelf API Key (required)
Placeholders only. Forge never holds, brokers, or transmits a credential value — replace each <YOUR_NAME> in your own config file. Do not send a value back to Forge; no Forge endpoint accepts one.
- This entry needs 1 credential (1 required). The generated config carries placeholders, so it will fail in the editor rather than at runtime if they are left unset.

## Blast radius

Extensive blast radius — deletes data; holds an api key.
- Floor 55, ceiling 55 (tier: extensive)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/audiobookshelf-mcp
- Install plan: https://forgeregistry.com/api/v1/packages/audiobookshelf-mcp/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/audiobookshelf-mcp
- HTML page: https://forgeregistry.com/registry/audiobookshelf-mcp
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
