Audiobookshelf

io.github.sierikov由 GitHub 帳號 sierikov 發布v0.2.0更新於 Nov 1, 2026

Browse Audiobookshelf libraries and listening stats; opt-in tools fix chapters, genres and tags.

概覽

AI 產生的概覽

讓 AI 助理連接自架的 Audiobookshelf 伺服器,瀏覽書庫、搜尋有聲書、查看收聽進度與統計,並可選擇性修正章節與中繼資料。

可以做什麼
  • 列出書庫、依標題、作者或朗讀者搜尋,並分頁瀏覽書庫項目
  • 讀取項目詳情、正在收聽的項目及單一項目的進度
  • 查詢收聽統計與最近的收聽紀錄
  • 瀏覽系列、作者與合集
  • 取得書籍章節、搜尋 Audible 版本,並取代或重新命名章節(需啟用)
  • 統計類型、標籤與語言,查詢中繼資料來源,並新增或移除類型與標籤或設定語言與簡介(需啟用)
適用情境
適合自架 Audiobookshelf 伺服器、希望助理回答書庫與收聽歷史問題,或批次整理章節標題、類型、標籤與簡介的使用者。
執行需求
以本機執行檔或 Claude Desktop 的 .mcpb 安裝包執行(macOS、Windows、Linux)。需要可連線的 Audiobookshelf 伺服器網址(AUDIOBOOKSHELF_URL)與 API 權杖(AUDIOBOOKSHELF_TOKEN)。可選 AUDIOBOOKSHELF_TOOLSETS 指定啟用的工具集,預設為 libraries、items 與 playback。
安裝前請注意
預設工具集為唯讀,但 chapters 與 metadata 工具集會寫入書庫,需要具備 Update 權限的權杖。取代章節與移除中繼資料被標示為破壞性操作;只有在回傳的舊值有效時才能復原。新增或移除標籤可能改變受標籤限制的使用者(例如兒童帳號)可見的內容。API 權杖透過環境變數傳入。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Audiobookshelf,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Audiobookshelf MCP Server

[Go] [Go Report Card] [MCP Registry]

A Model Context Protocol server for Audiobookshelf - gives AI assistants access to your self-hosted audiobook and podcast library.

MCP Registry name: mcp-name: io.github.sierikov/audiobookshelf-mcp

What can it do?

Ask your AI assistant things like:

  • "What am I currently listening to?"
  • "Search for Dune in my library"
  • "What are my listening stats?"
  • "What did I listen to recently?"
  • "How far am I in Katabasis?"
  • "What libraries do I have?"

Tools

ToolDescriptionToolset
list_librariesList all librarieslibraries
search_librarySearch by title, author, or narratorlibraries
list_library_itemsList items with paginationlibraries
get_itemGet detailed info about an audiobook or podcast, including its tagsitems
get_items_in_progressGet currently listening items with progressitems
get_listening_statsTotal listening time and daily breakdownplayback
get_listening_sessionsRecent listening sessionsplayback
get_media_progressProgress for a specific itemplayback
list_seriesList all series in a librarybrowse
get_seriesGet series details with booksbrowse
get_authorGet author details with booksbrowse
list_collectionsList collections in a librarybrowse
get_chaptersA book's chapters, duration and audio fileschapters
search_audibleFind matching Audible editions, closest runtime firstchapters
get_audible_chaptersAudible's chapter list for an ASINchapters
set_chaptersReplace all of a book's chapters (writes)chapters
rename_chaptersRename chapters, keeping their timestamps (writes)chapters
get_metadata_overviewCount every genre, tag and language in a library, and the books missing themmetadata
find_itemsList books with their genres, tags and language, filtered; detail: full adds a description previewmetadata
search_book_metadataLook a book up in one metadata source (fantlab, google, audible, openlibrary, itunes)metadata
add_genresAdd genres to books (writes)metadata
remove_genresRemove genres from books (writes)metadata
add_tagsAdd tags to books (writes)metadata
remove_tagsRemove tags from books (writes)metadata
update_itemsSet the language and description of books (writes)metadata

Default toolsets: libraries, items, playback. The browse, chapters and metadata toolsets are opt-in via AUDIOBOOKSHELF_TOOLSETS.

Fixing chapters

With the chapters toolset enabled, ask things like "Fix the chapters for Katabasis". The assistant reads the book's current chapters, searches Audible for the edition whose runtime matches your files, fetches its chapters, replaces generic titles ("Chapter 1, 2, 3") with real ones, and shows you the list before saving. When Audible has no match, it can build the list from its own research or from timestamps you give it. Every save returns the previous chapters, so a change can be undone, as long as those old chapters were valid (old chapters that run past the end of the book, for example, cannot be saved back).

Cleaning up genres, tags and descriptions

With the metadata toolset enabled, ask things like "Make my genres consistent" or "Fix the descriptions of the Harry Hole books". The assistant surveys the library with get_metadata_overview, proposes a mapping from the old genres or tags to the new ones, and shows you the affected books. After you say yes, it adds the new value first and then removes the old one, so no book is left without it. For descriptions it looks up real ones with search_book_metadata, shows each change from old to new, and tells you when it wrote a description itself. Every write returns what it changed, so a change can be undone: the genre and tag tools list each book's added or removed values, and update_items returns the previous values.


Install in Claude Desktop (one-click)

Download the .mcpb bundle for your platform, open it, and Claude Desktop will walk you through setup.

The .mcpb format is currently only supported by Claude Desktop. Other clients use the manual setup below.


Manual setup (all other clients)

1. Get your API token

Audiobookshelf → Settings → Users → your user → API Token

2. Install the binary

go install:

bash
go install github.com/sierikov/audiobookshelf-mcp/cmd/audiobookshelf-mcp@latest

Download and install to /usr/local/bin:

macOS (Apple Silicon)
bash
curl -L https://github.com/sierikov/audiobookshelf-mcp/releases/latest/download/audiobookshelf-mcp-macos-arm64 \  -o /usr/local/bin/audiobookshelf-mcp && chmod +x /usr/local/bin/audiobookshelf-mcp
macOS (Intel)
bash
curl -L https://github.com/sierikov/audiobookshelf-mcp/releases/latest/download/audiobookshelf-mcp-macos-amd64 \  -o /usr/local/bin/audiobookshelf-mcp && chmod +x /usr/local/bin/audiobookshelf-mcp
Linux (x64)
bash
curl -L https://github.com/sierikov/audiobookshelf-mcp/releases/latest/download/audiobookshelf-mcp-linux-amd64 \  -o /usr/local/bin/audiobookshelf-mcp && chmod +x /usr/local/bin/audiobookshelf-mcp
Linux (arm64)
bash
curl -L https://github.com/sierikov/audiobookshelf-mcp/releases/latest/download/audiobookshelf-mcp-linux-arm64 \  -o /usr/local/bin/audiobookshelf-mcp && chmod +x /usr/local/bin/audiobookshelf-mcp
Windows

Download audiobookshelf-mcp-windows-amd64.exe, rename to audiobookshelf-mcp.exe, and place it in a directory on your %PATH% (e.g. C:\Program Files\audiobookshelf-mcp\).

3. Configure your client

Claude Code
bash
claude mcp add audiobookshelf \  -e AUDIOBOOKSHELF_URL=https://abs.example.com \  -e AUDIOBOOKSHELF_TOKEN=your-token \  -- audiobookshelf-mcp
Antigravity CLI (formerly Gemini CLI)
bash
antigravity --add-mcp '{"name":"audiobookshelf","command":"audiobookshelf-mcp","env":{"AUDIOBOOKSHELF_URL":"https://abs.example.com","AUDIOBOOKSHELF_TOKEN":"your-token"}}'
OpenCode

Add to ~/.config/opencode/config.json:

json
{  "mcpServers": {    "audiobookshelf": {      "type": "stdio",      "command": "audiobookshelf-mcp",      "args": [],      "env": {        "AUDIOBOOKSHELF_URL": "https://abs.example.com",        "AUDIOBOOKSHELF_TOKEN": "your-token"      }    }  }}

Configuration

VariableRequiredDefaultDescription
AUDIOBOOKSHELF_URLYes—Your Audiobookshelf server URL
AUDIOBOOKSHELF_TOKENYes—API token from Settings → Users
AUDIOBOOKSHELF_TOOLSETSNolibraries,items,playbackComma-separated toolsets to enable: libraries, items, playback, browse, chapters, metadata. Use all to enable everything, including the chapters and metadata write tools.

Security

The default toolsets are read-only. Two opt-in toolsets write, and both need an API token whose user has the Update permission in Audiobookshelf. Neither needs admin.

  • chapters: set_chapters and rename_chapters replace a book's chapters. They are annotated as destructive so MCP clients ask before running them, and return the previous chapters so a change can be undone when those old chapters were valid.
  • metadata: add_genres, remove_genres, add_tags and remove_tags add and remove genres and tags, and update_items sets language and description. The remove tools and update_items are annotated as destructive. Every write can be undone: the list tools by calling the opposite tool with each book's added or removed values, update_items by passing the previous values it returns. Audiobookshelf can limit what a user sees by tag, so add_tags and remove_tags can change what a restricted user, such as a kids account, can see.

all includes every write tool; list toolsets explicitly to stay read-only. No tool deletes items, controls playback, or manages users. The API token is passed via environment variable, never logged or exposed.

License

MIT

來源:README.md,提交 f456434

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

2
  1. v0.2.0最新Nov 1, 2026
  2. v0.0.1Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分