Integration

BookStack integration

BookStack is a self-hosted wiki that organizes documentation into shelves, books, chapters and pages. Read, search, create, update, move and delete content, export pages, chapters and books (HTML, Markdown, plain text, PDF, ZIP), manage comments, tags, attachments, gallery images, ZIP imports and the recycle bin, and administer users, roles and per-item permissions. Each call acts with the permissions of the token's user. Left out: the API docs routes, cover images on books and shelves, and user passwords (invite users by email instead). Authentication is a BookStack API token (ID and secret) plus the address of your instance.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in BookStack.Built from the 79 BookStack tools below, on the connection you add once.

What you can do with BookStack

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Book, 6 operations

  • create_bookCreate bookPOSTAgents: ask firstCreates a book and returns it with its id. Cover images are not set through this tool.
  • delete_bookDelete bookDELETEAgents: ask firstDeletes a book with its chapters and pages; they usually go to the recycle bin, from where restore_recycle_bin_item can bring them back.
  • get_bookGet bookGETAgents: ask firstReturns one book with its description, tags, cover, owner and authors, and its contents: the chapters (with their pages) and pages directly inside, each with a type of chapter or page.
  • list_booksList booksGETAgents: ask firstLists the books visible to the token's user (id, name, slug, description, cover, dates), 100 per call by default. Use filter, sort, count and offset to narrow and page.
  • search_bookSearch bookGETAgents: ask firstSearches the pages and chapters inside one book, with the same syntax as the BookStack search bar; a {type:...} term can narrow it further.
  • update_bookUpdate bookPUTAgents: ask firstChanges a book's name, description, tags or default template. Fields left out keep their value. Cover images are not set through this tool.

Chapter, 6 operations

  • create_chapterCreate chapterPOSTAgents: ask firstCreates a chapter in a book and returns it with its id.
  • delete_chapterDelete chapterDELETEAgents: ask firstDeletes a chapter and its pages; they usually go to the recycle bin, from where restore_recycle_bin_item can bring them back.
  • get_chapterGet chapterGETAgents: ask firstReturns one chapter with its description, tags, owner and authors, and the list of pages it contains.
  • list_chaptersList chaptersGETAgents: ask firstLists the chapters visible to the token's user (id, name, slug, book_id, description, priority, dates), 100 per call by default. Use filter, sort, count and offset to narrow and page.
  • search_chapterSearch chapterGETAgents: ask firstSearches the pages inside one chapter, with the same syntax as the BookStack search bar.
  • update_chapterUpdate chapterPUTAgents: ask firstChanges a chapter: name, description, tags, priority, default template, or its book (book_id moves it). Fields left out keep their value.

Attachment, 5 operations

  • create_attachmentCreate attachmentPOSTAgents: ask firstAttaches a file or a link to a page: pass uploaded_to (the page ID), a name, and either file (a stored file) or link (a URL). Returns the attachment with its id.
  • delete_attachmentDelete attachmentDELETEAgents: ask firstDeletes an attachment (and its file) from its page. Cannot be undone.
  • get_attachmentGet attachmentGETAgents: ask firstReturns one attachment with its content: the link URL, or the file content base64-encoded, plus html and markdown links to it.
  • list_attachmentsList attachmentsGETAgents: ask firstLists the attachments visible to the token's user: name, extension, the page they belong to (uploaded_to), and external (true for a link, false for an uploaded file).
  • update_attachmentUpdate attachmentPUTAgents: ask firstChanges an attachment's name, its page (uploaded_to) or its link URL. Fields left out keep their value. Replacing an uploaded file is not exposed here.

Comment, 5 operations

  • create_commentCreate commentPOSTAgents: ask firstPosts a comment on a page (or a reply with reply_to); the page's watchers may be notified. Returns the comment.
  • delete_commentDelete commentDELETEAgents: ask firstDeletes a comment. Cannot be undone.
  • get_commentGet commentGETAgents: ask firstReturns one comment with its html content, author, archived flag and its direct replies.
  • list_commentsList commentsGETAgents: ask firstLists the comments visible to the token's user: the item they belong to (commentable_type and commentable_id), reply parent, author and editor IDs and dates. The content is not in the list: read it with get_comment.
  • update_commentUpdate commentPUTAgents: ask firstChanges a comment's html content, or archives or unarchives it (top-level comments only). Fields left out keep their value.

Image gallery, 5 operations

  • create_imageCreate imagePOSTAgents: ask firstUploads an image file (jpeg, png, gif, webp or avif) to the gallery of a page and returns it with its url, thumbnails and ready-made html and markdown to insert it.
  • delete_imageDelete imageDELETEAgents: ask firstDeletes a gallery image and its thumbnails. Pages that still show it are left with a broken image. Cannot be undone.
  • get_imageGet imageGETAgents: ask firstReturns one gallery image: name, url, thumbnail links, and ready-made html and markdown to insert it in a page. Get the file itself with download_image.
  • list_imagesList imagesGETAgents: ask firstLists the gallery images and drawings in the system (name, url, type, the page they were uploaded to), limited to pages the token's user can see.
  • update_imageUpdate imagePUTAgents: ask firstRenames a gallery image. Replacing the image file is not exposed here.

Import, 5 operations

  • create_importCreate importPOSTAgents: ask firstUploads and validates a BookStack ZIP export as a pending import; it creates nothing until run_import. Needs the permission to import content.
  • delete_importDelete importDELETEAgents: ask firstPermanently deletes a pending import and its uploaded ZIP (cannot be undone). Needs the permission to import content.
  • get_importGet importGETAgents: ask firstReturns one pending import, with details describing the ZIP content (its structure depends on the import type: book, chapter or page). Needs the permission to import content.
  • list_importsList importsGETAgents: ask firstLists the pending ZIP imports (name, type, size, uploader) visible to the token's user. Needs the permission to import content.
  • run_importRun importPOSTAgents: ask firstRuns a pending import: creates the book, chapter or page it contains and returns the created item. A chapter or page import needs parent_type and parent_id. Needs the permission to import content.

Page, 5 operations

  • create_pageCreate pagePOSTAgents: ask firstCreates a page in a book (book_id) or chapter (chapter_id), from html or markdown, and returns it with its id. Images embedded as base64 data URIs are saved as gallery images.
  • delete_pageDelete pageDELETEAgents: ask firstDeletes a page; it usually goes to the recycle bin, from where restore_recycle_bin_item can bring it back.
  • get_pageGet pageGETAgents: ask firstReturns one page: rendered html, raw_html as stored, markdown (when the Markdown editor was used last), tags, revision count, owner and authors, and its comment tree.
  • list_pagesList pagesGETAgents: ask firstLists the pages visible to the token's user (id, name, slug, book_id, chapter_id, draft and template flags, dates), 100 per call by default. Use filter, sort, count and offset to narrow and page.
  • update_pageUpdate pagePUTAgents: ask firstChanges a page: title, content (html or markdown), tags, priority, or its place (book_id or chapter_id moves it). Fields left out keep their value. Saves a new revision.

Role, 5 operations

  • create_roleCreate rolePOSTAgents: ask firstCreates a role with the given permission names; assigning it to users then grants them those permissions. Needs the permission to manage roles.
  • delete_roleDelete roleDELETEAgents: ask firstDeletes a role; its users lose the permissions it granted. Needs the permission to manage roles. Cannot be undone.
  • get_roleGet roleGETAgents: ask firstReturns one role with its permission names and the users assigned to it. Needs the permission to manage roles.
  • list_rolesList rolesGETAgents: ask firstLists the roles (display name, description, whether MFA is enforced, permission and user counts). Needs the permission to manage roles.
  • update_roleUpdate rolePUTAgents: ask firstChanges a role; permissions REPLACES the granted list (read it with get_role, send every name to keep; an empty list revokes all), changing access for its users. Needs the permission to manage roles.

Shelve, 5 operations

  • create_shelfCreate shelfPOSTAgents: ask firstCreates a shelf, optionally holding books (in the order given), and returns it with its id. Cover images are not set through this tool.
  • delete_shelfDelete shelfDELETEAgents: ask firstDeletes a shelf (its books stay); it usually goes to the recycle bin, from where restore_recycle_bin_item can bring it back.
  • get_shelfGet shelfGETAgents: ask firstReturns one shelf with its description, tags, cover, owner and authors, and the books on it.
  • list_shelvesList shelvesGETAgents: ask firstLists the shelves visible to the token's user (id, name, slug, description, cover, dates), 100 per call by default. Use filter, sort, count and offset to narrow and page.
  • update_shelfUpdate shelfPUTAgents: ask firstChanges a shelf's name, description, tags or books. books REPLACES the shelf's current books (read them with get_shelf and send every book to keep). Fields left out keep their value.

User, 5 operations

  • create_userCreate userPOSTAgents: ask firstCreates a user account with a name, email and roles; send_invite true emails them an invitation to set their password. Grants access to the wiki. Needs the permission to manage users.
  • delete_userDelete userDELETEAgents: ask firstDeletes a user account; migrate_ownership_id hands their content to another user. Needs the permission to manage users. Cannot be undone.
  • get_userGet userGETAgents: ask firstReturns one user with their roles, email, profile and avatar URLs and last activity. Personal data. Needs the permission to manage users.
  • list_usersList usersGETAgents: ask firstLists the users (name, email, slug, profile and avatar URLs, last activity, external auth ID). Personal data. Needs the permission to manage users.
  • update_userUpdate userPUTAgents: ask firstChanges a user's name, email, language, external auth ID or roles (which changes their access). Fields left out keep their value. Needs the permission to manage users.

Html, 3 operations

  • export_book_htmlExport book htmlGETAgents: ask firstExports the book as one self-contained HTML document, returned whole in the html field.
  • export_chapter_htmlExport chapter htmlGETAgents: ask firstExports the chapter as one self-contained HTML document, returned whole in the html field.
  • export_page_htmlExport page htmlGETAgents: ask firstExports the page as one self-contained HTML document, returned whole in the html field.

Markdown, 3 operations

  • export_book_markdownExport book markdownGETAgents: ask firstExports the book as Markdown, returned whole in the text field.
  • export_chapter_markdownExport chapter markdownGETAgents: ask firstExports the chapter as Markdown, returned whole in the text field.
  • export_page_markdownExport page markdownGETAgents: ask firstExports the page as Markdown, returned whole in the text field.

Pdf, 3 operations

  • export_book_pdfExport book pdfGETAgents: ask firstExports the book as a PDF, stored as a file the next step can use.
  • export_chapter_pdfExport chapter pdfGETAgents: ask firstExports the chapter as a PDF, stored as a file the next step can use.
  • export_page_pdfExport page pdfGETAgents: ask firstExports the page as a PDF, stored as a file the next step can use.

Plaintext, 3 operations

  • export_book_plain_textExport book plain textGETAgents: ask firstExports the book as plain text, returned whole in the text field.
  • export_chapter_plain_textExport chapter plain textGETAgents: ask firstExports the chapter as plain text, returned whole in the text field.
  • export_page_plain_textExport page plain textGETAgents: ask firstExports the page as plain text, returned whole in the text field.

Recycle bin, 3 operations

  • destroy_recycle_bin_itemDestroy recycle bin itemDELETEAgents: ask firstPERMANENTLY destroys a deletion from the recycle bin, with all the content deleted with it; returns how many items were removed. Cannot be undone. Needs system settings and permissions management.
  • list_recycle_bin_itemsList recycle bin itemsGETAgents: ask firstLists the deletions in the recycle bin: what was deleted (deletable, with child counts for books and chapters and the parent for chapters and pages), by whom and when. Needs system settings and permissions management.
  • restore_recycle_bin_itemRestore recycle bin itemPUTAgents: ask firstRestores a deleted item (and what was deleted with it) from the recycle bin; returns how many items were restored. Needs system settings and permissions management.

Zip, 3 operations

  • export_book_zipExport book zipGETAgents: ask firstExports the book as a BookStack ZIP export (content plus files), stored as a file; create_import can load it into another instance.
  • export_chapter_zipExport chapter zipGETAgents: ask firstExports the chapter as a BookStack ZIP export (content plus files), stored as a file; create_import can load it into another instance.
  • export_page_zipExport page zipGETAgents: ask firstExports the page as a BookStack ZIP export (content plus files), stored as a file; create_import can load it into another instance.

Content permission, 2 operations

  • get_content_permissionsGet content permissionsGETAgents: ask firstReturns the permission overrides set on one page, chapter, book or shelf: owner, per-role view/create/update/delete, and the fallback for other roles. It does not show inherited or effective permissions.
  • update_content_permissionsUpdate content permissionsPUTAgents: ask firstChanges who can access an item: its owner, per-role overrides (role_permissions replaces the whole list, read first) and the fallback. Grants or revokes access. Leave out what should not change.

Data, 2 operations

  • download_imageDownload imageGETAgents: ask firstDownloads the file of a gallery image, stored as a file the next step can use.
  • download_image_by_urlDownload image by urlGETAgents: ask firstDownloads the file of a gallery image identified by its URL instead of its ID, stored as a file the next step can use.

Audit log, 1 operation

  • list_audit_log_eventsList audit log eventsGETAgents: ask firstLists audit log events (what was done, to which item, by which user, from which IP address, when). Contains personal data. Needs the permissions to manage users and system settings.

Name, 1 operation

  • list_tag_namesList tag namesGETAgents: ask firstLists the tag names used in the system, with how many values and usages each has. Only name can be used in filter.

Search, 1 operation

  • search_contentSearch contentGETAgents: ask firstSearches shelves, books, chapters and pages with the same syntax as the BookStack search bar; each result has a type, a name, a url, tags and a preview of the matching text.

System, 1 operation

  • get_system_infoGet system infoGETAgents: ask firstReturns details of the BookStack instance: version, instance ID, application name, logo and base URL (some may be null when not set).

Values for name, 1 operation

  • list_tag_valuesList tag valuesGETAgents: ask firstLists the values set for one tag name, with usage counts. Only value can be used in filter.

Use BookStack from Claude Code, Cursor or Codex

Connect BookStack in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its BookStack operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect BookStack

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect BookStack once

    Add your BookStack connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

BookStack integration FAQ

What can you do with the BookStack integration?

LiveContext exposes 79 operations on BookStack, covering book, chapter, attachment and comment.

Popular integrations

Browse the whole catalog