Personal MCP gateway in TypeScript: one OAuth 2.1-secured endpoint that federates budget, time-tracking, gym and task tools for Claude, with per-tool policies, confirmation-gated writes and an audit trail.
GET /healthz, plus a Zod-validated example route (GET /echo/{id}) and its generated
GET /openapi.json document.
npm install
npm run dev # start the server
npm run typecheck
npm run lint
npm run format
npm testNode version is pinned in .nvmrc. Architecture decisions live in docs/adr.