Skip to main content
Status: draft · Version 0.1 · Filed 2026-04-22
Port mcp/server.py + mcp/client.py + verb helpers to TypeScript using @modelcontextprotocol/sdk, publish as @franktewksbury/prism-mcp-server on npm, update install/ to write npx -y @.../prism-mcp-server@<pinned> into each editor’s MCP config. Retire Python mcp/ in the same arc. Backend stays Python. HTTP API /api/v1 is the contract. TypeScript types auto-generated from FastAPI OpenAPI spec via openapi-typescript — drift caught at tsc time, not runtime. Install friction: 4 steps (Python 3.11 check + venv + pip install + register venv path) → 1 step (register npx invocation). Node already required by every Claude client; zero new global installs. 5-PR arc: PR1 TS scaffold + SDK + env + client + prism_start smoke, PR2 port all ~30 verbs + parity test suite, PR3 OpenAPI type generation + CI drift guard, PR4 npm publish pipeline on tag push, PR5 install update + delete Python mcp/. Pairs with SPEC-027: SPEC-028’s npm package fills the mcp_server block in SPEC-027’s release manifest. Folds in SPEC-026 TODO #83 (env fail-loud) via Zod schema validation. Retires Python mcp/ — no dual-ship. 7 open questions: npm scope, test framework (lean Vitest), package manager (lean npm), provenance signing, multi-version cache invalidation, bundler choice, offline installs. Status: draft
Last modified on April 22, 2026