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 分