ProjectBuild a Permission-Aware Knowledge Hub as an MCP Server: the explanation · Module 13: Writing safely: create_issue and elicitation · part 15 of 22
Part 15 · Module 13: Writing safely: create_issue and elicitation

Module 13: Writing safely: create_issue and elicitation

23 min read·
About 40 minutes · Needs: Module 11 (the tools, their annotations and errors as results), Module 12 (scopes and personal access tokens), Module 3 (elicitation in the MCP protocol) · Code: server/wayfinder/mcp/server.py, server/wayfinder/knowledge.py, server/wayfinder/index/indexer.py, console/src/pages/Tools.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 MCP layer's one write tool, the elicitation step that asks the user, the knowledge module that files the issue, the audit log, and the token whose scope decides who may write.

Seven of Wayfinder's eight tools only read. This module is about the eighth, create_issue, the one tool that changes something. The highlighted parts are the MCP layer that receives the call, the elicitation step that asks a person, the knowledge module that stores the issue, the audit log that records every outcome, and the token whose scope decides who may write at all.

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