BookStack MCP server
Give an agent full read and write access to your self-hosted BookStack wiki: search, books, chapters, pages, shelves, and more.
BookStack MCP Server is a community server that exposes the full BookStack REST API to an AI agent, turning a self-hosted BookStack wiki into a tool the model can both read from and write to. BookStack organizes documentation as a hierarchy of shelves, books, chapters, and pages, and this server maps that whole structure to MCP tools: the agent can search across the wiki, list and read any book, chapter, page, or shelf, and create, update, delete, or export them. Beyond content it covers attachments and images, user and role administration, content-level permissions, the recycle bin for restoring deleted items, and an audit log, so an agent can do real knowledge-base maintenance, not just lookups.
It is a TypeScript server run with npx and authenticates to your BookStack instance with two environment variables: BOOKSTACK_BASE_URL pointing at the instance's /api endpoint and BOOKSTACK_API_TOKEN in the token_id:token_secret form that BookStack issues. By default it runs as a stateless Streamable HTTP server; set MCP_TRANSPORT=stdio to run it locally for Claude Desktop and other stdio clients. Because the write, delete, and admin tools are real, scope the API token to what the agent needs and keep mutations behind review.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Available tools
| Tool | Description |
|---|---|
| bookstack_search | Searches across the BookStack wiki for matching content. |
| bookstack_search_books | Searches specifically within books. |
| bookstack_books_list | Lists books with sorting and pagination. |
| bookstack_books_read | Reads a single book by id. |
| bookstack_books_create | Creates a new book. |
| bookstack_books_update | Updates an existing book. |
| bookstack_books_delete | Deletes a book (moves it to the recycle bin). |
| bookstack_books_export | Exports a book to PDF, HTML, plain text, or Markdown. |
| bookstack_chapters_list | Lists chapters. |
| bookstack_chapters_read | Reads a single chapter by id. |
| bookstack_chapters_create | Creates a chapter inside a book. |
| bookstack_chapters_update | Updates an existing chapter. |
| bookstack_chapters_delete | Deletes a chapter. |
| bookstack_chapters_export | Exports a chapter to a chosen format. |
| bookstack_pages_list | Lists pages. |
| bookstack_pages_read | Reads a single page's content. |
| bookstack_pages_create | Creates a page from HTML or Markdown. |
| bookstack_pages_update | Updates an existing page. |
| bookstack_pages_delete | Deletes a page. |
| bookstack_pages_export | Exports a page to a chosen format. |
| bookstack_shelves_list | Lists bookshelves. |
| bookstack_shelves_read | Reads a single shelf by id. |
| bookstack_shelves_create | Creates a bookshelf. |
| bookstack_shelves_update | Updates an existing shelf. |
| bookstack_shelves_delete | Deletes a shelf. |
| bookstack_attachments_list | Lists attachments. |
| bookstack_attachments_read | Reads an attachment's metadata or content. |
| bookstack_attachments_create | Creates an attachment on a page. |
| bookstack_attachments_update | Updates an attachment. |
| bookstack_attachments_delete | Deletes an attachment. |
| bookstack_images_list | Lists images in the image gallery. |
| bookstack_images_read | Reads an image's metadata. |
| bookstack_images_create | Uploads a new image. |
| bookstack_images_update | Updates an image. |
| bookstack_images_delete | Deletes an image. |
| bookstack_users_list | Lists users. |
| bookstack_users_read | Reads a single user by id. |
| bookstack_users_create | Creates a user. |
| bookstack_users_update | Updates a user. |
| bookstack_users_delete | Deletes a user. |
| bookstack_roles_list | Lists roles. |
| bookstack_roles_read | Reads a single role by id. |
| bookstack_roles_create | Creates a role. |
| bookstack_roles_update | Updates a role. |
| bookstack_roles_delete | Deletes a role. |
| bookstack_permissions_read | Reads content-level permissions for an item. |
| bookstack_permissions_update | Updates content-level permissions for an item. |
| bookstack_recyclebin_list | Lists items currently in the recycle bin. |
| bookstack_recyclebin_restore | Restores an item from the recycle bin. |
| bookstack_recyclebin_delete_permanently | Permanently deletes an item from the recycle bin. |
| bookstack_audit_log_list | Lists audit-log activity entries. |
| bookstack_system_info | Returns BookStack system information. |
Required configuration
- BOOKSTACK_BASE_URLRequired
Your BookStack API endpoint, e.g. https://your-bookstack.com/api.
- BOOKSTACK_API_TOKENRequired
BookStack API token in token_id:token_secret form.
- MCP_TRANSPORTOptional
Transport mode: http (default) or stdio for local clients.
- BOOKSTACK_TIMEOUTOptional
Request timeout in milliseconds for BookStack API calls.
What you can do with it
Answer from your own wiki
The agent searches BookStack, reads the relevant pages, and answers grounded in your team's documentation instead of guessing or hallucinating.
Draft and file new docs
Ask the agent to write up a runbook and it can create the page in the right book and chapter, attach images, and export the result without anyone shuttling content by hand.
FAQ
- Is it official?
- No. It is a community-built, MIT-licensed server (by pnocera) that wraps the official BookStack REST API; BookStack itself does not ship a first-party MCP server.
- Does it support remote/OAuth?
- It runs as a stateless Streamable HTTP server by default or as a local stdio server (MCP_TRANSPORT=stdio), and authenticates with a BookStack API token rather than OAuth. There is no hosted multi-tenant endpoint; you point it at your own BookStack instance.
- Can the agent change or delete content?
- Yes. The server exposes create, update, delete, and admin tools across pages, books, users, roles, and permissions, so scope the API token tightly and keep mutating actions behind review.