ProjectBuild a Permission-Aware Knowledge Hub as an MCP Server: the explanation · Module 15: The web console · part 17 of 22
Part 17 · Module 15: The web console

Module 15: The web console

25 min read·
About 45 minutes · Needs: Module 5 (the console REST API and its endpoints), Module 12 (the console session cookie and personal tokens), Module 10 (the withheld count and why hidden sources are only counted) · Code: console/src/App.tsx, console/src/api.ts, console/src/lib/, console/src/components/, console/src/pages/, console/vite.config.ts, server/wayfinder/api/playground.py, console/src/contract.test.tsx

Where this fits

WHERE THIS FITS Wayfinder this module AI CLIENTS the model writes the answer CONSOLE React, nginx WAYFINDER SERVER Starlette, mcp 2.3 RETRIEVAL permission filter before ranking INDEXING fastembed DATA Postgres 17 OPERATIONS evals, Docker, Cloud Run Claude Code HTTP + OAuth Cursor HTTP + OAuth Claude Desktop stdio bridge or connector MCP Inspector debugging, quick OAuth Web console React: search, audit, connect nginx one URL: /mcp, OAuth, /api MCP layer tools, resources Elicitation confirm create_issue OAuth 2.1 auth server, PKCE Tokens, sessions wf_pat_, cookie Console API /api REST Audit log every call, redacted stdio bridge wayfinder-stdio Guards proxy secret, limits Access rules groups per team Hybrid search pgvector + full text Fusion, boosts RRF, freshness, ADRs Knowledge decisions, owners Indexer loader, chunker bge-small-en fastembed, CPU PostgreSQL pgvector, full text Seed company Tidewater Freight Evaluation retrieval, 0 leaks Containers Docker Compose Deploy Cloud Run, Cloud SQL CI/CD GitHub Actions, WIF
The parts this module covers (blue): the React console, the nginx in front of it that serves it and forwards requests, and the console REST API under /api that it reads.

Engineers mostly meet Wayfinder through their AI client. The console is for everything around that: signing in once, connecting a client, trying a search as yourself, trying every tool, reading the audit log, seeing who can read what and checking the index and the evaluation. This module covers the React app, the nginx that serves it on the same origin as the server, and the API it talks to.

The rest of this project is yours to keep

This project is bought on its own, once, and stays readable afterwards, including the parts added to it later.

Or open everything with a plan