
n8n
n8n.io- Category
- Developer Tools
- Rank
- No. 224Tools index
- Pricing
- Paid
- Type
- TOOL
- Builder
- n8n-io
- GitHub
- 204.7k stars
- Latest release
- n8n@2.40.0
- Date
About
Workflow automation platform. Open-source workflow automation tool with a visual editor. Connects APIs, databases, and services with 400+ integrations.
What it does
n8n lets you assemble a sequence of steps on a drag-and-drop canvas: each step reaches out to a service, transforms data, or calls a language model, and the whole sequence runs on demand or on a timer. A step can drop into raw JavaScript or Python when no packaged step covers the job. The same engine also builds multi-step agents that call tools and pause for a person's approval mid-run.
Why it's ranked here
It ranks high because the codebase backs up the pitch: a queue-based scaling mode for horizontal workers, a content security policy layer, and a guard against server-side request forgery are all wired into the server, not just claimed in marketing copy. The catalogue calls it open source, but the code ships under the Sustainable Use License plus a separate Enterprise License, a source-available model with usage restrictions rather than a permissive one. That gap between marketing and license terms is worth knowing before adopting it at scale.
What's good
Operational maturity shows in the details: a queue-based execution mode for scaling workers, auto-generated database schema documentation that CI checks against the actual migrations, and a content security policy layer applied per request. It ships both an MCP client and an MCP server configuration, so it can call other agent tools or expose its own workflows as tools to a calling agent. A separate, dependency-free CLI client offers JSON and table output for scripting, distinct from the main server.
Tradeoffs
The Sustainable Use License blocks reselling n8n as a competing hosted service, so teams building a product on top of it need the separate Enterprise License and a support contract. A source comment says the content security policy that applies to most pages is deliberately skipped for webhook and form pages a workflow author creates, and that an environment variable exists to turn that page's sandbox off entirely, which is a real risk if left on for exposed forms. Running it needs a recent Node.js release and pnpm, not a plain npm install.
How to use it well
It fits teams that want a self-hosted automation layer they can inspect and extend, especially ones building agent workflows that need a human checkpoint before a risky action runs. Start with the one-line Docker installer to try it, then move to the queue-based scaling mode before pointing it at real production load. Use the separate lightweight command-line client, not the main server, for scripting and CI pipelines. Skip it if you need a permissive license to embed inside a commercial product you resell.
Technical notes+
The monorepo is a pnpm workspace built with Turbo; package.json requires a recent Node.js and pnpm and runs a preinstall script that blocks a plain npm install. packages/cli/src/server.ts wires an Express app through a dependency-injection container, registers auth strategies (API key then session cookie) in sequence through an AuthStrategyRegistry, sets up a Push service for websocket collaboration, and conditionally starts a queue-based ScalingService when executions.mode is queue; a comment there explains that the content-security-policy middleware is installed after AbstractServer's webhook and form routes on purpose so those pages stay unconstrained, including when their sandbox is switched off entirely. The @n8n/config package defines a GlobalConfig class assembling dozens of nested config sections, among them McpClientConfig, McpServerConfig, SsrfProtectionConfig, TaskRunnersConfig and ScalingModeConfig, via a Config/Env/Nested decorator system. packages/core/src/execution-engine/index.ts and packages/workflow/src/index.ts define the execution engine and shared workflow types, including an EvalLlmMockHandler type for LLM-based HTTP mocking during evaluation and graph-traversal exports like buildAdjacencyList. packages/frontend/editor-ui/src/main.ts bootstraps a Vue 3 app with Pinia, the Vue Flow canvas library, and a Sentry plugin. The @n8n/task-runner package exports a separate task-runner module for executing code outside the main process. docs/db.md confirms the schema is authored through TypeORM migrations in the @n8n/db package (synchronize disabled), with both SQLite and PostgreSQL supported and schema docs auto-generated via tbls. @n8n/cli's own docs describe a separate zero-dependency command-line client built on native fetch, distinct from the packages/cli server.
Observed
- License
- Distributed under the Sustainable Use License plus a separate Enterprise License: a source-available (fair-code) model, not a standard OSI open-source license.
- Language
- Primary language is TypeScript, organized as a pnpm-workspace monorepo built with Turbo.
- Packaging
- Ships primarily as a Docker image; the root package manifest blocks a plain npm install via a preinstall script, requiring pnpm.
- Architecture
- Backend is Express with a dependency-injection container and a controller-service pattern; frontend is Vue 3 with Pinia and a node-graph canvas library.
- Interfaces
- Interfaces include a REST public API, a websocket push channel, and both an MCP client and an MCP server configuration for agent-tool interop.
- Persistence
- Persistence uses TypeORM with the schema managed entirely by migrations (entity synchronize disabled), supporting both SQLite and PostgreSQL.
- Secondary CLI
- Ships a second, dependency-free command-line client separate from the main server, built on native fetch with JSON, table, and ID-only output formats.
Read from README.md, package.json, packages/cli/src/index.ts, packages/cli/src/server.ts, packages/core/src/index.ts, packages/core/src/execution-engine/index.ts, packages/workflow/src/index.ts, packages/@n8n/config/src/index.ts, AGENTS.md, SECURITY.md, docs/db.md, packages/@n8n/cli/docs/index.md, packages/frontend/editor-ui/src/main.ts, packages/@n8n/task-runner/src/index.ts.
Intel on n8n
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.