Repository navigation
v2.1.0-r2
Security and correctness fixes from a full-codebase review.
Security
x-bookstack-urlmust be onBOOKSTACK_ALLOWED_BASE_URLSand come withx-bookstack-token. The configured token is never sent to a host the caller picks, and redirects are no longer followed.file_pathuploads needBOOKSTACK_UPLOAD_ROOTunder every transport.- Page parsing runs in linear time (ReDoS fix).
- Errors returned to callers carry no stack traces or server paths.
- axios is now 1.20.0.
Correctness
- Page sections skip fenced code, include their subsections, and report the heading they matched.
- grep context can be used as
old_string. - Tool failures are
isErrorresults the model can read. Resource templates are listed viaresources/templates/list. GET/DELETE/messageanswers 405. - Network failures on read requests are retried and reported clearly.
Breaking changes
x-bookstack-urlrequiresBOOKSTACK_ALLOWED_BASE_URLSandx-bookstack-token.- stdio
file_pathrequiresBOOKSTACK_UPLOAD_ROOT. - Tool errors are
isErrorresults instead of JSON-RPC errors. - Templated resources moved to
resources/templates/list.
Image
ghcr.io/cego/bookstack-mcp-server:2.1.0-r2@sha256:7719340115df7e58ccc9b01b7af4b0c418b0a07558498b8e8710a08100e9952d
linux/amd64, with provenance and an SBOM.