freshcrate
Skin:/
Home > Frameworks > n8n-schema-generator

n8n-schema-generator

auto-generated JSON schemas for every n8n node — hourly updates, validation API

Why this rank:Release freshnessStrong adoptionHealthy release cadence

Description

auto-generated JSON schemas for every n8n node — hourly updates, validation API

README

extracts JSON schemas from every n8n node and credential by loading the actual n8n-nodes-base package at runtime, reflecting over class instances, and writing structured JSON files. also ships a zero-dependency validation API so LLMs (or anything else) can check generated workflows before deploying them.

schemas auto-update hourly via GitHub Actions when a new n8n version drops. 428 nodes, 389 credentials, all committed to schemas/.

npm run extract   # generate all schemas
npm run serve     # start validation API on :3000

nodetypescriptlicense

what it does

two parts:

schema extractor (extract.ts) — loads n8n-nodes-base compiled JS, instantiates every node and credential class, extracts properties/defaults/validation rules, writes them as individual JSON files. uses MD5 hashing to skip unchanged files between runs.

validation API (server.ts) — loads extracted schemas into memory, exposes REST endpoints to browse, search, and validate node configs and full workflows. built on raw node:http, no framework.

extractor details

  • discovers nodes by walking dist/nodes/*.node.js from the installed package
  • handles versioned nodes (VersionedNodeType) — extracts all version variants
  • computes defaults using NodeHelpers.getNodeParameters() (same logic n8n uses internally)
  • extracts enum values, required fields, filter schemas, fixed collections
  • silent error handling — nodes that throw during instantiation are skipped, not fatal

validation details

  • validates node type, typeVersion, position, parameters
  • merges conditional display options before checking enum values (handles n8n's pattern of same field name appearing multiple times with different allowed values)
  • validates workflow structure: nodes array, connections object, duplicate name detection, connection reference integrity
  • validates filter conditions and fixed collection keys against schema

API endpoints

method path description
GET / API info, node count, n8n version
GET /nodes all nodes, filterable by ?category=
GET /nodes/:name full schema for one node
GET /nodes/:name/defaults computed defaults only
GET /nodes/:name/validation validation rules only
GET /search?q= full-text search across name, display name, description (max 50)
POST /validate/node validate a single node config
POST /validate/workflow validate a full workflow
GET /workflow JSON Schema draft-07 for the workflow format
GET /types common type definitions (FilterValue, Expression, ParameterTypes)

install

git clone https://github.com/yigitkonur/n8n-schema-generator.git
cd n8n-schema-generator
npm install

usage

extract schemas

npm run extract              # compile + extract to schemas/
npm run extract:force        # overwrite all, ignore cache
node dist/extract.js mydir   # custom output directory

start validation server

npm run serve                # compile + start on :3000
PORT=8080 npm start          # use pre-built dist, custom port

validate a workflow

curl -X POST http://localhost:3000/validate/workflow \
  -H "Content-Type: application/json" \
  -d @my-workflow.json

validate a single node

curl -X POST http://localhost:3000/validate/node \
  -H "Content-Type: application/json" \
  -d '{"type":"n8n-nodes-base.httpRequest","typeVersion":4.2,"position":[0,0],"parameters":{"method":"GET","url":"https://example.com"}}'

configuration

variable default description
PORT 3000 API server port
FORCE_UPDATE — set to 1 to skip MD5 cache and rewrite all files
CI — set to true to emit change summary for GitHub Actions

auto-update

the included GitHub Actions workflow (.github/workflows/update-schemas.yml) runs hourly:

  1. compares installed n8n-workflow version against latest on npm
  2. if different, runs npm update + npm run extract
  3. commits changed schema files back to the repo

schemas in schemas/ are always committed — consumers can read them directly from GitHub without running the extractor.


schema output

schemas/
  _meta.json                 — extraction timestamp, n8n version, node count
  common/
    types.json               — FilterValue, Expression, ParameterTypes
  workflow/
    workflow.json            — JSON Schema draft-07 for n8n workflow format
  credentials/
    _index.json              — all 389 credential names
    <name>.json              — per-credential properties
  nodes/
    _index.json              — all 428 nodes, categories, grouped index
    <name>.json              — full schema per node
    by-category/
      input.json             — nodes grouped by category
      output.json
      transform.json
      trigger.json
      schedule.json
      organization.json
    validation/
      _index.json            — validation index
      <name>.json            — flattened validation rules per node

project structure

extract.ts                   — schema extractor CLI
server.ts                    — validation API server
package.json                 — deps, scripts, engines
tsconfig.json                — ES2022, NodeNext modules, dist/ output
.github/workflows/
  update-schemas.yml         — hourly auto-update cron
schemas/                     — generated output (committed)

license

MIT

Release History

VersionChangesUrgencyDate
main@2026-05-07Latest activity on main branchHigh5/7/2026
0.0.0No release found — using repo HEADHigh4/9/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

claudekitđŸ› ī¸ Accelerate your Python and JavaScript development with Claude Kit's toolkit, featuring specialized agents, slash commands, and advanced context management.main@2026-06-06
cadwynProduction-ready community-driven modern Stripe-like API versioning in FastAPI7.0.0
claude-code-agents-wizard-v2🧠 Orchestrate complex software projects with Claude Code's specialized agents for streamlined management and mandatory human oversight.main@2026-06-05
.claudeThe Ultimate Claude Code Toolkit — 127 skills, 86 agents, 109 marketplace repos (11,700+ community skills), 30 commands, 8 hooks, GSD framework. Drop-in ~/.claude config that auto-activates the right master@2026-06-03
workspace-architectWorkspace Architect is a zero-friction CLI tool that provides curated collections of specialized agents, instructions, and prompts to supercharge your GitHub Copilot experience.main@2026-05-29

More in Frameworks

spec_driven_developSpec-Driven Develop is a platform-agnostic AI agent skill that automates the pre-development workflow for large-scale complex tasks. It is not a framework, not a runtime, not a package manager — it is
deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of ta
simBuild, deploy, and orchestrate AI agents. Sim is the central intelligence layer for your AI workforce.
ctranslate2Fast inference engine for Transformer models