Files
czlonkowski--n8n-mcp/docs/DATABASE_CONFIGURATION.md
wehub-resource-sync 409e92d6ae
Build and Push Docker Images / Build Docker Image (push) Has been cancelled
Build and Push Docker Images / Build Railway Docker Image (push) Has been cancelled
Build and Publish n8n Docker Image / test-image (push) Has been cancelled
Dependency Compatibility Check / Fresh Install Dependency Check (push) Has been cancelled
Build and Publish n8n Docker Image / build-and-push (push) Has been cancelled
Build and Publish n8n Docker Image / create-release (push) Has been cancelled
Automated Release / Detect Version Change (push) Has been cancelled
Automated Release / Generate Release Notes (push) Has been cancelled
Automated Release / Create GitHub Release (push) Has been cancelled
Automated Release / Package MCPB Bundle (push) Has been cancelled
Automated Release / Build and Verify (push) Has been cancelled
Automated Release / Publish to NPM (push) Has been cancelled
Automated Release / Build and Push Docker Images (push) Has been cancelled
Automated Release / Update Documentation (push) Has been cancelled
Automated Release / Notify Release Completion (push) Has been cancelled
Secret Scan / secretlint (push) Has been cancelled
Test Suite / test (push) Has been cancelled
Test Suite / cjs-runtime (push) Has been cancelled
Test Suite / publish-results (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:41:06 +08:00

1.4 KiB

Database & Memory Configuration

Database Adapters

n8n-mcp uses SQLite for storing node documentation. Two adapters are available:

  1. better-sqlite3 (Default in Docker)

    • Native C++ bindings for best performance
    • Direct disk writes (no memory overhead)
    • Enabled by default in Docker images (v2.20.2+)
    • Memory usage: ~100-120 MB stable
  2. sql.js (Fallback)

    • Pure JavaScript implementation
    • In-memory database with periodic saves
    • Used when better-sqlite3 compilation fails
    • Memory usage: ~150-200 MB stable

Memory Optimization (sql.js)

If using sql.js fallback, you can configure the save interval to balance between data safety and memory efficiency:

Environment Variable:

SQLJS_SAVE_INTERVAL_MS=5000  # Default: 5000ms (5 seconds)

Usage:

  • Controls how long to wait after database changes before saving to disk
  • Lower values = more frequent saves = higher memory churn
  • Higher values = less frequent saves = lower memory usage
  • Minimum: 100ms
  • Recommended: 5000-10000ms for production

Docker Configuration:

{
  "mcpServers": {
    "n8n-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e", "SQLJS_SAVE_INTERVAL_MS=10000",
        "ghcr.io/czlonkowski/n8n-mcp:latest"
      ]
    }
  }
}

docker-compose:

environment:
  SQLJS_SAVE_INTERVAL_MS: "10000"