Repository Analysis

czlonkowski/n8n-mcp

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

2.1 Likely human-written View on GitHub
2.1
Adjusted Score
2.1
Raw Score
100%
Time Factor
2026-05-23
Last Push
21,372
Stars
TypeScript
Language
292,631
Lines of Code
738
Files
275
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 41MEDIUM 55LOW 179

Pattern Findings

275 matches across 13 categories. Click a row to expand file-level details.

Magic Placeholder Names36 hits · 185 pts
SeverityFileLineSnippet
HIGHtest-output.txt1581 ✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API key
HIGHtests/unit/flexible-instance-security.test.ts122 'YOUR_API_KEY',
HIGHtests/unit/multi-tenant-integration.test.ts119 'YOUR_API_KEY',
HIGHtests/unit/types/instance-context-coverage.test.ts273 'YOUR_API_KEY',
HIGHtests/unit/types/instance-context-coverage.test.ts274 'your_api_key',
HIGHtests/unit/types/instance-context-coverage.test.ts302 err.includes('your_api_key')
HIGHtests/integration/ai-validation/README.md116 N8N_API_KEY=your-api-key
HIGHtests/integration/ai-validation/TEST_REPORT.md198export N8N_API_KEY=your-api-key
HIGHdocs/HTTP_DEPLOYMENT.md74# N8N_API_KEY=your-api-key-here
HIGHdocs/HTTP_DEPLOYMENT.md129 "N8N_API_KEY": "your-api-key-here"
HIGHdocs/CURSOR_SETUP.md48 "N8N_API_KEY": "your-api-key"
HIGHdocs/CURSOR_SETUP.md582. Replace `your-api-key` with your n8n API key
HIGHdocs/SELF_HOSTING.md51 "N8N_API_KEY": "your-api-key"
HIGHdocs/SELF_HOSTING.md161 "-e", "N8N_API_KEY=your-api-key",
HIGHdocs/SELF_HOSTING.md188 "-e", "N8N_API_KEY=your-api-key",
HIGHdocs/SELF_HOSTING.md257 "N8N_API_KEY": "your-api-key"
HIGHdocs/CODEX_SETUP.md22env = { "MCP_MODE" = "stdio", "LOG_LEVEL" = "error", "DISABLE_CONSOLE_OUTPUT" = "true", "N8N_API_URL" = "https://your-n8
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.
HIGHdocs/CLAUDE_CODE_SETUP.md39 -e N8N_API_KEY=your-api-key \
HIGHdocs/CLAUDE_CODE_SETUP.md51 '-e N8N_API_KEY=your-api-key' `
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.
HIGHdocs/CLAUDE_CODE_SETUP.md80 "N8N_API_KEY": "your-api-key"
HIGHdocs/WINDSURF_SETUP.md53 "N8N_API_KEY": "your-api-key"
HIGHdocs/WINDSURF_SETUP.md632. Replace `your-api-key` with your n8n API key
HIGHdocs/DOCKER_TROUBLESHOOTING.md110 "-e", "N8N_API_KEY=your-api-key",
HIGHdocs/N8N_DEPLOYMENT.md62export N8N_API_KEY=your-api-key-here # Your n8n API key
HIGHdocs/N8N_DEPLOYMENT.md570 curl -H "X-N8N-API-KEY: your-api-key" \
HIGHdocs/local/integration-testing-plan.md407N8N_API_KEY=your-api-key-here
HIGHdocs/local/integration-tests-phase1-summary.md222 N8N_API_KEY=<your-api-key>
HIGHdata/skills/n8n-workflow-patterns/webhook_processing.md255{{$json.headers['x-api-key']}} equals "your-api-key"
HIGHsrc/types/instance-context.ts95 !key.toLowerCase().includes('your_api_key') &&
HIGHsrc/types/instance-context.ts167 if (context.n8nApiKey.toLowerCase().includes('your_api_key')) {
HIGHsrc/types/instance-context.ts168 errors.push(`Invalid n8nApiKey: contains placeholder 'your_api_key' - Please provide actual API key`);
HIGHsrc/utils/template-sanitizer.ts33 ['Bearer ', 'Bearer YOUR_TOKEN_HERE']
HIGHsrc/utils/template-sanitizer.ts173 return 'YOUR_TOKEN_HERE';
HIGHsrc/services/task-templates.ts164 example: 'Bearer YOUR_API_KEY'
Decorative Section Separators49 hits · 166 pts
SeverityFileLineSnippet
MEDIUMtests/unit/services/workflow-validator.test.ts69 // ─── Workflow Structure Validation ─────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts236 // ─── Node Validation ───────────────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts376 // ─── Connection Validation ─────────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts457 // ─── Expression Validation ─────────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts483 // ─── Expression Format Detection ──────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts549 // ─── Error Handler Detection ───────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts575 // ─── onError Property Validation ───────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts596 // ─── Workflow Patterns ─────────────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts624 // ─── Node Error Handling ───────────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts661 // ─── Trigger Reachability ──────────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts676 // ─── Tool Variant Validation ───────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts743 // ─── AI Sub-Node Main Connection Detection ─────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts783 // ─── Suggestions ───────────────────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts803 // ─── Validation Options ────────────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts817 // ─── Integration Tests ─────────────────────────────────────────────
MEDIUMtests/unit/services/workflow-validator.test.ts839 // ─── If/Switch conditions validation ──────────────────────────────
MEDIUMtests/unit/services/config-validator.test.ts13 // ─── Basic Validation ───────────────────────────────────────────────
MEDIUMtests/unit/services/config-validator.test.ts90 // ─── Edge Cases and Additional Coverage ─────────────────────────────
MEDIUMtests/unit/services/config-validator.test.ts140 // ─── ResourceLocator Validation ─────────────────────────────────────
MEDIUMtests/unit/services/config-validator.test.ts260 // ─── _cnd Operators (from config-validator-cnd) ─────────────────────
MEDIUMtests/unit/services/config-validator.test.ts444 // ─── Null/Undefined Handling (from edge-cases) ─────────────────────
MEDIUMtests/unit/services/config-validator.test.ts453 // ─── Boundary Value Testing (from edge-cases) ─────────────────────
MEDIUMtests/unit/services/config-validator.test.ts470 // ─── Invalid Data Type Handling (from edge-cases) ─────────────────
MEDIUMtests/unit/services/config-validator.test.ts487 // ─── Performance Boundaries (from edge-cases) ─────────────────────
MEDIUMtests/unit/services/config-validator.test.ts501 // ─── Special Characters (from edge-cases) ─────────────────────────
MEDIUMtests/unit/services/config-validator.test.ts508 // ─── Complex Validation Scenarios (from edge-cases) ───────────────
MEDIUMtests/unit/services/config-validator.test.ts524 // ─── Error Recovery (from edge-cases) ─────────────────────────────
MEDIUMtests/unit/services/config-validator.test.ts541 // ─── Batch Validation (from edge-cases) ───────────────────────────
MEDIUMtests/unit/services/config-validator.test.ts551 // ─── HTTP Request Node (from node-specific) ──────────────────────
MEDIUMtests/unit/services/config-validator.test.ts573 // ─── Code Node (from node-specific) ──────────────────────────────
MEDIUMtests/unit/services/config-validator.test.ts634 // ─── Python Code Node (from node-specific) ──────────────────────
MEDIUMtests/unit/services/config-validator.test.ts659 // ─── Database Node (from node-specific, non-security) ────────────
MEDIUMtests/unit/services/enhanced-config-validator.test.ts1374// ─── Integration Tests (from enhanced-config-validator-integration) ─────────
MEDIUMdocs/local/integration-testing-plan.md401# ========================================
MEDIUMdocs/local/integration-testing-plan.md403# ========================================
MEDIUMsrc/mcp/handlers-n8n-manager.ts3428// ── Audit Instance ─────────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts54 // ── AI / ML ──────────────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts62 // ── Cloud / DevOps ───────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts73 // ── GitHub ───────────────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts79 // ── Auth tokens ──────────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts83 // ── Communication ────────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts87 // ── Payment ──────────────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts92 // ── Email / Marketing ────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts99 // ── E-commerce ───────────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts102 // ── Productivity / CRM ───────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts110 // ── Monitoring / Analytics ───────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts116 // ── Database ─────────────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts120 // ── Other services ───────────────────────────────────────────────────────
MEDIUMsrc/services/credential-scanner.ts128 // ── Generic patterns (keep last - catch-all) ────────────────────────────
Hyper-Verbose Identifiers70 hits · 70 pts
SeverityFileLineSnippet
LOWtests/test-enhanced-documentation.js7async function testEnhancedDocumentation() {
LOWtests/demo-enhanced-documentation.js5async function demoEnhancedDocumentation() {
LOWtests/unit/triggers/trigger-detector.test.ts9function createWorkflowWithTrigger(triggerType: string, params: Record<string, unknown> = {}): Workflow {
LOWtests/unit/mcp/search-nodes-source-filter.test.ts218 function enrichNodeWithCommunityMetadata(node: MockRow): any {
LOW…s/unit/community/documentation-batch-processor.test.ts47function createMockDocumentationSummary(nodeType: string) {
LOWtests/unit/services/workflow-diff-node-rename.test.ts25 function convertConnectionsToNameBased(workflow: Workflow): void {
LOWtests/integration/database/test-utils.ts565export function createTestDatabaseAdapter(db: Database.Database): DatabaseAdapter {
LOWtests/integration/n8n-api/utils/webhook-workflows.ts215export function generateWebhookWorkflowJson(
LOWtests/integration/n8n-api/utils/webhook-workflows.ts240export function exportAllWebhookWorkflows(): Record<string, Partial<Workflow>> {
LOWtests/integration/n8n-api/utils/cleanup-helpers.ts255export async function cleanupExecutionsByWorkflow(
LOWtests/integration/n8n-api/utils/factories.ts266export function createErrorHandlingWorkflow(
LOWtests/integration/ai-validation/helpers.ts128export function createHTTPRequestToolNode(options: {
LOWtests/integration/ai-validation/helpers.ts176export function createVectorStoreToolNode(options: {
LOW…ion/validation/real-world-structure-validation.test.ts66 function extractNodesWithSpecialTypes(workflowJson: any) {
LOWtests/utils/database-utils.ts480export function createMockDatabaseAdapter(): DatabaseAdapter {
LOWtests/utils/assertions.ts14export function expectValidNodeDefinition(node: any) {
LOWtests/utils/assertions.ts108export function expectValidPropertyDefinition(property: any) {
LOWtests/utils/assertions.ts222export function expectRelevantSearchResults(
LOWdocs/local/Deep_dive_p1_p2.md56export async function handleBatchUpdateWorkflow(
LOWdocs/local/N8N_AI_WORKFLOW_BUILDER_ANALYSIS.md693function estimateTokenCountFromMessages(messages: BaseMessage[]): number {
LOWdocs/local/N8N_AI_WORKFLOW_BUILDER_ANALYSIS.md1206function extractConnectionTypesFromExpression(expression: string): string[] {
LOWexamples/enhanced-documentation-demo.js5async function demonstrateEnhancedDocumentation() {
LOWscripts/test-typeversion-validation.ts150async function testTypeVersionValidation() {
LOWscripts/generate-initial-release-notes.js10function generateInitialReleaseNotes(version) {
LOWscripts/test-structure-validation.ts87function extractNodesWithSpecialTypes(workflowJson: any): Array<{
LOWsrc/http-server-single-session.ts61function extractMultiTenantHeaders(req: express.Request): MultiTenantHeaders {
LOWsrc/database/database-adapter.ts105async function createBetterSQLiteAdapter(dbPath: string): Promise<DatabaseAdapter> {
LOWsrc/database/shared-database.ts194export function isSharedDatabaseInitialized(): boolean {
LOWsrc/database/shared-database.ts201export function getSharedDatabaseRefCount(): number {
LOWsrc/triggers/trigger-detector.ts37export function detectTriggerFromWorkflow(workflow: Workflow): TriggerDetectionResult {
LOWsrc/triggers/trigger-registry.ts93export async function initializeTriggerRegistry(): Promise<void> {
LOWsrc/triggers/trigger-registry.ts114export async function ensureRegistryInitialized(): Promise<void> {
LOWsrc/utils/expression-utils.ts48export function shouldSkipLiteralValidation(value: unknown): boolean {
LOWsrc/utils/expression-utils.ts91export function extractBracketExpressions(value: string): string[] {
LOWsrc/utils/node-classification.ts108export function requiresIncomingConnection(nodeType: string): boolean {
LOWsrc/utils/node-utils.ts95function generateCamelCaseVariants(str: string): string[] {
LOWsrc/utils/n8n-errors.ts120export function getUserFriendlyErrorMessage(error: N8nApiError): string {
LOWsrc/utils/template-node-resolver.ts45function generateTemplateNodeVariations(nodeType: string): string[] {
LOWsrc/utils/node-type-utils.ts215export function getTriggerTypeDescription(nodeType: string): string {
LOWsrc/mcp/handlers-workflow-diff.ts122export async function handleUpdatePartialWorkflow(
LOWsrc/mcp/handlers-workflow-diff.ts681function inferIntentFromOperations(operations: any[]): string {
LOWsrc/mcp/handlers-n8n-manager.ts255export function getInstanceCacheStatistics(): string {
LOWsrc/mcp/handlers-n8n-manager.ts721export async function handleGetWorkflowStructure(args: unknown, context?: InstanceContext): Promise<McpToolResponse> {
LOWsrc/mcp/handlers-n8n-manager.ts1069async function trackWorkflowMutationForFullUpdate(data: any): Promise<void> {
LOWsrc/mcp/handlers-n8n-manager.ts2799export async function handleTriggerWebhookWorkflow(args: unknown, context?: InstanceContext): Promise<McpToolResponse> {
LOWsrc/mcp/handlers-n8n-manager.ts3413export async function handleGetCredentialSchema(args: unknown, context?: InstanceContext): Promise<McpToolResponse> {
LOWsrc/mcp/tools-documentation.ts220function getJavaScriptCodeNodeGuide(depth: 'essentials' | 'full' = 'essentials'): string {
LOWsrc/scripts/rebuild-database.ts13async function rebuildDocumentationDatabase() {
LOWsrc/telemetry/telemetry-cli.ts14export function handleTelemetryCliIfPresent(args: string[]): void {
LOWsrc/community/documentation-generator.ts383export function createDocumentationGenerator(): DocumentationGenerator {
LOWsrc/services/ai-node-validator.ts68export function buildReverseConnectionMap(
LOWsrc/services/workflow-diff-engine.ts92function operationReferencesAddedNode(
LOWsrc/services/audit-report-builder.ts232function extractBuiltinActionables(builtinAudit: any): BuiltinActionables {
LOWsrc/services/audit-report-builder.ts256function renderRemediationPlaybook(
LOWsrc/services/n8n-validation.ts88export function validateWorkflowConnections(connections: unknown): WorkflowConnection {
LOWsrc/services/n8n-validation.ts227export function validateWorkflowStructure(workflow: Partial<Workflow>): string[] {
LOWsrc/services/n8n-validation.ts499export function validateConditionNodeStructure(node: WorkflowNode): string[] {
LOWsrc/services/n8n-validation.ts526function validateFilterOptionsRequired(conditions: any, path: string): string[] {
LOWsrc/services/n8n-validation.ts553function validateFilterConditionOperators(conditions: any, path: string): string[] {
LOWsrc/services/n8n-validation.ts567export function validateFilterBasedNodeMetadata(node: WorkflowNode): string[] {
10 more matches not shown…
Verbosity Indicators41 hits · 65 pts
SeverityFileLineSnippet
LOWtests/test-mcp-extraction.js76 // Step 1: Initialize
LOWtests/test-mcp-extraction.js110 // Step 2: List tools
LOWtests/test-mcp-extraction.js127 // Step 3: Call the tool to get AI Agent code
LOWtests/integration/ai-validation/e2e-validation.test.ts116 // Step 1: Create workflow
LOWtests/integration/ai-validation/e2e-validation.test.ts120 // Step 2: Validate workflow
LOWtests/integration/ai-validation/e2e-validation.test.ts139 // Step 3: Since it's valid, it's already created and ready to use
LOWsrc/utils/ssrf-protection.ts240 // Step 1: Must be HTTP/HTTPS (all modes)
LOWsrc/utils/ssrf-protection.ts252 // Step 2: ALWAYS block cloud metadata endpoints (all modes)
LOWsrc/utils/ssrf-protection.ts258 // Step 3: Resolve DNS to get actual IP address
LOWsrc/utils/ssrf-protection.ts276 // Step 4: ALWAYS block cloud metadata IPs (all modes)
LOWsrc/utils/ssrf-protection.ts301 // Step 5: Mode-specific validation
LOWsrc/utils/ssrf-protection.ts332 // Step 6: Check private IPv4 ranges (strict & moderate modes)
LOWsrc/utils/ssrf-protection.ts343 // Step 7: IPv6 private address check (strict & moderate modes)
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts174#### Step 1: Create Chat Trigger
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts198#### Step 2: Add Language Model
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts220#### Step 3: Add AI Agent
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts242#### Step 4: Connect Components
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts265#### Step 5: Validate
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts349// Step 1: Create Vector Store with embeddings and documents
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts357// Step 2: Connect Vector Store to Vector Store Tool
LOWsrc/mcp/tool-docs/guides/ai-agents-guide.ts364// Step 3: Connect tool to AI Agent
LOW…tool-docs/workflow_management/n8n-generate-workflow.ts41 `// Step 1: Get proposals
LOW…tool-docs/workflow_management/n8n-generate-workflow.ts58 `// Step 3: Deploy the preview
LOWsrc/scripts/test-webhook-autofix.ts71 // Step 1: Validate workflow to identify issues
LOWsrc/scripts/test-webhook-autofix.ts87 // Step 2: Generate fixes (preview mode)
LOWsrc/scripts/test-webhook-autofix.ts128 // Step 3: Verify UUID format
LOWsrc/scripts/test-autofix-workflow.ts115 // Step 1: Validate the workflow to identify issues
LOWsrc/scripts/test-autofix-workflow.ts127 // Step 2: Check for expression format issues
LOWsrc/scripts/test-autofix-workflow.ts164 // Step 3: Generate fixes in preview mode
LOWsrc/scripts/test-autofix-workflow.ts193 // Step 4: Display individual fixes
LOWsrc/scripts/test-autofix-workflow.ts202 // Step 5: Display generated operations
LOWsrc/scripts/test-autofix-workflow.ts209 // Step 6: Test with different confidence thresholds
LOWsrc/scripts/test-autofix-workflow.ts225 // Step 7: Test with specific fix types
LOWsrc/community/documentation-batch-processor.ts107 // Step 1: Fetch READMEs (unless summaryOnly)
LOWsrc/community/documentation-batch-processor.ts121 // Step 2: Generate AI summaries (unless readmeOnly)
LOWsrc/community/community-node-service.ts73 // Step 1: Sync verified nodes from Strapi API
LOWsrc/community/community-node-service.ts82 // Step 2: Sync popular npm packages (unless verifiedOnly)
LOWsrc/services/workflow-diff-engine.ts1507 // Step 1: Update connection object keys (source node names)
LOWsrc/services/workflow-diff-engine.ts1515 // Step 2: Update target node references within connections
LOWsrc/services/n8n-api-client.ts280 // Step 1: Basic cleaning (remove read-only fields, filter to known settings)
LOWsrc/services/n8n-api-client.ts283 // Step 2: Version-aware settings filtering for older n8n compatibility
Redundant / Tautological Comments25 hits · 39 pts
SeverityFileLineSnippet
LOWmonitor_fetch.sh7 # Check if process is still running
LOWdocker/docker-entrypoint.sh61 # Check if flock is available
LOWdeploy/quick-deploy-n8n.sh64 # Check if .env exists
LOWscripts/test-n8n-integration.sh68 # Check if Docker daemon is running
LOWscripts/test-n8n-integration.sh177# Set trap to cleanup on exit
LOWscripts/test-n8n-integration.sh180# Check if we're in the right directory
LOWscripts/test-n8n-integration.sh281# Check if API key was provided
LOWscripts/update-and-publish-prep.sh120# Check if templates were sanitized
LOWscripts/analyze-optimization.sh51# Check if optimized database exists
LOWscripts/publish-npm.sh25# Check if dist directory exists
LOWscripts/publish-npm.sh31# Check if database exists
LOWscripts/extract-nodes-docker.sh26# Check if Docker is running
LOWscripts/extract-nodes-docker.sh82 # Check if we got the If node source code and look for version
LOWscripts/test-http.sh22# Check if jq is installed
LOWscripts/deploy-to-vm.sh23# Check if .env exists
LOWscripts/build-optimized.sh13# Check if nodes.db exists
LOWscripts/test-docker-optimization.sh9# Check if nodes.db exists
LOWscripts/test-docker-optimization.sh61# Check if running
LOWscripts/deploy-http.sh11# Check if .env exists
LOWscripts/deploy-http.sh24# Check if AUTH_TOKEN is set
LOWscripts/extract-nodes-simple.sh26# Check if Docker is running
LOWscripts/extract-nodes-simple.sh78 # Check if we got the If node source code and look for version
LOW.github/workflows/release.yml61 # Check if version changed
LOW.github/workflows/release.yml67 # Check if it's a prerelease (contains alpha, beta, rc, dev)
LOW.github/workflows/release.yml94 # Check if version already exists in npm
Fake / Example Data31 hits · 31 pts
SeverityFileLineSnippet
LOWtests/unit/database/template-repository-core.test.ts140 name: 'John Doe',
LOWtests/unit/database/template-repository-core.test.ts182 'John Doe',
LOWtests/unit/triggers/handlers/form-handler.test.ts115 name: 'John Doe',
LOWtests/unit/triggers/handlers/form-handler.test.ts171 name: 'Jane Doe',
LOWtests/unit/services/template-service.test.ts643 author_name: 'John Doe',
LOWtests/unit/services/template-service.test.ts662 name: 'John Doe',
LOWtests/unit/services/workflow-validator.test.ts487 const result = await validator.validateWorkflow({ nodes: [{ id: '1', name: 'Send Email', type: 'n8n-nodes-base.ema
LOWtests/unit/services/workflow-validator.test.ts509 const result = await validator.validateWorkflow({ nodes: [{ id: '1', name: 'Send Email', type: 'n8n-nodes-base.ema
LOWtests/unit/services/config-validator.test.ts362 it('should match when string ends with suffix', () => { expect(ConfigValidator.isPropertyVisible({ name: 'f', disp
LOWtests/unit/services/example-generator.test.ts106 name: 'John Doe'
LOWtests/unit/services/example-generator.test.ts390 username: 'John Doe',
LOWtests/unit/services/expression-format-validator.test.ts237 toEmail: 'user@example.com',
LOWdocs/workflow-diff-examples.md307 "toEmail": "admin@example.com",
LOWdocs/workflow-diff-examples.md646 "parameters": { "to": "user@example.com" }
LOW…ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md82 "name": "John Doe",
LOW…ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md324 "to": "user@example.com",
LOW…ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md339 "ccList": "admin@example.com",
LOWdata/skills/n8n-node-configuration/SKILL.md526 "name": "John Doe",
LOWdata/skills/n8n-code-javascript/BUILTIN_FUNCTIONS.md87 name: 'John Doe',
LOWdata/skills/n8n-expression-syntax/EXAMPLES.md16 "name": "John Doe",
LOWdata/skills/n8n-expression-syntax/EXAMPLES.md18 "company": "Acme Corp",
LOWdata/skills/n8n-expression-syntax/EXAMPLES.md30 "name": "John Doe",
LOWdata/skills/n8n-expression-syntax/EXAMPLES.md32 "company": "Acme Corp",
LOWdata/skills/n8n-expression-syntax/SKILL.md286 "name": "John Doe",
LOWsrc/triggers/handlers/form-handler.ts186 hint += '"user@example.com"';
LOWsrc/constants/type-structures.ts186 name: 'John Doe',
LOWsrc/constants/type-structures.ts653 name: 'John Doe',
LOWsrc/utils/example-generator.ts70 return 'user@example.com';
LOWsrc/services/task-templates.ts105 example: '{\n "name": "John Doe",\n "email": "john@example.com"\n}'
LOWsrc/services/example-generator.ts31 jsonBody: '{\n "name": "John Doe",\n "email": "john@example.com"\n}'
LOWsrc/services/example-generator.ts1076 return 'John Doe';
Synthetic Comment Markers4 hits · 30 pts
SeverityFileLineSnippet
HIGHtests/unit/services/fixed-collection-validation.test.ts355 // This is a pattern commonly generated by AI agents
HIGHdocs/local/DEEP_DIVE_ANALYSIS_2025-10-02.md753 // Fix common AI-generated abbreviations
HIGHdata/skills/n8n-workflow-patterns/ai_agent_workflow.md177 // Node executes AI-generated SQL
HIGHsrc/mcp/handlers-n8n-manager.ts935 // AI-generated node updates typically omit credential references because they
Self-Referential Comments5 hits · 16 pts
SeverityFileLineSnippet
MEDIUMscripts/demo-optimization.sh7# Create a demo directory structure
MEDIUMscripts/demo-optimization.sh49# Create a simple test
MEDIUMscripts/publish-npm.sh37# Create a temporary publish directory
MEDIUMscripts/extract-nodes-simple.sh38# Create a temporary directory for extraction
MEDIUM.github/workflows/dependency-check.yml121 # Create a simple test script
Over-Commented Block10 hits · 10 pts
SeverityFileLineSnippet
LOWMEMORY_N8N_UPDATE.md41N8N_MCP_LLM_BASE_URL="http://YOUR_SERVER:PORT/v1" \
LOWdocker-compose.yml21 LOG_LEVEL: ${LOG_LEVEL:-info}
LOWdocs/local/TEMPLATE_MINING_ANALYSIS.md301// - With authentication
LOW.github/workflows/issue-triage.lock.yml1# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"8138005e553d8368256fb7a4f4ca604d011217c6537a97e1bb356643b8a
LOW.github/workflows/issue-triage.lock.yml21# Not all edits will cause changes to this file.
LOW.github/workflows/issue-triage.lock.yml41# - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
LOWdata/skills/n8n-mcp-tools-expert/WORKFLOW_GUIDE.md461// {
LOWdata/skills/n8n-mcp-tools-expert/WORKFLOW_GUIDE.md661
LOWsrc/utils/ssrf-protection.ts141 try {
LOWsrc/mcp/handlers-workflow-diff.ts341 note: 'Operations were applied but created an invalid workflow structure. The workflow was NOT saved to n8n
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippet
HIGHtests/unit/docker/serve-command.test.ts146elif echo "\$@" | grep -q "n8n-mcp.*serve"; then
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMtests/logger.test.ts29 // Restore original DEBUG value with more robust handling
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippet
LOWtests/unit/services/config-validator.test.ts638 const result = ConfigValidator.validate('nodes-base.code', { language: 'python', pythonCode: 'def process_data():\
Excessive Try-Catch Wrapping1 hit · 1 pts
SeverityFileLineSnippet
LOWsrc/mcp/tools-documentation.ts621except Exception as e: