audiobookshelf
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port. Default 3000. Bound to 127.0.0.1. | 3000 |
| ABS_CONTACT | No | Contact token in the User-Agent. Must not contain the token. | |
| ABS_BASE_URL | Yes | Required. Self-hosted Audiobookshelf origin, http or https, with no userinfo, query, hash, or path. Example: http://127.0.0.1:13378. | |
| ABS_TOOLSETS | No | Comma list of toolsets, or all. Default is the read-focused set: libraries,items,collections,playlists,me,authors,series,podcasts,search,sessions,stats,tags,genres. | |
| ABS_API_TOKEN | Yes | Bearer token from your Audiobookshelf user. Sent as Authorization: Bearer <token>. | |
| MCP_TRANSPORT | No | Transport mode: stdio or http. The --http flag overrides this. | |
| ABS_PER_MINUTE | No | Local request budget. Default 30. Cache hits do not spend it. | 30 |
| ABS_TIMEOUT_MS | No | Upstream timeout in milliseconds. Default 20000. | 20000 |
| ABS_ALLOW_WRITES | No | Must be the literal true before a confirmed write is sent. | |
| ABS_CACHE_TTL_SEC | No | Read cache TTL in seconds. Default 60. Writes clear the cache. | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| abs_authorsA | abs_authors covers the authors toolset (5 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Destructive or credential actions add an extra warning in the preview: delete, scan, match, purge, backup restore, user changes, API key create or revoke, password, and settings. Actions: delete_by_id, delete_image, get_by_id, patch_by_id, post_match. |
| abs_collectionsA | abs_collections covers the collections toolset (9 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Destructive or credential actions add an extra warning in the preview: delete, scan, match, purge, backup restore, user changes, API key create or revoke, password, and settings. Actions: delete_book, delete_by_id, get, get_by_id, patch_by_id, post, post_batch_add, post_batch_remove, post_book. |
| abs_genresA | abs_genres covers the genres toolset (3 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Destructive or credential actions add an extra warning in the preview: delete, scan, match, purge, backup restore, user changes, API key create or revoke, password, and settings. Actions: delete_by_id, get, post_rename. |
| abs_itemsA | abs_items covers the items toolset (18 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Destructive or credential actions add an extra warning in the preview: delete, scan, match, purge, backup restore, user changes, API key create or revoke, password, and settings. Actions: delete_by_id, delete_cover, delete_file, get_by_id, get_ffprobe, get_metadata_object, patch_cover, patch_ebook_status, patch_media, patch_tracks, post_batch_delete, post_batch_get, post_batch_quickmatch, post_batch_scan, post_batch_update, post_chapters, post_match, post_scan. |
| abs_librariesA | abs_libraries covers the libraries toolset (26 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Destructive or credential actions add an extra warning in the preview: delete, scan, match, purge, backup restore, user changes, API key create or revoke, password, and settings. Actions: delete_by_id, delete_issues, delete_narrators, get, get_authors, get_by_id, get_collections, get_episode_downloads, get_filterdata, get_items, get_matchall, get_narrators, get_personalized, get_playlists, get_podcast_titles, get_recent_episodes, get_search, get_series, get_series_id_series_id, get_stats, patch_by_id, patch_narrators, post, post_order, post_remove_metadata, post_scan. |
| abs_meA | abs_me covers the me toolset (23 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Destructive or credential actions add an extra warning in the preview: delete, scan, match, purge, backup restore, user changes, API key create or revoke, password, and settings. Actions: delete_item_bookmark, delete_progress, delete_sessions, get, get_bookmarks, get_bookmarks_library_item_id, get_item_listening_sessions, get_items_in_progress, get_listening_sessions, get_listening_stats, get_progress, get_progress_id_episode_id, get_progress_remove_from_continue_listening, get_series_readd_to_continue_listening, get_series_remove_from_continue_listening, get_sessions, get_stats_year, patch_item_bookmark, patch_password, patch_progress, patch_progress_batch_update, post_ereader_devices, post_item_bookmark. |
| abs_playlistsA | abs_playlists covers the playlists toolset (10 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Destructive or credential actions add an extra warning in the preview: delete, scan, match, purge, backup restore, user changes, API key create or revoke, password, and settings. Actions: delete_by_id, delete_item, get, get_by_id, patch_by_id, post, post_batch_add, post_batch_remove, post_collection, post_item. |
| abs_podcastsA | abs_podcasts covers the podcasts toolset (12 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Destructive or credential actions add an extra warning in the preview: delete, scan, match, purge, backup restore, user changes, API key create or revoke, password, and settings. Actions: delete_episode, get_checknew, get_clear_queue, get_downloads, get_episode, get_search_episode, patch_episode, post, post_feed, post_match_episodes, post_opml_create, post_opml_parse. |
| abs_searchC | abs_search covers the search toolset (6 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Actions: get_authors, get_books, get_chapters, get_covers, get_podcast, get_providers. |
| abs_seriesA | abs_series covers the series toolset (2 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Actions: get_by_id, patch_by_id. |
| abs_sessionsA | abs_sessions covers the sessions toolset (4 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Actions: get, get_open, get_session, post_session_close. |
| abs_statsB | abs_stats covers the stats toolset (2 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Actions: get_server, get_year. |
| abs_tagsA | abs_tags covers the tags toolset (3 operations). Auth is Authorization Bearer from ABS_API_TOKEN. Self-hosted Audiobookshelf only. action help with target returns one action's parameters. Writes need confirm set to the boolean true and ABS_ALLOW_WRITES=true. Omit confirm for a dry-run preview that sends nothing. Destructive or credential actions add an extra warning in the preview: delete, scan, match, purge, backup restore, user changes, API key create or revoke, password, and settings. Actions: delete_by_id, get, post_rename. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Top-level tools split cleanly by resource, but abs_libraries duplicates capabilities of other tools (get_collections, get_items, get_authors, get_narrators, get_playlists, get_series, get_search, get_stats), so an agent could reasonably pick either abs_collections.get or abs_libraries.get_collections. abs_me also overlaps with abs_sessions (get_listening_sessions vs get_session) and abs_items (bookmarks/progress). The descriptions are templates that never explain when to use the library-scoped variant over the dedicated resource tool.
Every tool follows a uniform abs_<plural-resource> pattern in snake_case, which is highly predictable. Internal action names are also consistently snake_case verb_noun, though some are awkward or generated-looking (get_series_id_series_id, get_progress_id_episode_id, post_batch_get).
13 tools is a good count for an API-covering server and each maps to a recognizable domain object. However, several tools are heavily overloaded (abs_libraries with 26 actions, abs_me with 23, abs_items with 18), so the true surface is much larger than the tool count suggests.
Core media domains are covered (items, libraries, series, authors, collections, playlists, podcasts, search, stats, sessions, me). But the descriptions repeatedly reference destructive actions for users, backups, API keys, and server settings that have no corresponding tool, leaving notable gaps for admin work. There is also no obvious 'help'/'list actions' tool beyond an action=help convention buried in descriptions.