Repository navigation
v0.1.0 - first feature-complete milestone
First feature-complete milestone. All four planned MVP features are implemented, documented and tested end to end.
What's in it
- Routing & aggregation — connects to every configured upstream MCP server, namespaces their tools as
<serverId>__<toolName>, and exposes the merged catalog over one streamable-HTTP MCP endpoint. - Auth & policy — an allow/deny
PolicyEngineevaluated against ordered rules (principal, role, glob tool patterns), built on top of caller identity from mcp-security. - Observability — Micrometer metrics per call, a per-upstream
/actuator/healthindicator, and a structured JSON audit log line for every call. - Rate limiting — an opt-in Bucket4j-backed
RateLimiterSPI, scoped per caller, per tool, or per (caller, tool) pair.
Evidence
- 54 tests, all green: unit tests for the router/policy engine/rate limiter, ArchUnit architecture tests enforcing module boundaries, and an end-to-end integration test that boots two real MCP servers in-process and drives the gateway over real HTTP with a real MCP client.
- CI builds and tests this on Java 17 and 21 for every push — see the badge in the README.
Getting it
Not yet on Maven Central. Until then it's available via JitPack — see Getting it in the README for the exact coordinates.
Full changelog
See CHANGELOG.md.