Refresh demo site + MCP recategorisation + boot ordering#69
Merged
Conversation
…+ KYC dossier scenario
A new shape for the playground:
- New `interactive-demo` container (Node, plain HTML/CSS/JS, no
bundler) hosts the four-tab SPA (AI Gateway, Agentic Gateway/MCP,
Auth Demo, WebSocket Chat) plus its own backend: POST /api/chat (SSE
via the Anthropic SDK + KrakenD MCP) and WS /ws/:room. Replaces the
former demo-app + websocket/chat containers. SPA is rebranded on the
lavender/blue brand tokens with a single-bar header.
- New `mocked_apis` container (~6 MB Go binary, stdlib only, FROM
scratch) serves /data as REST static plus POST /graphql (ownership
by LEI) and POST /soap/sanctions. Replaces the busybox fake_api.
- New gateway endpoints /interactive-demo/* (GET + POST with 120s
timeout for SSE) and /slides/* (static slide decks, kept outside
/demo/ so the demo-site builder never overwrites them). The old
/spa/* and /chat endpoints are gone; /chat/ws/{room} now points at
the new container.
- New KYC/MCP demo scenario: MCP server kyc-dossier-aggregator with
two tools (get_kyc_dossier in TOON, get_kyc_dossier_legacy in JSON),
a Lua to-TOON response transformer, a SOAP sanctions request
template, and three demo entities under data/kyc/. The previous
country-data-aggregator MCP server is replaced.
- New slide deck for the AI Gateway demo, served at /slides/ai-gateway/.
- Keycloak CSP loosened to allow the auth demo to be iframed from the
SPA (localhost:3000) and the gateway (localhost:8080).
Endpoint @comments use a new \"Utility:\" prefix on infrastructure
endpoints (/interactive-demo/*, /demo/*, /slides/*) so the demo-site
builder can skip them when validating MDX coverage. README, codeql
paths, Makefile and FC settings updated. krakend.json regenerated and
reordered, LLM credentials redacted to <env_local_empty_credential>.
- Tag /__kyc/aggregate/{lei} and /__kyc/aggregate-toon/{lei} with the
"Internal:" @comment prefix so the demo-site builder skips them when
validating MDX coverage and rendering homepage cards (they are
plumbing for the MCP tools, not user-facing demos).
- Regenerate config/krakend/demo/ from the playground-builder. Net
user-visible changes in the docs:
* mcp.mdx rewritten end-to-end for the KYC dossier scenario
(kyc-dossier-aggregator, get_kyc_dossier TOON + legacy JSON, the
three demo LEIs, link to the Agentic Gateway tab in Interactive
Demos).
* chat.mdx removed (its endpoint /chat is gone).
* demo.mdx removed (now Utility, no docs page needed).
* chat-ws-room.mdx wording aligned with the SPA's dual-client UX.
* Every "[Playground SPA](http://localhost:3000...)" link rewritten
to "[Interactive Demos](http://localhost:8080/interactive-demo/...)".
…rdering - Drop in the rebuilt static `demo/` site shipped by the demo builder (new visual system, DemoResources rail on every page, gradient endpoint chip, AI Gateway notice modal, terminal-style command blocks). 32 use cases + 12 integrations migrated. - Move the MCP block from `endpoints_services_connectivity.json` to `endpoints_ai_gateway.json` and retag it as `AI Integration: MCP Server - Entrypoint for Model Context Protocol`. Recompiled `krakend.json` reflects the move; credentials redacted to `<env_local_empty_credential>`. - docker-compose: Keycloak healthcheck wired to its `/health/ready` endpoint (port 9000); interactive-demo waits for `service_healthy` before starting, so the first SPA visit no longer hits a redirect to a not-yet-booted IdP. - interactive-demo server.js: SIGTERM / SIGINT handler so `docker compose stop` exits in <2s instead of waiting the full grace period; `stop_grace_period: 2s` as a safety net. - mcp-chat layout: `height: calc(100vh - 84px)` so the chat composer always anchors at the bottom of the viewport; the page footer falls below the fold. - Makefile: `make start` / `start-with-ai-gateway` output trimmed — Playground Index & Interactive demos as the two entry points, no more API-Gateway-root link that would 404. - README refreshed: WebSockets section no longer references the old separate ws:8888 broker; Play! URL list trimmed and revoker port corrected to 8081; MCP description updated to the KYC dossier aggregator scenario; Auth Demo and Interactive Demos always linked through the gateway.
tonipinel
approved these changes
May 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bundles the playground updates that pair with the playground-builder rebrand:
demo/site (new visual system, standardised Try it + Read the docs rail on every page, gradient endpoint chip, AI Gateway notice modal, terminal-style command blocks). 32 use cases + 12 integrations migrated.endpoints_services_connectivity.jsontoendpoints_ai_gateway.jsonand retags itAI Integration: MCP Server - Entrypoint for Model Context Protocol(it was the outlier; every other AI endpoint already lived there). Recompiledkrakend.jsonreflects the move with credentials redacted to<env_local_empty_credential>.Boot + lifecycle:
/health/readyendpoint on the management port (9000). interactive-demo declaresdepends_on: keycloak: condition: service_healthy, so the first SPA visit no longer hits a redirect to a not-yet-booted IdP.docker compose stopexits in <2s instead of waiting the full grace period.stop_grace_period: 2sadded as a safety net.Polish:
height: calc(100vh - 84px)so the composer always anchors at the bottom of the viewport; the page footer falls below the fold.ws://localhost:8888reference gone,/chatpage reference replaced with the interactive demos WebSocket Chat tab, revoker port corrected to 8081, MCP description rewritten around the KYC dossier scenario, all Auth Demo + Interactive Demos URLs now go through the gateway.Heads up: the 2 dependabot vulnerabilities flagged on main predate this branch and aren't touched by this PR.