BookStack MCP Server
BookStack MCP 服务器
一个 Model Context Protocol (MCP) 服务器,让 AI 助手能够全面访问您的 BookStack 文档——包括搜索、读取、创建和管理内容。
npx bookstack-mcp功能特性
20 个只读工具 + 18 个写入工具,全面覆盖 BookStack API
书籍、章节、页面、书架、附件和评论——完整的 CRUD 操作
支持回收站——恢复或永久删除已软删除的内容
使用 Zod 进行类型安全的输入验证(自动转换字符串/数字参数,以实现广泛的客户端兼容性)
所有响应中均包含嵌入式 URL 和内容预览
为 HTML 编写的页面提供 Markdown 导出回退,确保 AI 客户端始终获得可用的内容
默认禁用写入操作以确保安全
适用于 Claude Desktop、Claude Code、LibreChat 以及任何兼容 MCP 的客户端
支持 Stdio 和 Streamable HTTP 传输
Related MCP server: BookStack MCP Server
快速入门
从 npm 安装
npx bookstack-mcp或克隆并构建
git clone https://github.com/ttpears/bookstack-mcp.git
cd bookstack-mcp
npm install && npm run build
npm start环境变量
BOOKSTACK_BASE_URL=https://your-bookstack.com # Required
BOOKSTACK_TOKEN_ID=your-token-id # Required
BOOKSTACK_TOKEN_SECRET=your-token-secret # Required
BOOKSTACK_ENABLE_WRITE=false # Optional, default false
BOOKSTACK_INSECURE_SKIP_TLS_VERIFY=false # Optional, default false安全警告:
BOOKSTACK_INSECURE_SKIP_TLS_VERIFY=true会禁用对 BookStack 发出请求的 TLS 证书验证。仅在受信任局域网内的自签名证书环境下使用——连接将容易受到中间人 (MITM) 攻击。启用此选项时,服务器会在启动时记录一条WARNING日志。
客户端配置
Claude Desktop
添加到您的 Claude Desktop 配置文件中:
{
"mcpServers": {
"bookstack": {
"command": "npx",
"args": ["-y", "bookstack-mcp"],
"env": {
"BOOKSTACK_BASE_URL": "https://your-bookstack.com",
"BOOKSTACK_TOKEN_ID": "your-token-id",
"BOOKSTACK_TOKEN_SECRET": "your-token-secret"
}
}
}
}LibreChat (stdio, 单用户)
添加到您的 librechat.yaml 中:
mcpServers:
bookstack:
command: npx
args:
- -y
- bookstack-mcp
env:
BOOKSTACK_BASE_URL: "https://your-bookstack.com"
BOOKSTACK_TOKEN_ID: "your-token-id"
BOOKSTACK_TOKEN_SECRET: "your-token-secret"LibreChat (Streamable HTTP, 推荐用于生产环境 / Docker)
将服务器作为长驻 HTTP 服务运行,并将 LibreChat 指向该 URL。这是多用户或容器化部署的正确设置方式。
以 HTTP 模式启动服务器:
MCP_TRANSPORT=http \
MCP_HTTP_PORT=8080 \
BOOKSTACK_BASE_URL=https://your-bookstack.com \
BOOKSTACK_TOKEN_ID=your-token-id \
BOOKSTACK_TOKEN_SECRET=your-token-secret \
npx bookstack-mcp然后配置 LibreChat:
mcpServers:
bookstack:
type: streamable-http
url: http://bookstack-mcp:8080/mcp3.0.0 重大变更: 已弃用的 HTTP+SSE 传输 (
GET /sse+POST /messages) 已被移除。位于/mcp的 Streamable HTTP 已经支持用于流式响应的 SSE,并且是当前 MCP 客户端中唯一的 HTTP 传输方式。如果您使用的旧版客户端需要旧版端点,请锁定版本至bookstack-mcp@2.x。
HTTP 传输环境变量
变量 | 默认值 | 描述 |
|
| 设置为 |
|
| 监听端口 |
|
| 绑定地址。为安全起见,默认使用回环地址 |
| (仅限回环) | 用于 DNS 重绑定保护的 |
|
| 流式 HTTP 端点 |
当绑定到 0.0.0.0(例如在其他服务可访问的容器内)时,请将 MCP_HTTP_ALLOWED_HOSTS 设置为 LibreChat 将用于访问此服务器的主机名,例如 MCP_HTTP_ALLOWED_HOSTS=bookstack-mcp,bookstack-mcp.internal。
配置更改后请重启 LibreChat。
Claude Code (CLI)
推荐路径是使用 ttpears/claude-plugins 市场,它提供了本仓库的插件清单 (.claude-plugin/plugin.json):
/plugin marketplace add ttpears/claude-plugins
/plugin install bookstack-mcp@ttpears-plugins然后在您的 shell 中设置 BOOKSTACK_* 环境变量,以便插件的 MCP 服务器能够进行身份验证:
export BOOKSTACK_BASE_URL=https://your-bookstack.com
export BOOKSTACK_TOKEN_ID=your-token-id
export BOOKSTACK_TOKEN_SECRET=your-token-secret手动安装 (替代方案)
如果您不想使用市场,可以直接使用 claude mcp add 注册服务器。为每个变量重复使用 --env,将所有标志放在服务器名称之前,并使用 -- 标记 Claude Code 将要启动的命令的开始:
claude mcp add bookstack \
--transport stdio \
--scope user \
--env BOOKSTACK_BASE_URL=https://your-bookstack.com \
--env BOOKSTACK_TOKEN_ID=your-token-id \
--env BOOKSTACK_TOKEN_SECRET=your-token-secret \
-- npx -y bookstack-mcp作用域决定了条目的写入位置:
作用域 | 存储位置 | 是否通过 git 共享 | 使用场景 |
|
| 否 | 在单个仓库中进行尝试 |
|
| 否 | 您希望在所有地方使用 bookstack |
| 仓库根目录下的 | 是 | 整个团队都应该使用它 |
生成的配置条目如下所示(项目作用域在 .mcp.json 中,否则在 ~/.claude.json 中):
{
"mcpServers": {
"bookstack": {
"type": "stdio",
"command": "npx",
"args": ["-y", "bookstack-mcp"],
"env": {
"BOOKSTACK_BASE_URL": "https://your-bookstack.com",
"BOOKSTACK_TOKEN_ID": "your-token-id",
"BOOKSTACK_TOKEN_SECRET": "your-token-secret"
}
}
}
}关于提交
.mcp.json的提示: Claude Code 会从当前 shell 中扩展.mcp.json中的${VAR}和${VAR:-default}引用。利用这一点可以避免将密钥提交到 git:在文件中设置"BOOKSTACK_TOKEN_SECRET": "${BOOKSTACK_TOKEN_SECRET}",并让每位开发人员在他们的 shell 中导出该变量。
MCP 资源
书籍和页面也作为 MCP 资源公开,因此浏览资源的客户端(Claude Desktop、MCP Inspector 等)可以直接通过 @ 提及它们:
URI 模板 | 描述 |
| 一本书,以 JSON 元数据形式返回 |
| 一个页面,以 Markdown 加上 JSON 元数据块的形式返回 |
两个模板都支持 id 自动补全:当您输入时,服务器会搜索 BookStack 并返回匹配的 ID,这样您就不必手动记忆数字 ID。
可用工具
读取操作 (始终可用)
工具 | 描述 |
| 服务器功能和配置 |
| 在所有内容中进行过滤搜索 |
| 搜索页面(可选书籍过滤) |
| 列出或获取书籍详情 |
| 列出或获取完整页面内容 |
| 列出或获取章节详情 |
| 列出或获取书架详情 |
| 列出或获取附件详情 |
| 列出或获取页面评论 (BookStack v25.11+) |
| 列出回收站中的项目 |
| 将页面导出为 HTML、PDF、Markdown、纯文本或 ZIP |
| 导出整本书 |
| 导出章节 |
| 最近更新的内容 |
写入操作 (需要 BOOKSTACK_ENABLE_WRITE=true)
工具 | 描述 |
| 创建或删除书籍 |
| 创建或删除章节 |
| 创建新页面 (HTML 或 Markdown) |
| 更新内容、重命名或移动到不同的书籍/章节 |
| 删除页面(可从回收站恢复) |
| 管理书架 |
| 管理附件 |
| 管理页面评论 (v25.11+) |
| 恢复或永久销毁回收站中的项目 |
BookStack API 设置
以管理员身份登录 BookStack
前往 设置 (Settings) > 用户 (Users) > 编辑您的用户
确保用户拥有 访问系统 API (Access System API) 权限
在 API 令牌 (API Tokens) 部分,创建一个新令牌
复制令牌 ID 和令牌密钥
安全性
写入操作默认禁用
生产环境请使用 HTTPS
安全存储 API 令牌(切勿提交到 git)
考虑使用具有有限权限的专用 BookStack 用户
开发
npm run dev # Hot reload with tsx
npm run type-check # Type checking only
npm run build # Production build许可证
MIT
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
- AlicenseBqualityDmaintenanceEnables AI models to interact with BookStack wiki instances through a comprehensive API interface. Supports content management (books, chapters, pages), user administration, search functionality, and content export in multiple formats.4112MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage BookStack documentation through natural language, supporting content browsing, search, and CRUD operations for books, chapters, and pages.
- AlicenseBqualityAmaintenanceConnects BookStack knowledge bases to Claude through 47+ tools covering complete CRUD operations for books, pages, chapters, shelves, users, search, attachments, and permissions. Enables full management of BookStack content and configuration through natural language.5620782MIT
- FlicenseCqualityDmaintenanceEnables searching and retrieving content from BookStack knowledge bases via the BookStack API. It provides structured page data with clean HTML-to-text conversion for seamless integration with AI models.19
Related MCP Connectors
Search, document and execute authenticated API calls across 700+ apps via one MCP server
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
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/ttpears/bookstack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server