Changed
-
Breaking: access tokens are bound to one resource by default.
RESOURCE_BOUND_TOKENSno longer has to be switched on; RFC 8707 binding is
what you get without asking, and the setting only exists to turn it off.
A token issued for/paperless/mcpreaches neither another server nor/hub,
and an authorization request that names no resource is refused with
invalid_target.Upgrading: tokens issued before this release carry no resource and stop
working, so every connector authorizes once more. To postpone that, set
RESOURCE_BOUND_TOKENS=false— it restores the old behaviour and logs a
warning on every start. The default also applies tocreateHub()for
programmatic use. -
Breaking:
/healthrequires a token for/hub. It reports the same
fleet-wide view as the aggregate — every server's name, state and tool count —
so a token bound to a single server no longer reads it. Unauthenticated
liveness monitoring belongs on/livez, unchanged. -
The
uvlayer is pinned to a version tag (0.12.3) instead oflatest. The
digest is unchanged, so the image content is identical; upgrades now arrive as
readable version bumps rather than opaque digest churn. -
The documentation site builds with VitePress 2. VitePress 1 pins Vite 5,
which is end-of-life and carries unfixable dev-server advisories; Vite 8 clears
them. Documentation tooling is not part of the published package or image.
Added
- Documentation site at mcp-hub.ni-c.de — guides for
configuration, deployment, clients and security, an architecture walkthrough,
a troubleshooting FAQ and a full endpoint/meta-tool reference. Built with
VitePress fromdocs/, which carries its own manifest so the runtime image
and the test matrix are unaffected, and published togh-pagesby
.github/workflows/docs.yml.