Skip to content
Agentmart
Submit a tool

Audiobookshelf

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

Connector by ni-c · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 1
Write a review

Chalk Labs

Need help deploying Audiobookshelf?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/ni-c-audiobookshelf-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.

Tools
29 read · 6 write · 9 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 44

Read from the source code; the running server may list different tools.

Read 29 · Look things up without changing anything.

  • get_author
  • get_collection
  • get_item_chapters
  • get_library
  • get_library_filter_data
  • get_library_item
  • get_library_stats
  • get_listening_stats
  • get_me
  • get_media_progress
  • get_personalized_shelves
  • get_playlist
Show 17 more tools
  • get_podcast_episode
  • get_series
  • get_server_status
  • get_year_stats
  • list_authors
  • list_bookmarks
  • list_collections
  • list_genres
  • list_items_in_progress
  • list_libraries
  • list_library_items
  • list_listening_sessions
  • list_playlists
  • list_recent_episodes
  • list_series
  • list_tags
  • search_library

Write 6 · Create, change, send or run things.

  • add_books_to_collection
  • add_items_to_playlist
  • create_bookmark
  • create_collection
  • create_playlist
  • set_media_progress

Delete 9 · Delete, drop, revoke or wipe things.

  • delete_bookmark
  • delete_collection
  • delete_media_progress
  • delete_playlist
  • remove_books_from_collection
  • remove_items_from_playlist
  • update_bookmark
  • update_collection
  • update_playlist

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • AUDIOBOOKSHELF_API_KEY

Other settings (environment variables or headers).

  • AUDIOBOOKSHELF_ALLOW_TOOLS
  • AUDIOBOOKSHELF_DENY_TOOLS
  • AUDIOBOOKSHELF_INSECURE_TLS
  • AUDIOBOOKSHELF_READ_ONLY
  • AUDIOBOOKSHELF_URL

Network hosts it talks to 4

  • audiobookshelf-mcp.ni-c.de · found in code
  • github.com · found in code
  • glama.ai · found in code
  • raw.githubusercontent.com · found in code

Tools (44)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_books_to_collectionAdd books to collection

    Adds one or more books to an existing collection. Books already in the collection are ignored; books from a different library are rejected.

  • add_items_to_playlistAdd items to playlist

    Appends books or podcast episodes to a playlist. All entries must come from the playlist’s library and match its kind — a podcast playlist needs an episode_id on every entry, a book playlist on none.

  • create_bookmarkCreate bookmark

    Creates a bookmark at a position of a book for the API key’s user. The position in seconds is the bookmark’s identity — a second bookmark at the same second is rejected.

  • create_collectionCreate collection

    Creates a collection of books. Audiobookshelf rejects empty collections, so at least one library item id is required, and every item must be a book from the given library.

  • create_playlistCreate playlist

    Creates a playlist for the API key’s user. Unlike a collection it may start out empty and it may hold podcast episodes.

  • delete_bookmarkDelete bookmarkcan change or delete data

    Deletes the bookmark at a given position. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it.

  • delete_collectionDelete collectioncan change or delete data

    Deletes a collection. The books stay in the library, but the curated list and its order are gone. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it. Requires an Audiobookshelf account with delete permission.

  • delete_media_progressDelete media progresscan change or delete data

    Deletes a progress record of the API key’s user, which removes the listening history for that item — position, finished state and dates. Takes the media progress id (field "id" of get_media_progress), not the library item id. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it.

  • delete_playlistDelete playlistcan change or delete data

    Deletes a playlist. The media stays in the library. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it.

  • get_authorGet authorread-only

    Fetches a single author, optionally with the library items attributed to them.

  • get_collectionGet collectionread-only

    Fetches one collection with the books it contains, in order.

  • get_item_chaptersGet item chaptersread-only

    Returns the chapter list of a book with start and end times in seconds. Separate from get_library_item because long audiobooks can have hundreds of chapters.

  • get_libraryGet libraryread-only

    Fetches a single library including its folders and scanner settings.

  • get_library_filter_dataGet library filter dataread-only

    Returns the values that can be filtered on in this library: authors, genres, tags, series, narrators, languages and publishers, each with the id or name to pass to list_library_items as filter_value.

  • get_library_itemGet library itemread-only

    Fetches one book or podcast including its metadata, tags and the listening progress of the API key’s user. Chapters, audio files and tracks are not part of the compact projection — use get_item_chapters for chapters, or detail="full" for everything.

Show 29 more tools
  • get_library_statsGet library statsread-only

    Statistics for one library: number of items, authors and genres, total duration and size, longest and largest items.

  • get_listening_statsGet listening statsread-only

    Aggregated listening statistics of the current user: total time, time per weekday, the last 30 days, the ten most listened items and the ten most recent sessions. detail="full" returns the complete per-day history and the full metadata of every item ever listened to, which is the largest response this API produces.

  • get_meGet the current userread-only

    Returns the Audiobookshelf user the API key acts on behalf of, with their permissions and accessible libraries. The compact projection reports media progress and bookmarks as counts — the full user object embeds every single one of them. Credential fields are removed from both projections.

  • get_media_progressGet media progressread-only

    The listening progress of the current user for one book or podcast episode: position, percentage and whether it is finished. Returns a 404 error when the item has never been started.

  • get_personalized_shelvesGet personalized shelvesread-only

    The shelves of the Audiobookshelf home screen for this user: Continue Listening, Continue Series, Recently Added, Newest Episodes, Listen Again and so on. The fastest answer to "what am I listening to right now?".

  • get_playlistGet playlistread-only

    Fetches one playlist with its entries, in order.

  • get_podcast_episodeGet podcast episoderead-only

    Fetches one podcast episode with its publication date, duration and description.

  • get_seriesGet seriesread-only

    Fetches a single series by id, including its books. To list the books with paging and sorting, use list_library_items with filter_group="series" instead.

  • get_server_statusGet server statusread-only

    Version and initialization state of the Audiobookshelf server. Useful to check connectivity and whether the server is new enough for API keys (2.26.0 or later).

  • get_year_statsGet stats for a yearread-only

    The "year in review" statistics of the current user for one calendar year: books finished, time listened, top authors and genres.

  • list_authorsList authorsread-only

    Lists all authors of a book library with their number of books. To list the books of one author, call list_library_items with filter_group="authors" and filter_value=<author id>.

  • list_bookmarksList bookmarksread-only

    The bookmarks of the current user — either all of them, or those of one library item. A bookmark is a named position in seconds. Audiobookshelf has no bookmarks endpoint: they are a field on the account, so this reads /api/me and filters here. That is why there is no pagination — you get all of them.

  • list_collectionsList collectionsread-only

    Lists collections — the curated, ordered groups of books. Without library_id it returns the collections of every accessible library. Collections are shared server-wide; playlists are private per user.

  • list_genresList genresread-only

    Lists all genres used on the server, across libraries. Genres come from the media metadata, not from the user.

  • list_items_in_progressList items in progressread-only

    The items the user has started but not finished, newest first — the "Continue Listening" list across all libraries. The entries carry progressLastUpdate but not the position itself; use get_media_progress for that. For podcasts, recentEpisode names the episode in progress.

  • list_librariesList librariesread-only

    Lists the Audiobookshelf libraries the API key’s user can access, with their id, name and media type (book or podcast). Start here — every other library tool needs a library id.

  • list_library_itemsList library itemsread-only

    Description is built at runtime.

  • list_listening_sessionsList listening sessionsread-only

    The playback sessions of the current user, newest first — each entry is one listening stretch with device, position and time listened.

  • list_playlistsList playlistsread-only

    Lists the playlists of the API key’s user. Without library_id it returns the playlists of every accessible library. Playlists are private per user and can hold books or podcast episodes; collections are shared server-wide and hold books only.

  • list_recent_episodesList recent podcast episodesread-only

    Lists the most recently published episodes across a podcast library — the "Newest Episodes" view. Only works on libraries with mediaType "podcast".

  • list_seriesList seriesread-only

    Lists the series of a book library with their number of books and total duration. To list the books of one series, call list_library_items with filter_group="series" and filter_value=<series id>.

  • list_tagsList tagsread-only

    Lists all tags used on the server, across libraries. Tags are the user-defined labels on library items.

  • remove_books_from_collectionRemove books from collectioncan change or delete data

    Removes books from a collection. The books themselves are untouched — only their membership in the collection ends, and it can be restored with add_books_to_collection. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it.

  • remove_items_from_playlistRemove items from playlistcan change or delete data

    Removes entries from a playlist. The media itself is untouched and the entries can be added back with add_items_to_playlist. Note that Audiobookshelf deletes a playlist automatically once its last entry is removed. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it.

  • search_librarySearch a libraryread-only

    Full-text search within one library. Matches books, podcasts, series, authors, narrators and tags. Use this for "do I own X?" questions; use list_library_items with a filter for "show me all X" questions.

  • set_media_progressSet media progress

    Creates or updates the listening progress of the API key’s user for one book or podcast episode. Set is_finished=true to mark it as finished, is_finished=false to reopen it (which resets the position to 0), or current_time to jump to a position in seconds. Audiobookshelf also marks an item finished on its own once less than ten seconds remain.

  • update_bookmarkUpdate bookmarkcan change or delete data

    Renames the bookmark at a given position. The position itself cannot be changed — delete the bookmark and create a new one for that.

  • update_collectionUpdate collectioncan change or delete data

    Renames a collection, changes its description or reorders its books. library_item_ids ONLY REORDERS. It cannot add or remove anything: Audiobookshelf sorts the books the collection already has by their position in this list, so an id that is not currently in the collection is ignored, and a book you leave out is not removed — it moves to the FRONT. Pass every current book, in the order you want. Use add_books_to_collection and remove_books_from_collection to change membership. Reordering asks a person first, because the order somebody arranged cannot be reconstructed afterwards; renaming and…

  • update_playlistUpdate playlistcan change or delete data

    Renames a playlist, changes its description or reorders its entries. items ONLY REORDERS. It cannot add or remove anything, and it must contain EXACTLY the entries the playlist already has: Audiobookshelf refuses a list of a different length with HTTP 400 "Invalid playlist items. Length mismatch". Read the current entries with get_playlist first, then send them in the order you want. Use add_items_to_playlist and remove_items_from_playlist to change membership. The library of a playlist cannot be changed. Reordering asks a person first, because the order somebody arranged cannot be reconstru…

Signals

Stars
1
Forks
0
Open issues
0
Last commit
Oct 21, 2026 (10 days ago)
Last release
Sep 7, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.ni-c/audiobookshelf-mcp
Version
0.4.0
Auth
API key
Packages
npm audiobookshelf-mcpoci ghcr.io/ni-c/audiobookshelf-mcp:0.4.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ni-c

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get Audiobookshelf running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Audiobookshelf?

CallGet help
Cite this page

Audiobookshelf MCP server. Agent Mart. https://agentmart.dev/connectors/ni-c-audiobookshelf-mcp (last updated 2026-10-24)