BookStack MCP Server
MCP-сервер BookStack
Сервер Model Context Protocol (MCP), который предоставляет ИИ-ассистентам полный доступ к вашей документации BookStack — поиск, чтение, создание и управление контентом.
npx bookstack-mcpВозможности
20 инструментов только для чтения + 18 инструментов для записи для полного покрытия API BookStack
Книги, главы, страницы, полки, вложения и комментарии — полный CRUD
Поддержка корзины — восстановление или окончательное удаление контента, помеченного как удаленный
Типобезопасная проверка входных данных с помощью Zod (автоматическое приведение параметров string/number для широкой совместимости с клиентами)
Встроенные URL-адреса и предварительный просмотр контента во всех ответах
Резервный экспорт в Markdown для страниц, созданных в HTML, чтобы ИИ-клиенты всегда получали полезный контент
Операции записи по умолчанию отключены для безопасности
Работает с 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отключает проверку TLS-сертификатов для исходящих запросов к BookStack. Используйте только для самоподписанных сертификатов в доверенной локальной сети — соединения становятся уязвимыми для атак типа 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/mcpКритическое изменение в версии 3.0.0: устаревший транспорт HTTP+SSE (
GET /sse+POST /messages) был удален. Streamable HTTP по адресу/mcpуже поддерживает SSE для потоковых ответов и является единственным HTTP-транспортом в текущих MCP-клиентах. Если вы используете старый клиент, которому нужны устаревшие эндпоинты, зафиксируйте версиюbookstack-mcp@2.x.
Переменные окружения для HTTP-транспорта
Переменная | По умолчанию | Описание |
|
| Установите |
|
| Порт для прослушивания |
|
| Адрес привязки. По умолчанию loopback для безопасности |
| (только loopback) | Разделенный запятыми список разрешенных имен хостов в заголовке |
|
| Эндпоинт для Streamable 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Затем установите переменные окружения 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Область действия (Scope) определяет, где записывается запись:
Область | Где находится | Общий доступ через 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 раскрывает ссылки${VAR}и${VAR:-default}в.mcp.jsonиз окружения оболочки. Используйте это, чтобы секреты не попадали в git: установите"BOOKSTACK_TOKEN_SECRET": "${BOOKSTACK_TOKEN_SECRET}"в файле и пусть каждый разработчик экспортирует переменную в своей оболочке.
Ресурсы 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+) |
| Восстановление или окончательное удаление элементов из корзины |
Настройка API BookStack
Войдите в BookStack как администратор
Перейдите в Settings > Users > Edit your user
Убедитесь, что у пользователя есть разрешение Access System API
В разделе API Tokens создайте новый токен
Скопируйте Token ID и Token Secret
Безопасность
Операции записи по умолчанию отключены
Используйте 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