Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoListen address host, default 127.0.0.1 (0.0.0.0 in Docker)127.0.0.1
MCP_PORTNoListen address port, default 30003000
BOOKSTACK_URLNoYour BookStack address, e.g. https://wiki.example.com
MCP_PUBLIC_URLNoThis server's public address including the sub-path, e.g. https://tools.example.com/bookstack-mcp. The MCP endpoint is this + /mcp
MCP_AUTH_SECRETNoEncrypts the tokens given to Claude: openssl rand -base64 32. Keep it secret; changing it signs everyone out
BOOKSTACK_TOKEN_IDNoToken ID for BookStack API access (used in stdio mode)
BOOKSTACK_READ_ONLYNoSet to 'true' to enable read-only mode: write tools aren't registered at allfalse
BOOKSTACK_TOKEN_SECRETNoToken Secret for BookStack API access (used in stdio mode)
MCP_ALLOWED_REDIRECT_HOSTSNoWhere sign-in may redirect back to. Default claude.ai,claude.com,localhost,127.0.0.1,[::1] — enough for Claude; add hosts for other MCP clients, * allows anyclaude.ai,claude.com,localhost,127.0.0.1,[::1]

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
searchA

Full-text search across shelves, books, chapters and pages. Returns matches with [type:id] refs, their location and a text snippet. BookStack search syntax works in query: "exact phrase", [tag] or [tag=value], {in_name:word}, {updated_by:me}, {created_by:me}.

listA

List shelves, books, chapters or pages. Use it to see what exists (e.g. all books) or to find recently updated pages (sort=updated). To see what's inside a book, use get on the book instead.

getA

Open one item by id. page → full content as Markdown plus its location. book → table of contents (chapters and pages). chapter → its pages. shelf → its books.

create_pageA

Create a page from Markdown, inside a chapter (chapter_id) or directly in a book (book_id). Check first that a page on this topic doesn't already exist — updating beats duplicating.

update_pageA

Replace a page's content, add to its end/start (mode), rename it, retag it or move it. For a small change inside an existing page prefer edit_page. WYSIWYG pages stay WYSIWYG (the Markdown is converted to HTML).

edit_pageA

Exact find-and-replace in a page's Markdown source — the cheap way to fix or extend part of a page without resending all of it. old_text must match the source exactly (read the page with get first). Only for Markdown-editor pages; for WYSIWYG pages use update_page.

create_bookC

Create a book, optionally placing it on a shelf.

create_chapterC

Create a chapter in a book. Chapters group pages and can't be nested.

create_shelfC

Create a shelf (a group of books), optionally with books on it.

updateA

Rename a shelf/book/chapter or change its description or tags; move a chapter (with its pages) to another book; add or remove books on a shelf. For pages use update_page / edit_page.

deleteA

Move a page, chapter, book or shelf to the BookStack recycle bin (restorable by an admin). Deleting a book or chapter deletes everything inside it; deleting a shelf keeps its books. Only delete when the user explicitly asked for it.

Prompts

Interactive templates invoked by user choice

NameDescription
documentWrite up what we discussed or did in this conversation as BookStack documentation

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have clearly distinct purposes: search, list, and get cover different retrieval modes, and create_* are resource-specific. The main ambiguity is between edit_page and update_page, plus the generic 'update' versus 'update_page', though the descriptions explicitly clarify when to use each.

Naming Consistency3/5

Page and creation tools follow a clean verb_noun pattern (create_page, update_page, edit_page, create_book, create_chapter, create_shelf), but read/update/delete tools are bare verbs (search, list, get, update, delete). This mixes conventions within the same set.

Tool Count5/5

11 tools is well-scoped for a BookStack integration, covering the four entity types (shelf, book, chapter, page) without bloat. Each tool earns its place in the workflow.

Completeness4/5

Full lifecycle coverage exists: create for all four entity types, read via get/list/search, update via update_page/edit_page/update, and delete across types. Minor gaps like attachments or user/role management are outside the core wiki scope and unlikely to block agents.

Maintenance

ActivityMaintained
ResponsivenessNo issues