N8N MCP Server Complete Rebuild vs Incremental Upgrade

Decision

Complete ground-up rebuild of N8N MCP server from Bible v17.1 to v18.1, rather than incremental upgrade of existing monolithic codebase.

Rationale

Old server had fabricated tools for non-existent API endpoints, monolithic architecture (single server.py), outdated Bible v17.1 patterns (FastMCP 2.x, Python 3.13, run_in_executor). Incremental upgrade would have been more complex than a clean rebuild — too many anti-patterns to surgically fix. Clean rebuild ensured: (1) 100% API coverage validated against actual N8N docs, (2) Full Bible v18.1 compliance from scratch, (3) Modular 10-file tool architecture, (4) Zero inherited technical debt.

Alternatives Rejected

  1. Incremental upgrade: Fix individual files in-place. Rejected — too many structural issues (monolithic server.py, fabricated tools, wrong singleton pattern, run_in_executor everywhere).\n2. Fork from TypeScript n8n-mcp: Port the TS reference repo to Python. Rejected — it was a community fork with different architecture, not aligned with Bible v18.1 patterns.

Outcome

Pending