BookStack MCP server
BookStack in any MCP client, through Memtro: BookStack does not publish this server. Memtro's BookStack connector reads BookStack through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Your self-hosted BookStack wiki: search, books, chapters, pages with their text and comments, and shelves. Can create pages, chapters, books, shelves, comments and link attachments, and when asked change or delete them.
Reads
bookstack_searchSearch the BookStack wiki across shelves, books, chapters and pages with BookStack's own search syntax (words, "exact phrase", [tag=value]…bookstack_list_booksBooks in the BookStack wiki, most recently changed first: id, name, description, when changed.bookstack_get_bookOne BookStack book with its contents: the chapters and pages directly within it, in order.bookstack_list_pagesPages in the BookStack wiki, most recently changed first, optionally within one book or chapter: id, name, book, chapter, revision count…bookstack_get_pageOne BookStack page in full: its text (markdown where the page was written in markdown, otherwise the HTML reduced to text, cut at 12,000 characters)…bookstack_list_shelvesShelves in the BookStack wiki (groups of books): id, name, description.
Acts, when you ask
These change something in BookStack. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
bookstack_create_pageCreate a new page in a BookStack book or chapter, only when the person asked.bookstack_create_chapterCreate a new chapter in a BookStack book, only when the person asked.bookstack_create_bookCreate a new, empty BookStack book, only when the person asked.bookstack_create_commentAdd a comment to a BookStack page, only when the person asked.bookstack_replace_pageChange an existing BookStack page, only when the person asked.bookstack_archive_commentArchive a top-level comment on a BookStack page (marks the thread resolved), only when the person asked.bookstack_delete_pageDelete a BookStack page, only when the person explicitly asked to delete it.bookstack_delete_chapterDelete a BookStack chapter AND EVERY PAGE IN IT, only when the person explicitly asked to delete it.bookstack_delete_bookDelete a whole BookStack book WITH ALL ITS CHAPTERS AND PAGES, only when the person explicitly asked to delete that book.bookstack_update_chapterChange an existing BookStack chapter, only when the person asked.bookstack_update_bookChange an existing BookStack book's name, description or tags, only when the person asked.bookstack_create_shelfCreate a BookStack shelf, optionally holding the given books in that order, only when the person asked.bookstack_update_shelfChange a BookStack shelf, only when the person asked.bookstack_delete_shelfDelete a BookStack shelf, only when the person explicitly asked to delete it.bookstack_update_commentEdit a BookStack comment's text (REPLACES it) and/or archive or unarchive it, only when the person asked.bookstack_add_link_attachmentAttach a web link to a BookStack page (shown in the page's attachments), only when the person asked.bookstack_delete_attachmentDelete an attachment (a link or an uploaded file) from a BookStack page, only when the person explicitly asked.bookstack_delete_commentDelete a comment from a BookStack page, only when the person explicitly asked to delete it.
Connect it
First connect BookStack on Dashboard → Connections, then add Memtro to your client once. The BookStack tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared BookStack connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › What does the wiki say about submitting expenses?
- › Who last changed the onboarding checklist page?
- › Which pages in the Engineering book changed this month?
- › Are there open comments on the incident runbook?
- › Add a page called Northwind support hours to the Customers book
Questions
- Is this an official BookStack MCP server?
- No. It is Memtro's MCP server with Memtro's BookStack connector behind it: the connector reads BookStack through its API with the credentials you connect on Dashboard → Connections, and BookStack publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in BookStack?
- Only when you ask, and only what it has been granted: create a page in a book or chapter; create a chapter in a book; create a book; comment on a page; replace a page's name, body or tags; archive a comment; delete a page, chapter or book (to the recycle bin); delete a comment; rename a chapter or book, change its description or tags, or move a chapter to another book; create a shelf, change its name, description, tags or books, or delete it (to the recycle bin; its books stay); edit a comment's text, or unarchive a comment; attach a link to a page, or delete an attachment permanently. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.