docs/DEPENDENCY_UPDATES.md
This guide explains how n8n-MCP keeps its n8n dependencies up to date with the weekly n8n release cycle.
n8n releases new versions weekly, typically on Wednesdays. To ensure n8n-MCP stays compatible and includes the latest nodes, we've implemented automated dependency update systems.
Run the update script locally:
# Check for updates (dry run)
npm run update:n8n:check
# Apply updates
npm run update:n8n
# Apply updates without tests (faster, but less safe)
node scripts/update-n8n-deps.js --skip-tests
The script will:
npm install to update lock fileA GitHub Action runs every Monday at 9 AM UTC to:
You can also trigger it manually:
If you prefer Renovate over the custom solution:
renovate.json will:
The update system tracks these n8n packages:
n8n-nodes-base - Core n8n nodes (loaded by the node-loader at rebuild time)n8n-core - Runtime helpers that n8n-nodes-base internally require()s
(declared only as a devDependency in n8n-nodes-base, so we install it
ourselves)n8n-workflow - Workflow types and utilities (type-only imports in our code)@n8n/n8n-nodes-langchain - AI/LangChain nodesNote: We intentionally do not depend on the
n8nmeta package. The MCP server reads node metadata from a prebuilt SQLite database and never executes n8n nodes, so pulling in the full n8n runtime (editor backend, task runner, queue, typeorm, AI workflow builder, etc.) would bloat the dev dependency tree without any runtime benefit.
Always review n8n release notes for breaking changes:
When n8n adds new nodes or changes existing ones:
If an update fails:
npm run build
npm run rebuild
npm run validate
Edit .github/workflows/update-n8n-deps.yml:
schedule:
# Run every Wednesday at 10 AM UTC (after n8n typically releases)
- cron: '0 10 * * 3'
Edit scripts/update-n8n-deps.js:
const trackedDeps = [
'n8n-nodes-base',
'n8n-workflow',
'@n8n/n8n-nodes-langchain',
// Add more packages here
];
Modify the GitHub Action to:
# See current versions
npm ls n8n-nodes-base n8n-workflow @n8n/n8n-nodes-langchain
# Check latest available
npm view n8n-nodes-base version
npm view n8n-workflow version
npm view @n8n/n8n-nodes-langchain version
# Run with more logging
LOG_LEVEL=debug node scripts/update-n8n-deps.js
# Skip tests to isolate issues
node scripts/update-n8n-deps.js --skip-tests
# Manually test each step
npm run build
npm run rebuild
npm run validate
# Force rebuild
rm -f data/nodes.db
npm run rebuild
# Check specific nodes
npm run test-nodes
# Validate database
npm run validate
If updating manually:
npm run update:n8n:checknpm run update:n8n