Commit Graph

8 Commits

Author SHA1 Message Date
Stéphane Tailland bfc748a925 refactor: request the neutrally-named token-exchange broker
Follows the rename in the realm. The client that performs the on-behalf-of
exchange is no longer named after the middleware that calls it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-29 07:53:00 +02:00
Stéphane Tailland 7892f0f8f5 Remove the Grafana MCP server
Reverts the declaration. The approach does not hold up in practice: an MCP
client resends the whole tool list every turn, so simply having this server
connected cost ~19k prompt tokens per request — and ~5.4k even after
trimming the tool set by 72%. On top of that its metric-name listing
returns 3330 entries, 137 KiB, which the assistant called twice while
exploring. Conversations tripped Kong's 50k-tokens-per-minute AI rate limit
and sat in a 429 retry loop.

The deployment, the Vault-backed secret and the Grafana service account
stay in place; only the LibreChat wiring goes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 18:18:36 +02:00
Stéphane Tailland 2a695da0dd Declare the Grafana MCP server
Prometheus, Loki and Tempo become tools the assistant can call, so the
telemetry can be questioned rather than browsed — which is where the trace
dashboard kept running out of road. Verified: LibreChat initialises the
server in 168ms and loads its tool list.

No oauth block, unlike every other server here. The others sit behind a
Kong gateway enforcing openid-connect; this one is reached directly on the
cluster network and authenticates to Grafana with a service account token
of its own. LibreChat passes no user identity along, so there is no
per-user scoping: every LibreChat user gets the same full read of all
telemetry, including the Kong audit records and the LLM prompts now
captured there.

That is stated in the config rather than left to be discovered, and it is
the reason to move this server behind a gateway like the others.

allowedDomains gains the first http:// and first cluster-internal entry;
without it LibreChat's SSRF protection refuses the address.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 17:29:17 +02:00
Stéphane Tailland 40c6e9d723 Update of MCP servers 2026-08-23 17:22:08 +02:00
Stéphane Tailland 2836f42996 fix(mcp): Synchronize allowedDomains in configmap-app 2026-08-23 15:54:16 +02:00
Stéphane Tailland ffe5b1cb12 fix(mcp): Add keycloak.sttlab.local to mcpSettings.allowedDomains 2026-08-23 08:02:51 +02:00
Stéphane Tailland e235d3dea4 fix(oidc): Switch LibreChat and MCP OAuth to local Keycloak (keycloak.sttlab.local) 2026-08-23 07:55:28 +02:00
sttlab 780e25c15e first commit 2026-05-09 06:42:45 +00:00