ProjectBuild a Permission-Aware Knowledge Hub as an MCP Server: the explanation · Module 3: MCP in depth: protocol, transports and the SDK · part 5 of 22
Part 5 · Module 3: MCP in depth: protocol, transports and the SDK

Module 3: MCP in depth: protocol, transports and the SDK

22 min read·
About 50 minutes · Needs: Module 2 (the solution) · Code: research/spike_mcp_server.py, server/wayfinder/mcp/server.py, server/wayfinder/main.py, server/wayfinder/mcp/stdio.py, server/tests/test_mcp.py

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
This module (highlighted) opens the MCP layer and the stdio bridge, the protocol that Claude Code, whose model is drawn amber, and MCP Inspector use to talk to Wayfinder.

Module 2 (the solution) said that AI clients reach Wayfinder "through MCP". This module opens that box: what the protocol is, what travels on the wire, how a connection starts and ends, the two ways to carry it, the official Python SDK Wayfinder is built on, and the two protocol eras the code supports. You need it to debug a client that will not connect, and to understand why the server runs as a single process.

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