AI Slop Code Risk Monitor

czlonkowski/n8n-mcp

SlopCodeMonitor badge for czlonkowski/n8n-mcp Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you

2.6 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for czlonkowski/n8n-mcp, a TypeScript project with 23,176 GitHub stars. SynthScan examined 381,081 lines of code across 922 source files, recording 467 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 2.6 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

2.6
Adjusted Signal
2.6
Raw Pattern Score
100%
Time Factor
2026-10-27
Last Push
23.2K
Stars
TypeScript
Language
381.1K
Lines of Code
922
Files
467
Pattern Hits
2026-10-31
Scan Date
0.05
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 5.9/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 312 finding(s).

Hallucinated Dependency & Supply Chain Risk 3.6/100 · LOW

Are imports declared and package/API names verified? 86 finding(s).

Agent Over-Engineering Ratio 4.3/100 · LOW

Are wrappers, guards, and repeated structures necessary? 181 finding(s).

PR Review Velocity Impact 10.6/100 · LOW

Which changes need focused human review? 467 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 45MEDIUM 82LOW 340

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 467 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators69 hits · 226 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/services/workflow-validator.test.ts69 // ─── Workflow Structure Validation ─────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts452 // ─── Node Validation ───────────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts601 // ─── Connection Validation ─────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts687 // ─── Expression Validation ─────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts713 // ─── Expression Format Detection ──────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts782 // ─── Error Handler Detection ───────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts883 // ─── onError Property Validation ───────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts993 // ─── Workflow Patterns ─────────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1030 // ─── Node Error Handling ───────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1067 // ─── Trigger Reachability ──────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1082 // ─── Tool Variant Validation ───────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1151 // ─── Conditional ai_tool Outputs (vector stores, #953/#955) ────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1151 // ─── Conditional ai_tool Outputs (vector stores, #953/#955) ────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1285 // ─── AI Sub-Node Main Connection Detection ─────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1325 // ─── Suggestions ───────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1345 // ─── Validation Options ────────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1440 // ─── Integration Tests ─────────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator.test.ts1462 // ─── If/Switch conditions validation ──────────────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts13 // ─── Basic Validation ───────────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts90 // ─── Edge Cases and Additional Coverage ─────────────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts140 // ─── ResourceLocator Validation ─────────────────────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts260 // ─── _cnd Operators (from config-validator-cnd) ─────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts444 // ─── Null/Undefined Handling (from edge-cases) ─────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts453 // ─── Boundary Value Testing (from edge-cases) ─────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts470 // ─── Invalid Data Type Handling (from edge-cases) ─────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts487 // ─── Performance Boundaries (from edge-cases) ─────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts501 // ─── Code syntax checks ───────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts551 // ─── Special Characters (from edge-cases) ─────────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts558 // ─── Complex Validation Scenarios (from edge-cases) ───────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts574 // ─── Error Recovery (from edge-cases) ─────────────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts591 // ─── Batch Validation (from edge-cases) ───────────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts601 // ─── HTTP Request Node (from node-specific) ──────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts623 // ─── Code Node (from node-specific) ──────────────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts684 // ─── Python Code Node (from node-specific) ──────────────────────COMMENT
MEDIUMtests/unit/services/config-validator.test.ts756 // ─── Database Node (from node-specific, non-security) ────────────COMMENT
MEDIUMtests/unit/services/enhanced-config-validator.test.ts1535// ─── Integration Tests (from enhanced-config-validator-integration) ─────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts66 // ─── A2a: webhook responseNode does not require onError ────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts100 // ─── A2b + B1: node-type-aware error output configuration ──────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts296 // ─── A6: Merge input bounds ─────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts342 // ─── A6: cycle detection ────────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts425 // ─── A7: duplicate node IDs ─────────────────────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts473 // ─── A7: typeVersion / unknown-node severity by package ────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts551 // ─── B2: AI sub-node trigger reachability ──────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts607 // ─── Native-first guidance: no nudge toward Code nodes ─────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts684 // ─── B3: outdated typeVersion demoted to a gated suggestion ────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts717 // ─── RC-2 + B7: error-handling advisories ───────────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts789 // ─── RC-2 + B11: workflow-level error-handling advice ───────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts864 // ─── B8 + info routing: AI advisory dedupe and severity ─────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts930 // ─── B9: removed / demoted node-level advisories ────────────────────COMMENT
MEDIUMtests/unit/services/workflow-validator-fp-audit.test.ts985 // ─── B11: RECOVERY text references the current tool surface ─────────COMMENT
MEDIUM⚡docs/local/integration-testing-plan.md401# ========================================COMMENT
MEDIUM⚡docs/local/integration-testing-plan.md403# ========================================COMMENT
MEDIUM…kills/n8n-self-hosting/assets/docker-compose.queue.yml9# ---------------------------------------------------------------------------COMMENT
MEDIUM…kills/n8n-self-hosting/assets/docker-compose.queue.yml22# ---------------------------------------------------------------------------COMMENT
MEDIUMsrc/mcp/handlers-n8n-manager.ts4867// ── Manage Folders ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/mcp/handlers-n8n-manager.ts5075// ── Audit Instance ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/services/credential-scanner.ts169 // ── AI / ML ──────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/services/credential-scanner.ts177 // ── Cloud / DevOps ───────────────────────────────────────────────────────COMMENT
MEDIUM⚡src/services/credential-scanner.ts188 // ── GitHub ───────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡src/services/credential-scanner.ts194 // ── Auth tokens ──────────────────────────────────────────────────────────COMMENT
9 more matches not shown…
Magic Placeholder Names37 hits · 208 pts
SeverityFileLineSnippetContext
HIGHtest-output.txt1581 ✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API keyCODE
HIGHtests/unit/flexible-instance-security.test.ts122 'YOUR_API_KEY',CODE
HIGHtests/unit/multi-tenant-integration.test.ts119 'YOUR_API_KEY',CODE
HIGH⚡tests/unit/types/instance-context-mcp-token.test.ts17 for (const bad of ['', 'a b', 'YOUR_TOKEN_HERE', 'placeholder', 123 as any]) {CODE
HIGH⚡tests/unit/types/instance-context-mcp-token.test.ts21 expect(result.errors?.join(' ')).not.toContain('YOUR_TOKEN_HERE');CODE
HIGH⚡tests/unit/types/instance-context-coverage.test.ts273 'YOUR_API_KEY',CODE
HIGH⚡tests/unit/types/instance-context-coverage.test.ts274 'your_api_key',CODE
HIGHtests/unit/types/instance-context-coverage.test.ts302 err.includes('your_api_key')CODE
HIGHtests/integration/ai-validation/README.md116 N8N_API_KEY=your-api-keyCODE
HIGHtests/integration/ai-validation/TEST_REPORT.md198export N8N_API_KEY=your-api-keyCODE
HIGHdocs/HTTP_DEPLOYMENT.md74# N8N_API_KEY=your-api-key-hereCOMMENT
HIGHdocs/HTTP_DEPLOYMENT.md132 "N8N_API_KEY": "your-api-key-here"CODE
HIGHdocs/CURSOR_SETUP.md48 "N8N_API_KEY": "your-api-key"CODE
HIGHdocs/CURSOR_SETUP.md582. Replace `your-api-key` with your n8n API keyCODE
HIGHdocs/SELF_HOSTING.md51 "N8N_API_KEY": "your-api-key"CODE
HIGHdocs/SELF_HOSTING.md180 "-e", "N8N_API_KEY=your-api-key",CODE
HIGHdocs/SELF_HOSTING.md207 "-e", "N8N_API_KEY=your-api-key",CODE
HIGHdocs/SELF_HOSTING.md276 "N8N_API_KEY": "your-api-key"CODE
HIGHdocs/CODEX_SETUP.md22env = { "MCP_MODE" = "stdio", "LOG_LEVEL" = "error", "DISABLE_CONSOLE_OUTPUT" = "true", "N8N_API_URL" = "https://your-n8CODE
HIGHdocs/CODEX_SETUP.md25Make sure to replace `https://your-n8n-instance.com` with your actual n8n URL and `your-api-key` with your n8n API key.CODE
HIGHdocs/CLAUDE_CODE_SETUP.md39 -e N8N_API_KEY=your-api-key \CODE
HIGHdocs/CLAUDE_CODE_SETUP.md51 '-e N8N_API_KEY=your-api-key' `CODE
HIGHdocs/CLAUDE_CODE_SETUP.md55Make sure to replace `https://your-n8n-instance.com` with your actual n8n URL and `your-api-key` with your n8n API key.CODE
HIGHdocs/CLAUDE_CODE_SETUP.md80 "N8N_API_KEY": "your-api-key"CODE
HIGHdocs/WINDSURF_SETUP.md53 "N8N_API_KEY": "your-api-key"CODE
HIGHdocs/WINDSURF_SETUP.md632. Replace `your-api-key` with your n8n API keyCODE
HIGHdocs/DOCKER_TROUBLESHOOTING.md110 "-e", "N8N_API_KEY=your-api-key",CODE
HIGHdocs/N8N_DEPLOYMENT.md62export N8N_API_KEY=your-api-key-here # Your n8n API keyCODE
HIGHdocs/N8N_DEPLOYMENT.md549 curl -H "X-N8N-API-KEY: your-api-key" \CODE
HIGH⚡docs/local/integration-testing-plan.md407N8N_API_KEY=your-api-key-hereCODE
HIGHdocs/local/integration-tests-phase1-summary.md222 N8N_API_KEY=<your-api-key>CODE
HIGHdata/skills/n8n-workflow-patterns/webhook_processing.md255{{$json.headers['x-api-key']}} equals "your-api-key"CODE
HIGH⚡src/types/instance-context.ts161 !key.toLowerCase().includes('your_api_key') &&CODE
HIGH⚡src/types/instance-context.ts252 if (context.n8nApiKey.toLowerCase().includes('your_api_key')) {CODE
HIGH⚡src/types/instance-context.ts253 errors.push(`Invalid n8nApiKey: contains placeholder 'your_api_key' - Please provide actual API key`);CODE
HIGHsrc/utils/template-sanitizer.ts33 ['Bearer ', 'Bearer YOUR_TOKEN_HERE']CODE
HIGHsrc/utils/template-sanitizer.ts173 return 'YOUR_TOKEN_HERE';CODE
Structural Annotation Overuse68 hits · 130 pts
SeverityFileLineSnippetContext
LOWN8N_HTTP_STREAMABLE_SETUP.md21### Step 1: Start ServicesCOMMENT
LOWN8N_HTTP_STREAMABLE_SETUP.md35### Step 2: Create MCP Credentials in n8nCOMMENT
LOWN8N_HTTP_STREAMABLE_SETUP.md52### Step 3: Configure MCP Client NodeCOMMENT
LOWN8N_HTTP_STREAMABLE_SETUP.md62### Step 4: Test the ConnectionCOMMENT
LOWtests/test-mcp-extraction.js76 // Step 1: InitializeCOMMENT
LOWtests/test-mcp-extraction.js110 // Step 2: List toolsCOMMENT
LOWtests/test-mcp-extraction.js127 // Step 3: Call the tool to get AI Agent codeCOMMENT
LOW⚡tests/integration/ai-validation/e2e-validation.test.ts112 // Step 1: Create workflowCOMMENT
LOW⚡tests/integration/ai-validation/e2e-validation.test.ts116 // Step 2: Validate workflowCOMMENT
LOWtests/integration/ai-validation/e2e-validation.test.ts135 // Step 3: Since it's valid, it's already created and ready to useCOMMENT
LOWdocs/VS_CODE_PROJECT_SETUP.md184## Step 6 - Try it!COMMENT
LOWdata/skills/n8n-node-configuration/DEPENDENCIES.md467// Step 1: ParentCOMMENT
LOWdata/skills/n8n-node-configuration/DEPENDENCIES.md474// Step 2: Children (structure determined by parent)COMMENT
LOW⚡data/skills/n8n-node-configuration/README.md181// Step 1: Get standard infoCOMMENT
LOW⚡data/skills/n8n-node-configuration/README.md186// Step 2: Configure for operationCOMMENT
LOW⚡data/skills/n8n-node-configuration/README.md194// Step 3: ValidateCOMMENT
LOW⚡data/skills/n8n-node-configuration/README.md202// Step 1: Configure HTTP POSTCOMMENT
LOW⚡data/skills/n8n-node-configuration/README.md208// Step 2: Validate → Error: "sendBody required"COMMENT
LOW⚡data/skills/n8n-node-configuration/README.md209// Step 3: Check dependenciesCOMMENT
LOW⚡data/skills/n8n-node-configuration/README.md215// Step 4: FixCOMMENT
LOWdata/skills/n8n-validation-expert/ERROR_CATALOG.md931// Step 1: Minimal valid configCOMMENT
LOWdata/skills/n8n-validation-expert/ERROR_CATALOG.md942// Step 2: Add features one by oneCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/SKILL.md68// Step 1: SearchCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/SKILL.md72// Step 2: Get detailsCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/SKILL.md76// Step 3: Get readable documentationCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/VALIDATION_GUIDE.md407// Step 1: Get node requirements (quick check)COMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/VALIDATION_GUIDE.md415// Step 2: Configure nodeCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/VALIDATION_GUIDE.md423// Step 3: Validate configuration (full validation)COMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/VALIDATION_GUIDE.md430// Step 4: Check resultCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/VALIDATION_GUIDE.md438// Step 5: Validate in workflow contextCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/VALIDATION_GUIDE.md446// Step 6: Apply auto-fixes if neededCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/SEARCH_GUIDE.md318// Step 1: SearchCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/SEARCH_GUIDE.md321// Step 2: Get standard infoCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/SEARCH_GUIDE.md324// Step 3: Find auth optionsCOMMENT
LOW⚡data/skills/n8n-mcp-tools-expert/SEARCH_GUIDE.md331// Step 4: Validate configCOMMENT
LOW⚡src/utils/ssrf-protection.ts360 // Step 1: Must be HTTP/HTTPS (all modes)COMMENT
LOW⚡src/utils/ssrf-protection.ts370 // Step 2: ALWAYS block cloud metadata endpoints (all modes)COMMENT
LOW⚡src/utils/ssrf-protection.ts376 // Step 3: Resolve DNS to get every address this hostname answers with.COMMENT
LOWsrc/utils/ssrf-protection.ts443 // Step 4: ALWAYS block cloud metadata IPs (all modes)COMMENT
LOWsrc/utils/ssrf-protection.ts468 // Step 5: Mode-specific validationCOMMENT
LOWsrc/utils/ssrf-protection.ts498 // Step 6: Check private IPv4 ranges (strict & moderate modes)COMMENT
LOWsrc/utils/ssrf-protection.ts509 // Step 7: IPv6 private address check (strict & moderate modes)COMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts174#### Step 1: Create Chat TriggerCOMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts198#### Step 2: Add Language ModelCOMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts220#### Step 3: Add AI AgentCOMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts242#### Step 4: Connect ComponentsCOMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts265#### Step 5: ValidateCOMMENT
LOW⚡src/mcp/tool-docs/guides/ai-agents-guide.ts349// Step 1: Create Vector Store with embeddings and documentsCOMMENT
LOW⚡src/mcp/tool-docs/guides/ai-agents-guide.ts357// Step 2: Connect Vector Store to Vector Store ToolCOMMENT
LOW⚡src/mcp/tool-docs/guides/ai-agents-guide.ts364// Step 3: Connect tool to AI AgentCOMMENT
LOWsrc/scripts/test-webhook-autofix.ts71 // Step 1: Validate workflow to identify issuesCOMMENT
LOWsrc/scripts/test-webhook-autofix.ts87 // Step 2: Generate fixes (preview mode)COMMENT
LOWsrc/scripts/test-webhook-autofix.ts128 // Step 3: Verify UUID formatCOMMENT
LOWsrc/scripts/test-autofix-workflow.ts115 // Step 1: Validate the workflow to identify issuesCOMMENT
LOWsrc/scripts/test-autofix-workflow.ts127 // Step 2: Check for expression format issuesCOMMENT
LOWsrc/scripts/test-autofix-workflow.ts164 // Step 3: Generate fixes in preview modeCOMMENT
LOW⚡src/scripts/test-autofix-workflow.ts193 // Step 4: Display individual fixesCOMMENT
LOW⚡src/scripts/test-autofix-workflow.ts202 // Step 5: Display generated operationsCOMMENT
LOW⚡src/scripts/test-autofix-workflow.ts209 // Step 6: Test with different confidence thresholdsCOMMENT
LOWsrc/scripts/test-autofix-workflow.ts225 // Step 7: Test with specific fix typesCOMMENT
8 more matches not shown…
Hyper-Verbose Identifiers112 hits · 112 pts
SeverityFileLineSnippetContext
LOWtests/test-enhanced-documentation.js7async function testEnhancedDocumentation() {CODE
LOWtests/demo-enhanced-documentation.js5async function demoEnhancedDocumentation() {CODE
LOWtests/unit/triggers/trigger-detector.test.ts9function createWorkflowWithTrigger(triggerType: string, params: Record<string, unknown> = {}): Workflow {CODE
LOWtests/unit/mcp/search-nodes-source-filter.test.ts218 function enrichNodeWithCommunityMetadata(node: MockRow): any {CODE
LOWtests/unit/mcp/handlers-n8n-manager.test.ts2489 function mockCurrentGroupedWorkflow(): void {CODE
LOWtests/unit/telemetry/telemetry-processing.test.ts276 async function expectAllUnsentBatchesRetried(CODE
LOW…s/unit/community/documentation-batch-processor.test.ts47function createMockDocumentationSummary(nodeType: string) {CODE
LOWtests/unit/services/workflow-diff-node-rename.test.ts25 function convertConnectionsToNameBased(workflow: Workflow): void {CODE
LOWtests/integration/database/test-utils.ts565export function createTestDatabaseAdapter(db: Database.Database): DatabaseAdapter {CODE
LOWtests/integration/n8n-api/utils/webhook-workflows.ts215export function generateWebhookWorkflowJson(CODE
LOWtests/integration/n8n-api/utils/webhook-workflows.ts240export function exportAllWebhookWorkflows(): Record<string, Partial<Workflow>> {CODE
LOWtests/integration/n8n-api/utils/cleanup-helpers.ts317export async function cleanupExecutionsByWorkflow(CODE
LOWtests/integration/n8n-api/utils/factories.ts266export function createErrorHandlingWorkflow(CODE
LOWtests/integration/ai-validation/helpers.ts128export function createHTTPRequestToolNode(options: {CODE
LOWtests/integration/ai-validation/helpers.ts176export function createVectorStoreToolNode(options: {CODE
LOW…ion/validation/real-world-structure-validation.test.ts66 function extractNodesWithSpecialTypes(workflowJson: any) {CODE
LOWtests/utils/database-utils.ts480export function createMockDatabaseAdapter(): DatabaseAdapter {CODE
LOWtests/utils/assertions.ts14export function expectValidNodeDefinition(node: any) {CODE
LOWtests/utils/assertions.ts108export function expectValidPropertyDefinition(property: any) {CODE
LOWtests/utils/assertions.ts222export function expectRelevantSearchResults(CODE
LOWdocs/local/Deep_dive_p1_p2.md56export async function handleBatchUpdateWorkflow(CODE
LOWdocs/local/N8N_AI_WORKFLOW_BUILDER_ANALYSIS.md693function estimateTokenCountFromMessages(messages: BaseMessage[]): number {CODE
LOWdocs/local/N8N_AI_WORKFLOW_BUILDER_ANALYSIS.md1206function extractConnectionTypesFromExpression(expression: string): string[] {CODE
LOWexamples/enhanced-documentation-demo.js5async function demonstrateEnhancedDocumentation() {CODE
LOWscripts/test-typeversion-validation.ts150async function testTypeVersionValidation() {CODE
LOWscripts/generate-initial-release-notes.js10function generateInitialReleaseNotes(version) {CODE
LOWscripts/test-structure-validation.ts87function extractNodesWithSpecialTypes(workflowJson: any): Array<{CODE
LOWscripts/check-settings-drift.ts164export function parseEntitySettingsProperties(dts: string): Set<string> {CODE
LOWscripts/check-settings-drift.ts298function installedNodesBaseVersion(): string | null {CODE
LOWscripts/check-settings-drift.ts306function installedEntityPackageVersion(): string | null {CODE
LOWsrc/http-server-single-session.ts117function extractMultiTenantHeaders(req: express.Request): MultiTenantHeaders {CODE
LOWsrc/database/database-adapter.ts105async function createBetterSQLiteAdapter(dbPath: string): Promise<DatabaseAdapter> {CODE
LOWsrc/database/shared-database.ts200export function isSharedDatabaseInitialized(): boolean {CODE
LOWsrc/database/shared-database.ts207export function getSharedDatabaseRefCount(): number {CODE
LOWsrc/parsers/version-display-gate.ts53export function filterPropertiesForVersion(properties: any[], version: string | number): any[] {CODE
LOWsrc/types/instance-context.ts91export function pickInstanceContextFields(source: InstanceContext): InstanceContext {CODE
LOW⚡src/types/instance-context.ts172function isValidMcpAccessTokenField(token: unknown): boolean {CODE
LOWsrc/config/n8n-api.ts102export function deriveOfficialMcpEndpoint(instanceUrl: string): string {CODE
LOWsrc/config/n8n-api.ts111export function getOfficialMcpConfigFromContext(context: {CODE
LOWsrc/triggers/trigger-detector.ts37export function detectTriggerFromWorkflow(workflow: Workflow): TriggerDetectionResult {CODE
LOWsrc/triggers/trigger-registry.ts93export async function initializeTriggerRegistry(): Promise<void> {CODE
LOWsrc/triggers/trigger-registry.ts114export async function ensureRegistryInitialized(): Promise<void> {CODE
LOWsrc/utils/expression-utils.ts45export function shouldSkipLiteralValidation(value: unknown): boolean {CODE
LOWsrc/utils/expression-utils.ts88export function extractBracketExpressions(value: string): string[] {CODE
LOWsrc/utils/node-classification.ts108export function requiresIncomingConnection(nodeType: string): boolean {CODE
LOWsrc/utils/node-utils.ts95function generateCamelCaseVariants(str: string): string[] {CODE
LOWsrc/utils/n8n-errors.ts184export function unknownSettingsKeysNamedBy(error: unknown): string[] {CODE
LOWsrc/utils/n8n-errors.ts196export function isUnknownSettingsPropertyError(error: unknown): boolean {CODE
LOWsrc/utils/n8n-errors.ts213export function enrichUnknownPropertyError(CODE
LOWsrc/utils/n8n-errors.ts284function describeConnectionFailure(axiosError: any): string {CODE
LOWsrc/utils/n8n-errors.ts327export function getUserFriendlyErrorMessage(error: N8nApiError): string {CODE
LOWsrc/utils/template-node-resolver.ts45function generateTemplateNodeVariations(nodeType: string): string[] {CODE
LOWsrc/utils/node-type-utils.ts215export function getTriggerTypeDescription(nodeType: string): string {CODE
LOWsrc/utils/mcp-input-normalizer.ts98export function normalizeMcpWorkflowPosition(value: unknown): unknown {CODE
LOWsrc/utils/mcp-input-normalizer.ts141export function normalizeMcpWorkflowNodes(value: unknown): unknown {CODE
LOWsrc/utils/mcp-input-normalizer.ts156export function normalizeMcpWorkflowConnections(value: unknown): unknown {CODE
LOWsrc/mcp/tool-policy.ts107export function getDisabledToolOperations(): Map<string, Set<string>> {CODE
LOWsrc/mcp/tool-policy.ts195export function resolveRequestedOperation(toolName: string, args: any): unknown {CODE
LOWsrc/mcp/official-mcp-access.ts202export async function clearOfficialMcpClientCache(): Promise<void> {CODE
LOWsrc/mcp/handlers-workflow-diff.ts167export async function handleUpdatePartialWorkflow(CODE
52 more matches not shown…
Verbosity Indicators39 hits · 71 pts
SeverityFileLineSnippetContext
LOWtests/test-mcp-extraction.js76 // Step 1: InitializeCOMMENT
LOWtests/test-mcp-extraction.js110 // Step 2: List toolsCOMMENT
LOWtests/test-mcp-extraction.js127 // Step 3: Call the tool to get AI Agent codeCOMMENT
LOW⚡tests/integration/ai-validation/e2e-validation.test.ts112 // Step 1: Create workflowCOMMENT
LOW⚡tests/integration/ai-validation/e2e-validation.test.ts116 // Step 2: Validate workflowCOMMENT
LOWtests/integration/ai-validation/e2e-validation.test.ts135 // Step 3: Since it's valid, it's already created and ready to useCOMMENT
LOW⚡src/utils/ssrf-protection.ts360 // Step 1: Must be HTTP/HTTPS (all modes)COMMENT
LOW⚡src/utils/ssrf-protection.ts370 // Step 2: ALWAYS block cloud metadata endpoints (all modes)COMMENT
LOW⚡src/utils/ssrf-protection.ts376 // Step 3: Resolve DNS to get every address this hostname answers with.COMMENT
LOWsrc/utils/ssrf-protection.ts443 // Step 4: ALWAYS block cloud metadata IPs (all modes)COMMENT
LOWsrc/utils/ssrf-protection.ts468 // Step 5: Mode-specific validationCOMMENT
LOWsrc/utils/ssrf-protection.ts498 // Step 6: Check private IPv4 ranges (strict & moderate modes)COMMENT
LOWsrc/utils/ssrf-protection.ts509 // Step 7: IPv6 private address check (strict & moderate modes)COMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts174#### Step 1: Create Chat TriggerCOMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts198#### Step 2: Add Language ModelCOMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts220#### Step 3: Add AI AgentCOMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts242#### Step 4: Connect ComponentsCOMMENT
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts265#### Step 5: ValidateCOMMENT
LOW⚡src/mcp/tool-docs/guides/ai-agents-guide.ts349// Step 1: Create Vector Store with embeddings and documentsCOMMENT
LOW⚡src/mcp/tool-docs/guides/ai-agents-guide.ts357// Step 2: Connect Vector Store to Vector Store ToolCOMMENT
LOW⚡src/mcp/tool-docs/guides/ai-agents-guide.ts364// Step 3: Connect tool to AI AgentCOMMENT
LOWsrc/scripts/test-webhook-autofix.ts71 // Step 1: Validate workflow to identify issuesCOMMENT
LOWsrc/scripts/test-webhook-autofix.ts87 // Step 2: Generate fixes (preview mode)COMMENT
LOWsrc/scripts/test-webhook-autofix.ts128 // Step 3: Verify UUID formatCOMMENT
LOWsrc/scripts/test-autofix-workflow.ts115 // Step 1: Validate the workflow to identify issuesCOMMENT
LOWsrc/scripts/test-autofix-workflow.ts127 // Step 2: Check for expression format issuesCOMMENT
LOWsrc/scripts/test-autofix-workflow.ts164 // Step 3: Generate fixes in preview modeCOMMENT
LOW⚡src/scripts/test-autofix-workflow.ts193 // Step 4: Display individual fixesCOMMENT
LOW⚡src/scripts/test-autofix-workflow.ts202 // Step 5: Display generated operationsCOMMENT
LOW⚡src/scripts/test-autofix-workflow.ts209 // Step 6: Test with different confidence thresholdsCOMMENT
LOWsrc/scripts/test-autofix-workflow.ts225 // Step 7: Test with specific fix typesCOMMENT
LOWsrc/community/documentation-batch-processor.ts108 // Step 1: Fetch READMEs (unless summaryOnly)COMMENT
LOWsrc/community/documentation-batch-processor.ts122 // Step 2: Generate AI summaries (unless readmeOnly)COMMENT
LOW⚡src/community/community-node-service.ts136 // Step 1: Sync verified nodes from Strapi APICOMMENT
LOW⚡src/community/community-node-service.ts145 // Step 2: Sync popular npm packages (unless verifiedOnly)COMMENT
LOW⚡src/services/workflow-diff-engine.ts2396 // Step 1: Update connection object keys (source node names)COMMENT
LOW⚡src/services/workflow-diff-engine.ts2402 // Step 2: Update target node references within connectionsCOMMENT
LOW⚡src/services/n8n-api-client.ts986 // Step 1: Basic cleaning (remove read-only fields, filter to known settings)COMMENT
LOW⚡src/services/n8n-api-client.ts989 // Step 2: Version-aware settings filtering for older n8n compatibilityCOMMENT
Fake / Example Data44 hits · 46 pts
SeverityFileLineSnippetContext
LOWtest-output.txt1580 ✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API keyCODE
LOWdocker-compose.extract.yml11 - N8N_ENCRYPTION_KEY=dummy-key-for-extractionCODE
LOWtests/unit/flexible-instance-security.test.ts123 'placeholder',CODE
LOWtests/unit/multi-tenant-integration.test.ts118 'placeholder',CODE
LOWtests/unit/multi-tenant-integration.test.ts311 'x-n8n-key': 'placeholder'CODE
LOWtests/unit/multi-tenant-integration.test.ts479 context: { n8nApiUrl: 'https://example.com', n8nApiKey: 'placeholder' },CODE
LOWtests/unit/multi-tenant-integration.test.ts480 expectedError: 'placeholder'CODE
LOWtests/unit/database/template-repository-core.test.ts140 name: 'John Doe',CODE
LOWtests/unit/database/template-repository-core.test.ts182 'John Doe',CODE
LOW⚡tests/unit/types/instance-context-mcp-token.test.ts17 for (const bad of ['', 'a b', 'YOUR_TOKEN_HERE', 'placeholder', 123 as any]) {CODE
LOWtests/unit/types/instance-context-coverage.test.ts186 n8nApiKey: 'placeholder' // Invalid placeholder keyCODE
LOW⚡tests/unit/types/instance-context-coverage.test.ts277 'placeholder',CODE
LOWtests/unit/types/instance-context-coverage.test.ts300 err.includes('placeholder') ||CODE
LOWtests/unit/http-server/multi-tenant-support.test.ts248 n8nApiKey: 'placeholder'CODE
LOWtests/unit/triggers/handlers/form-handler.test.ts115 name: 'John Doe',CODE
LOWtests/unit/triggers/handlers/form-handler.test.ts171 name: 'Jane Doe',CODE
LOWtests/unit/telemetry/workflow-sanitizer.test.ts804 "const E = 'jane.doe@example.org'; const P = '+1-604-555-1234';\n" +CODE
LOWtests/unit/telemetry/workflow-sanitizer.test.ts1640 values: ['Bearer abc123def456', 'user@example.com', 'plain'],CODE
LOWtests/unit/services/template-service.test.ts643 author_name: 'John Doe',CODE
LOWtests/unit/services/template-service.test.ts662 name: 'John Doe',CODE
LOWtests/unit/services/workflow-validator.test.ts717 const result = await validator.validateWorkflow({ nodes: [{ id: '1', name: 'Send Email', type: 'n8n-nodes-base.emaCODE
LOWtests/unit/services/workflow-validator.test.ts739 const result = await validator.validateWorkflow({ nodes: [{ id: '1', name: 'Send Email', type: 'n8n-nodes-base.emaCODE
LOWtests/unit/services/config-validator.test.ts362 it('should match when string ends with suffix', () => { expect(ConfigValidator.isPropertyVisible({ name: 'f', dispCODE
LOWtests/unit/services/expression-format-validator.test.ts284 toEmail: 'user@example.com',CODE
LOWdocs/workflow-diff-examples.md307 "toEmail": "admin@example.com",CODE
LOWdocs/workflow-diff-examples.md646 "parameters": { "to": "user@example.com" }CODE
LOWdocs/local/N8N_AI_WORKFLOW_BUILDER_ANALYSIS.md2257 ['placeholder', '{messages}']CODE
LOW…ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md82 "name": "John Doe",CODE
LOW…ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md324 "to": "user@example.com",CODE
LOW…ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md339 "ccList": "admin@example.com",CODE
LOW…ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md1228 "name": "John Doe",CODE
LOWdata/skills/n8n-code-javascript/BUILTIN_FUNCTIONS.md89 name: 'John Doe',CODE
LOWdata/skills/n8n-expression-syntax/EXAMPLES.md16 "name": "John Doe",CODE
LOWdata/skills/n8n-expression-syntax/EXAMPLES.md18 "company": "Acme Corp",CODE
LOWdata/skills/n8n-expression-syntax/EXAMPLES.md30 "name": "John Doe",CODE
LOWdata/skills/n8n-expression-syntax/EXAMPLES.md32 "company": "Acme Corp",CODE
LOWdata/skills/n8n-expression-syntax/SKILL.md346 "name": "John Doe",CODE
LOW⚡src/types/instance-context.ts162 !key.toLowerCase().includes('placeholder') &&CODE
LOW⚡src/types/instance-context.ts175 return !['placeholder', 'your_token_here', 'your-token-here', 'example', 'test-token'].includes(lowered);CODE
LOW⚡src/types/instance-context.ts254 } else if (context.n8nApiKey.toLowerCase().includes('placeholder')) {CODE
LOWsrc/triggers/handlers/form-handler.ts187 hint += '"user@example.com"';CODE
LOWsrc/constants/type-structures.ts186 name: 'John Doe',CODE
LOWsrc/constants/type-structures.ts693 name: 'John Doe',CODE
LOWsrc/utils/example-generator.ts70 return 'user@example.com';CODE
Over-Commented Block43 hits · 43 pts
SeverityFileLineSnippetContext
LOWMEMORY_N8N_UPDATE.md41# 6b. Check the database size (GitHub rejects files over 100 MiB; the push fails with a bareCOMMENT
LOWdocker-compose.yml21 LOG_LEVEL: ${LOG_LEVEL:-info}COMMENT
LOWtests/unit/telemetry/telemetry-processing.test.ts1161 // half-open probe slots on every call that returns true). Before thisCOMMENT
LOWtests/unit/services/n8n-official-mcp-client.test.ts361 fake.setRaw(undefined);COMMENT
LOW…/integration/n8n-api/workflows/update-workflow.test.ts361 });COMMENT
LOW…ation/n8n-api/workflows/get-workflow-structure.test.ts121 });COMMENT
LOWtests/integration/n8n-api/utils/cleanup-helpers.ts101 // written) by another run won't look "new" here - this reduces, ratherCOMMENT
LOWtests/integration/official-mcp/agents-lifecycle.test.ts121 expect(stale).toMatchObject({ success: false, code: 'STALE_CONFIG' });COMMENT
LOWtests/helpers/fake-official-mcp-server.ts101 // Stateless: no session id, plain JSON responses (no SSE) so tests stay simple.COMMENT
LOWdocs/HTTP_DEPLOYMENT.md61COMMENT
LOWdocs/local/TEMPLATE_MINING_ANALYSIS.md301// - With authenticationCOMMENT
LOWscripts/check-settings-drift.ts361COMMENT
LOW.github/dependabot.yml61 - dependency-name: "n8n-nodes-base"COMMENT
LOW.github/workflows/issue-triage.lock.yml1# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"abe5c39f27000644587b61acf1642f5310afd565badc3c24d1998938efbCOMMENT
LOW.github/workflows/issue-triage.lock.yml21# Not all edits will cause changes to this file.COMMENT
LOW.github/workflows/issue-triage.lock.yml41# - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1COMMENT
LOW.github/workflows/docker-build.yml241 provenance: falseCOMMENT
LOW.github/workflows/test.yml121 name: ui-test-tracesCOMMENT
LOW…kills/n8n-self-hosting/assets/docker-compose.queue.yml1# n8n — QUEUE mode (main + Redis + Postgres + N workers), Caddy auto-TLS.COMMENT
LOWdata/skills/n8n-mcp-tools-expert/WORKFLOW_GUIDE.md741### Get CredentialCOMMENT
LOWdata/skills/n8n-mcp-tools-expert/WORKFLOW_GUIDE.md761// usedIn: [COMMENT
LOWsrc/http-server-single-session.ts61// proxy or an idle timeout, which reaches the client asCOMMENT
LOWsrc/http-server-single-session.ts801COMMENT
LOWsrc/http-server-single-session.ts841 reason: 'instance_reconnect'COMMENT
LOWsrc/types/n8n-api.ts461 // hint, the raw official error payload on failure, and whether the resultCOMMENT
LOWsrc/utils/ssrf-protection.ts241 }COMMENT
LOWsrc/mcp/handlers-workflow-diff.ts401 // before failing (e.g. an unsupported typeVersion trips the activationCOMMENT
LOWsrc/mcp/handlers-workflow-diff.ts501 throw updateError;COMMENT
LOWsrc/mcp/handlers-workflow-diff.ts881 warnings: mergeWarnings(diffResult.warnings, [...tagWarnings, ...groupWarnings])COMMENT
LOWsrc/mcp/stdio-wrapper.ts21process.env.MCP_MODE = 'stdio';COMMENT
LOWsrc/mcp/handlers-n8n-manager.ts1161 // fields carried in from the GET response.COMMENT
LOWsrc/mcp/index.ts61 return false;COMMENT
LOWsrc/mcp/index.ts201 // Signal handling strategy:COMMENT
LOWsrc/mcp/handlers-official-tools.ts81 return officialFailure(new OfficialMcpError('OFFICIAL_MCP_TOOL_UNAVAILABLE', `This instance does not expose ${toolCOMMENT
LOWsrc/mcp/server.ts81// what happened, and on the npx path the user's machine has the version cached,COMMENT
LOWsrc/mcp/server.ts4861 // Without a handler the buffer cap trips silently: the SDK reports throughCOMMENT
LOWsrc/mcp/server.ts4901 // this method returns, which never emits 'beforeExit', so the batchCOMMENT
LOWsrc/telemetry/event-validator.ts81// Schema for telemetry eventsCOMMENT
LOWsrc/telemetry/workflow-sanitizer.ts61 // classes exclude whitespace, '/', '@', quotes and code delimiters so theCOMMENT
LOWsrc/telemetry/workflow-sanitizer.ts141 // random string and a random string of 32+ characters carries digits;COMMENT
LOWsrc/services/workflow-validator.ts1321 return;COMMENT
LOWsrc/services/n8n-official-mcp-client.ts421 state.generation = generation;COMMENT
LOWsrc/services/n8n-official-mcp-client.ts441 // the request reached n8n and may have already mutated state;COMMENT
Redundant / Tautological Comments24 hits · 38 pts
SeverityFileLineSnippetContext
LOWmonitor_fetch.sh7 # Check if process is still runningCOMMENT
LOWdocker/docker-entrypoint.sh75 # Check if flock is availableCOMMENT
LOWdeploy/quick-deploy-n8n.sh64 # Check if .env existsCOMMENT
LOWscripts/test-n8n-integration.sh68 # Check if Docker daemon is runningCOMMENT
LOWscripts/test-n8n-integration.sh177# Set trap to cleanup on exitCOMMENT
LOWscripts/test-n8n-integration.sh180# Check if we're in the right directoryCOMMENT
LOWscripts/test-n8n-integration.sh281# Check if API key was providedCOMMENT
LOWscripts/update-and-publish-prep.sh120# Check if templates were sanitizedCOMMENT
LOWscripts/analyze-optimization.sh51# Check if optimized database existsCOMMENT
LOW⚡scripts/publish-npm.sh25# Check if dist directory existsCOMMENT
LOW⚡scripts/publish-npm.sh31# Check if database existsCOMMENT
LOWscripts/extract-nodes-docker.sh26# Check if Docker is runningCOMMENT
LOWscripts/extract-nodes-docker.sh82 # Check if we got the If node source code and look for versionCOMMENT
LOWscripts/test-http.sh22# Check if jq is installedCOMMENT
LOWscripts/build-optimized.sh13# Check if nodes.db existsCOMMENT
LOWscripts/test-docker-optimization.sh9# Check if nodes.db existsCOMMENT
LOWscripts/test-docker-optimization.sh61# Check if runningCOMMENT
LOWscripts/deploy-http.sh11# Check if .env existsCOMMENT
LOWscripts/deploy-http.sh24# Check if AUTH_TOKEN is setCOMMENT
LOWscripts/extract-nodes-simple.sh26# Check if Docker is runningCOMMENT
LOWscripts/extract-nodes-simple.sh78 # Check if we got the If node source code and look for versionCOMMENT
LOW.github/workflows/release.yml61 # Check if version changedCOMMENT
LOW.github/workflows/release.yml67 # Check if it's a prerelease (contains alpha, beta, rc, dev)COMMENT
LOW.github/workflows/release.yml94 # Check if version already exists in npmCOMMENT
Cross-Language Confusion (JS/TS)5 hits · 28 pts
SeverityFileLineSnippetContext
HIGHtests/unit/docker/serve-command.test.ts146elif echo "\$@" | grep -q "n8n-mcp.*serve"; thenCODE
HIGHtests/unit/services/node-specific-validators.test.ts2569 context.config = pythonConfig('# TODO: return None when the list is empty\nreturn [{"json": {"n": len(_items)}CODE
HIGHtests/unit/services/node-specific-validators.test.ts2629 ' return None',CODE
HIGHsrc/mcp/tools-documentation.ts594 return NoneCODE
HIGHsrc/services/node-specific-validators.ts2337 // `return None` inside a helper is not read as the node's return value.COMMENT
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippetContext
HIGHtests/unit/services/fixed-collection-validation.test.ts355 // This is a pattern commonly generated by AI agentsCOMMENT
HIGHdocs/local/DEEP_DIVE_ANALYSIS_2025-10-02.md753 // Fix common AI-generated abbreviationsCOMMENT
HIGHsrc/mcp/handlers-n8n-manager.ts1135 // AI-generated node updates typically omit credential references because theyCOMMENT
Modern AI Meta-Vocabulary7 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUMdata/skills/n8n-workflow-patterns/ai_agent_workflow.md69### 2. Document Q&A (RAG)COMMENT
MEDIUMdata/skills/n8n-agents/RAG.md1# RAG (retrieval augmented generation)COMMENT
MEDIUMdata/skills/n8n-agents/RAG.md13- **Database or Data Table for exact lookups.** "Look up customer X's record", "fetch issue #1234", "get rows where statCODE
MEDIUMdata/skills/n8n-agents/RAG.md32## Vector RAG: the piecesCOMMENT
MEDIUMdata/skills/n8n-agents/RAG.md45## Vector RAG: two workflowsCOMMENT
MEDIUMdata/skills/n8n-agents/SKILL.md218## RAG (retrieval augmented generation)COMMENT
MEDIUMsrc/mcp/tool-docs/guides/ai-agents-guide.ts478### Pattern 3: RAG (Retrieval-Augmented Generation)COMMENT
Self-Referential Comments5 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMscripts/demo-optimization.sh7# Create a demo directory structureCOMMENT
MEDIUMscripts/demo-optimization.sh49# Create a simple testCOMMENT
MEDIUM⚡scripts/publish-npm.sh37# Create a temporary publish directoryCOMMENT
MEDIUMscripts/extract-nodes-simple.sh38# Create a temporary directory for extractionCOMMENT
MEDIUM.github/workflows/dependency-check.yml128 # Create a simple test scriptCOMMENT
Overly Generic Function Names10 hits · 10 pts
SeverityFileLineSnippetContext
LOWtests/unit/services/config-validator.test.ts688 const result = ConfigValidator.validate('nodes-base.code', { language: 'python', pythonCode: 'def process_data():\CODE
LOWtests/unit/services/node-specific-validators.test.ts2030 context.config = pythonConfig('def helper(_json): return _json\n\nreturn [{"json": helper(it["json"])} for it CODE
LOWtests/unit/services/node-specific-validators.test.ts2116 'def helper(_json):',CODE
LOWtests/unit/services/node-specific-validators.test.ts2128 context.config = pythonConfig('def helper(x=_json):\n return x\n\nreturn [{"json": {"v": helper()}}]');CODE
LOWtests/unit/services/node-specific-validators.test.ts2376 'def helper():',CODE
LOWtests/unit/services/node-specific-validators.test.ts2389 context.config = pythonConfig('def helper(x=type(1)):\n return x\n\nreturn [{"json": {"v": helper()}}]');CODE
LOWtests/unit/services/node-specific-validators.test.ts2535 'def helper(',CODE
LOWtests/unit/services/node-specific-validators.test.ts2626 'def helper(',CODE
LOWtests/unit/services/node-specific-validators.test.ts2657 context.config = pythonConfig('def helper(): return 1\nvalue = helper()\nreturn "value is " + str(value)');CODE
LOWsrc/services/node-specific-validators.ts1969 // A one-line def (`def helper(_json): return _json`) carries its suite onCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMtests/logger.test.ts29 // Restore original DEBUG value with more robust handlingCOMMENT