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: PDF RAG 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.
Latest Blog Posts
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