BookStack MCP Server
BookStack MCP-Server
Ein Model Context Protocol (MCP)-Server, der KI-Assistenten vollen Zugriff auf Ihre BookStack-Dokumentation gewährt — suchen, lesen, erstellen und verwalten Sie Inhalte.
npx bookstack-mcpFunktionen
20 schreibgeschützte Tools + 18 Schreib-Tools für vollständige BookStack-API-Abdeckung
Bücher, Kapitel, Seiten, Regale, Anhänge und Kommentare — vollständiges CRUD
Unterstützung für den Papierkorb — Wiederherstellung oder dauerhaftes Löschen von gelöschten Inhalten
Typsichere Eingabevalidierung mit Zod (automatische Konvertierung von String/Number-Parametern für breite Client-Kompatibilität)
Eingebettete URLs und Inhaltsvorschauen in allen Antworten
Markdown-Export-Fallback für in HTML erstellte Seiten, damit KI-Clients immer nutzbare Inhalte erhalten
Schreibvorgänge aus Sicherheitsgründen standardmäßig deaktiviert
Funktioniert mit Claude Desktop, Claude Code, LibreChat und jedem MCP-kompatiblen Client
Stdio- und Streamable-HTTP-Transporte
Related MCP server: PDF RAG MCP Server
Schnellstart
Installation über npm
npx bookstack-mcpOder klonen und bauen
git clone https://github.com/ttpears/bookstack-mcp.git
cd bookstack-mcp
npm install && npm run build
npm startUmgebungsvariablen
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 falseSicherheitshinweis:
BOOKSTACK_INSECURE_SKIP_TLS_VERIFY=truedeaktiviert die TLS-Zertifikatsprüfung für ausgehende Anfragen an BookStack. Nur für selbstsignierte Zertifikate in einem vertrauenswürdigen LAN verwenden — Verbindungen werden anfällig für MITM-Angriffe. Der Server protokolliert beim Start eineWARNING-Zeile, wenn dies aktiviert ist.
Client-Konfiguration
Claude Desktop
Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu:
{
"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, Einzelbenutzer)
Fügen Sie dies zu Ihrer librechat.yaml hinzu:
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, empfohlen für Produktion / Docker)
Führen Sie den Server als langlebigen HTTP-Dienst aus und verweisen Sie LibreChat auf die URL. Dies ist das richtige Setup für Multi-User- oder containerisierte Bereitstellungen.
Starten Sie den Server im HTTP-Modus:
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-mcpKonfigurieren Sie dann LibreChat:
mcpServers:
bookstack:
type: streamable-http
url: http://bookstack-mcp:8080/mcp3.0.0 Breaking Change: Der veraltete HTTP+SSE-Transport (
GET /sse+POST /messages) wurde entfernt. Streamable HTTP unter/mcpunterstützt bereits SSE für Streaming-Antworten und ist der einzige HTTP-Transport in aktuellen MCP-Clients. Wenn Sie einen älteren Client verwenden, der die Legacy-Endpunkte benötigt, pinnen Sie aufbookstack-mcp@2.x.
Umgebungsvariablen für den HTTP-Transport
Variable | Standard | Beschreibung |
|
| Auf |
|
| Port, auf dem gelauscht werden soll |
|
| Bind-Adresse. Standardmäßig Loopback aus Sicherheitsgründen |
| (nur Loopback) | Kommagetrennte Liste erlaubter |
|
| Streamable HTTP-Endpunkt |
Wenn Sie an 0.0.0.0 binden (z. B. innerhalb eines Containers, der von anderen Diensten erreichbar ist), setzen Sie MCP_HTTP_ALLOWED_HOSTS auf die Hostnamen, die LibreChat verwenden wird, um diesen Server zu erreichen, z. B. MCP_HTTP_ALLOWED_HOSTS=bookstack-mcp,bookstack-mcp.internal.
Starten Sie LibreChat nach Konfigurationsänderungen neu.
Claude Code (CLI)
Der empfohlene Weg ist der ttpears/claude-plugins-Marktplatz, der das Plugin-Manifest dieses Repos (.claude-plugin/plugin.json) bereitstellt:
/plugin marketplace add ttpears/claude-plugins
/plugin install bookstack-mcp@ttpears-pluginsSetzen Sie dann die BOOKSTACK_*-Umgebungsvariablen in Ihrer Shell, damit der MCP-Server des Plugins authentifizieren kann:
export BOOKSTACK_BASE_URL=https://your-bookstack.com
export BOOKSTACK_TOKEN_ID=your-token-id
export BOOKSTACK_TOKEN_SECRET=your-token-secretManuelle Installation (Alternative)
Wenn Sie den Marktplatz nicht nutzen möchten, registrieren Sie den Server direkt mit claude mcp add. Wiederholen Sie --env für jede Variable, setzen Sie alle Flags vor den Servernamen und verwenden Sie --, um den Start des Befehls zu markieren, den Claude Code ausführen wird:
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-mcpDer Scope bestimmt, wo der Eintrag geschrieben wird:
Scope | Speicherort | Über Git geteilt | Verwendung |
|
| Nein | Ausprobieren in einem Repo |
|
| Nein | Sie möchten BookStack überall |
|
| Ja | Das gesamte Team sollte es erhalten |
Der resultierende Konfigurationseintrag sieht so aus (in .mcp.json für Projekt-Scope oder sonst in ~/.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"
}
}
}
}Tipp für committete
.mcp.json: Claude Code expandiert${VAR}und${VAR:-default}-Referenzen in.mcp.jsonaus der umgebenden Shell. Nutzen Sie dies, um Geheimnisse aus Git fernzuhalten: Setzen Sie"BOOKSTACK_TOKEN_SECRET": "${BOOKSTACK_TOKEN_SECRET}"in der Datei und lassen Sie jeden Entwickler die Variable in seiner Shell exportieren.
MCP-Ressourcen
Bücher und Seiten werden auch als MCP-Ressourcen bereitgestellt, sodass Clients, die Ressourcen durchsuchen (Claude Desktop, MCP Inspector usw.), sie direkt mit @ erwähnen können:
URI-Template | Beschreibung |
| Ein Buch, zurückgegeben als JSON-Metadaten |
| Eine Seite, zurückgegeben als Markdown plus ein JSON-Metadaten-Blob |
Beide Templates unterstützen id-Autovervollständigung: Während Sie tippen, durchsucht der Server BookStack und gibt passende IDs zurück, damit Sie sich keine numerischen IDs merken müssen.
Verfügbare Tools
Leseoperationen (immer verfügbar)
Tool | Beschreibung |
| Server-Fähigkeiten und Konfiguration |
| Suche über alle Inhalte mit Filtern |
| Suche nach Seiten mit optionalem Buch-Filter |
| Bücher auflisten oder Details abrufen |
| Seiten auflisten oder vollständigen Seiteninhalt abrufen |
| Kapitel auflisten oder Details abrufen |
| Regale auflisten oder Details abrufen |
| Anhänge auflisten oder Details abrufen |
| Seitenkommentare auflisten oder abrufen (BookStack v25.11+) |
| Elemente im Papierkorb auflisten |
| Seite als HTML, PDF, Markdown, Klartext oder ZIP exportieren |
| Gesamtes Buch exportieren |
| Kapitel exportieren |
| Kürzlich aktualisierte Inhalte |
Schreiboperationen (erfordert BOOKSTACK_ENABLE_WRITE=true)
Tool | Beschreibung |
| Buch erstellen oder löschen |
| Kapitel erstellen oder löschen |
| Neue Seite erstellen (HTML oder Markdown) |
| Inhalt aktualisieren, umbenennen oder in ein anderes Buch/Kapitel verschieben |
| Seite löschen (wiederherstellbar aus dem Papierkorb) |
| Regale verwalten |
| Anhänge verwalten |
| Seitenkommentare verwalten (v25.11+) |
| Elemente im Papierkorb wiederherstellen oder dauerhaft löschen |
BookStack API-Einrichtung
Melden Sie sich als Administrator bei BookStack an
Gehen Sie zu Einstellungen > Benutzer > Benutzer bearbeiten
Stellen Sie sicher, dass der Benutzer die Berechtigung System-API zugreifen hat
Erstellen Sie im Bereich API-Token ein neues Token
Kopieren Sie die Token-ID und das Token-Geheimnis
Sicherheit
Schreibvorgänge sind standardmäßig deaktiviert
Verwenden Sie HTTPS für Produktionsinstanzen
Speichern Sie API-Token sicher (niemals in Git committen)
Erwägen Sie einen dedizierten BookStack-Benutzer mit eingeschränkten Berechtigungen
Entwicklung
npm run dev # Hot reload with tsx
npm run type-check # Type checking only
npm run build # Production buildLizenz
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