bookshelf-mcp
This server provides MCP tools to manage a Bookshelf (Readarr fork) instance via its full REST API, covering both read and write operations with destructive actions flagged. Key capabilities include:
Authors: list, get by ID, create/update/delete, bulk operations, search via metadata provider.
Books: list with filters, get overview/full details, create/update/delete, bulk operations, set monitored, lookup, add to shelves.
Book Files: list/update/delete/bulk, get single, filter by author/book/unmapped.
Editions & Calendar: list editions by book; list/get calendar entries.
Commands: run, list, get, delete/cancel.
Download Queue, History & Blocklist: manage queue; history with filters, mark failed; blocklist list/delete/bulk.
Download Clients & Import Lists: full CRUD, bulk, schema, test, actions; manage import list exclusions.
Indexers, Release Search & Profiles: manage indexers, search releases, custom formats, delay profiles, quality profiles, release profiles, language profiles.
Configuration: update host, download client, and development configs; naming and UI config.
System & Storage: backups (list/delete/restore/upload), disk space, health, filesystem browsing, logs, update checks/install, system status, tasks.
Other: tags, custom filters, root folders, remote path mappings, metadata providers, notifications, manual import, rename files, authentication, users, and more.
All destructive operations are flagged with destructiveHint: true, and write operations are clearly labeled.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bookshelf-mcpSearch for books by Brandon Sanderson"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bookshelf-mcp
Part of the arr-mcps collection. MCP server exposing Bookshelf's v1 REST API (a Readarr fork, OpenAPI 3.0.1) as tools, so an LLM can read and manage a Bookshelf instance: authors, books, book files, editions, series, the download queue, history, indexers, import lists, custom formats, tags, commands, system status, and more. Full surface — reads and writes, with destructive tools flagged.
Built with FastMCP.
Getting an API key
Generate one in Bookshelf Settings > General > Security. Auth is the
X-Api-Key header.
Related MCP server: mylar3-mcp
Install
Download a wheel from the latest release
and install it as a uv tool (no repo checkout needed):
uv tool install bookshelf_mcp-*.whlThis puts a bookshelf-mcp command on your PATH. Register it with Claude Code:
claude mcp add bookshelf \
--env BOOKSHELF_URL=http://your-bookshelf-host:8787 \
--env BOOKSHELF_API_KEY=<key> \
-- bookshelf-mcpFrom source
uv sync
cp .env.example .env # fill in BOOKSHELF_URL and BOOKSHELF_API_KEYclaude mcp add bookshelf \
--env BOOKSHELF_URL=http://your-bookshelf-host:8787 \
--env BOOKSHELF_API_KEY=<key> \
-- uv run --directory /path/to/bookshelf-mcp bookshelf-mcpConfig
Env var | Required | Default |
| yes | - |
| yes* | none (no |
* Every API endpoint requires auth; practically you must set it, but the server still starts without one so errors surface from the API rather than at startup.
Tools
15 resource-scoped tools, each covering multiple Bookshelf v1 endpoints
(221 total) via an operation parameter. Call a tool with operation set
to one of its listed operations and an arguments dict matching that
operation's parameters — the tool's own description (visible to your MCP
client) lists every operation, its signature, and a one-line doc. This keeps
the full REST surface available while costing a fraction of the context
budget of registering all 221 endpoints as separate tools.
Tool | Operations | Kind |
| 40 | reads + writes |
| 33 | reads + writes |
| 27 | reads + writes |
| 20 | reads + writes |
| 18 | reads + writes |
| 16 | reads + writes |
| 16 | reads + writes |
| 11 | reads + writes |
| 9 | reads + writes |
| 7 | reads + writes |
| 7 | reads + writes |
| 7 | reads + writes |
| 4 | read-only |
| 4 | reads + writes |
| 2 | read-only |
Example: bookshelf_queue(operation="bookshelf_delete_queue", arguments={"id": 42}).
Endpoint-level naming (bookshelf_<verb>_<resource>) is preserved as the
operation value, so the full endpoint list is still discoverable from each
group tool's description at runtime.
Development
make help # list all commandsCommand | Does |
|
|
| Offline tests - one per endpoint, mocked HTTP |
| Tests against the live instance (needs |
| Build wheel + sdist into |
| Bump the version in |
| Remove build artifacts |
The release workflow (.github/workflows/release.yml) builds and publishes to
Releases whenever a v*
tag is pushed - so the usual flow is make bump-patch, commit, then tag and
push.
The integration suite is read-only by default (GET endpoints only). Set
BOOKSHELF_WRITE_TESTS=1 to also exercise POST/PUT/DELETE against a scratch tag
(created, updated, then deleted). Never run write tests against a production
library.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceHTTP MCP server enabling LLMs to search, create, read, update, and delete BookStack entities (books, chapters, pages, shelves) using API tokens.301MIT
- AlicenseAqualityAmaintenanceMCP server that exposes Mylar3's HTTP API as tools, letting an LLM read and manage a comic library including watchlist, wanted issues, upcoming, history, logs, story arcs, and providers.5MIT
- AlicenseCqualityAmaintenanceMCP server exposing Radarr's v3 REST API as tools, enabling LLMs to read and manage movies, downloads, history, indexers, and more.100MIT
- AlicenseCqualityBmaintenanceExposes the Sonarr v3 REST API as MCP tools, enabling LLMs to read and manage a Sonarr instance including series, episodes, downloads, history, and more. Supports both read and write operations, with destructive tools flagged.100MIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arr-mcps/bookshelf-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server