A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
275 matches across 13 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | test-output.txt | 1581 | ✓ tests/unit/multi-tenant-integration.test.ts > Multi-Tenant Support Integration > InstanceContext Validation > API key |
| HIGH | tests/unit/flexible-instance-security.test.ts | 122 | 'YOUR_API_KEY', |
| HIGH | tests/unit/multi-tenant-integration.test.ts | 119 | 'YOUR_API_KEY', |
| HIGH | tests/unit/types/instance-context-coverage.test.ts | 273 | 'YOUR_API_KEY', |
| HIGH | tests/unit/types/instance-context-coverage.test.ts | 274 | 'your_api_key', |
| HIGH | tests/unit/types/instance-context-coverage.test.ts | 302 | err.includes('your_api_key') |
| HIGH | tests/integration/ai-validation/README.md | 116 | N8N_API_KEY=your-api-key |
| HIGH | tests/integration/ai-validation/TEST_REPORT.md | 198 | export N8N_API_KEY=your-api-key |
| HIGH | docs/HTTP_DEPLOYMENT.md | 74 | # N8N_API_KEY=your-api-key-here |
| HIGH | docs/HTTP_DEPLOYMENT.md | 129 | "N8N_API_KEY": "your-api-key-here" |
| HIGH | docs/CURSOR_SETUP.md | 48 | "N8N_API_KEY": "your-api-key" |
| HIGH | docs/CURSOR_SETUP.md | 58 | 2. Replace `your-api-key` with your n8n API key |
| HIGH | docs/SELF_HOSTING.md | 51 | "N8N_API_KEY": "your-api-key" |
| HIGH | docs/SELF_HOSTING.md | 161 | "-e", "N8N_API_KEY=your-api-key", |
| HIGH | docs/SELF_HOSTING.md | 188 | "-e", "N8N_API_KEY=your-api-key", |
| HIGH | docs/SELF_HOSTING.md | 257 | "N8N_API_KEY": "your-api-key" |
| HIGH | docs/CODEX_SETUP.md | 22 | env = { "MCP_MODE" = "stdio", "LOG_LEVEL" = "error", "DISABLE_CONSOLE_OUTPUT" = "true", "N8N_API_URL" = "https://your-n8 |
| HIGH | docs/CODEX_SETUP.md | 25 | Make sure to replace `https://your-n8n-instance.com` with your actual n8n URL and `your-api-key` with your n8n API key. |
| HIGH | docs/CLAUDE_CODE_SETUP.md | 39 | -e N8N_API_KEY=your-api-key \ |
| HIGH | docs/CLAUDE_CODE_SETUP.md | 51 | '-e N8N_API_KEY=your-api-key' ` |
| HIGH | docs/CLAUDE_CODE_SETUP.md | 55 | Make sure to replace `https://your-n8n-instance.com` with your actual n8n URL and `your-api-key` with your n8n API key. |
| HIGH | docs/CLAUDE_CODE_SETUP.md | 80 | "N8N_API_KEY": "your-api-key" |
| HIGH | docs/WINDSURF_SETUP.md | 53 | "N8N_API_KEY": "your-api-key" |
| HIGH | docs/WINDSURF_SETUP.md | 63 | 2. Replace `your-api-key` with your n8n API key |
| HIGH | docs/DOCKER_TROUBLESHOOTING.md | 110 | "-e", "N8N_API_KEY=your-api-key", |
| HIGH | docs/N8N_DEPLOYMENT.md | 62 | export N8N_API_KEY=your-api-key-here # Your n8n API key |
| HIGH | docs/N8N_DEPLOYMENT.md | 570 | curl -H "X-N8N-API-KEY: your-api-key" \ |
| HIGH | docs/local/integration-testing-plan.md | 407 | N8N_API_KEY=your-api-key-here |
| HIGH | docs/local/integration-tests-phase1-summary.md | 222 | N8N_API_KEY=<your-api-key> |
| HIGH | data/skills/n8n-workflow-patterns/webhook_processing.md | 255 | {{$json.headers['x-api-key']}} equals "your-api-key" |
| HIGH | src/types/instance-context.ts | 95 | !key.toLowerCase().includes('your_api_key') && |
| HIGH | src/types/instance-context.ts | 167 | if (context.n8nApiKey.toLowerCase().includes('your_api_key')) { |
| HIGH | src/types/instance-context.ts | 168 | errors.push(`Invalid n8nApiKey: contains placeholder 'your_api_key' - Please provide actual API key`); |
| HIGH | src/utils/template-sanitizer.ts | 33 | ['Bearer ', 'Bearer YOUR_TOKEN_HERE'] |
| HIGH | src/utils/template-sanitizer.ts | 173 | return 'YOUR_TOKEN_HERE'; |
| HIGH | src/services/task-templates.ts | 164 | example: 'Bearer YOUR_API_KEY' |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 69 | // ─── Workflow Structure Validation ───────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 236 | // ─── Node Validation ─────────────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 376 | // ─── Connection Validation ───────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 457 | // ─── Expression Validation ───────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 483 | // ─── Expression Format Detection ────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 549 | // ─── Error Handler Detection ─────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 575 | // ─── onError Property Validation ─────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 596 | // ─── Workflow Patterns ───────────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 624 | // ─── Node Error Handling ─────────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 661 | // ─── Trigger Reachability ────────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 676 | // ─── Tool Variant Validation ─────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 743 | // ─── AI Sub-Node Main Connection Detection ───────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 783 | // ─── Suggestions ─────────────────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 803 | // ─── Validation Options ──────────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 817 | // ─── Integration Tests ───────────────────────────────────────────── |
| MEDIUM | tests/unit/services/workflow-validator.test.ts | 839 | // ─── If/Switch conditions validation ────────────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 13 | // ─── Basic Validation ─────────────────────────────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 90 | // ─── Edge Cases and Additional Coverage ───────────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 140 | // ─── ResourceLocator Validation ───────────────────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 260 | // ─── _cnd Operators (from config-validator-cnd) ───────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 444 | // ─── Null/Undefined Handling (from edge-cases) ───────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 453 | // ─── Boundary Value Testing (from edge-cases) ───────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 470 | // ─── Invalid Data Type Handling (from edge-cases) ───────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 487 | // ─── Performance Boundaries (from edge-cases) ───────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 501 | // ─── Special Characters (from edge-cases) ───────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 508 | // ─── Complex Validation Scenarios (from edge-cases) ─────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 524 | // ─── Error Recovery (from edge-cases) ───────────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 541 | // ─── Batch Validation (from edge-cases) ─────────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 551 | // ─── HTTP Request Node (from node-specific) ────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 573 | // ─── Code Node (from node-specific) ────────────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 634 | // ─── Python Code Node (from node-specific) ────────────────────── |
| MEDIUM | tests/unit/services/config-validator.test.ts | 659 | // ─── Database Node (from node-specific, non-security) ──────────── |
| MEDIUM | tests/unit/services/enhanced-config-validator.test.ts | 1374 | // ─── Integration Tests (from enhanced-config-validator-integration) ───────── |
| MEDIUM | docs/local/integration-testing-plan.md | 401 | # ======================================== |
| MEDIUM | docs/local/integration-testing-plan.md | 403 | # ======================================== |
| MEDIUM | src/mcp/handlers-n8n-manager.ts | 3428 | // ── Audit Instance ───────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 54 | // ── AI / ML ────────────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 62 | // ── Cloud / DevOps ─────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 73 | // ── GitHub ─────────────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 79 | // ── Auth tokens ────────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 83 | // ── Communication ──────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 87 | // ── Payment ────────────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 92 | // ── Email / Marketing ──────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 99 | // ── E-commerce ─────────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 102 | // ── Productivity / CRM ─────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 110 | // ── Monitoring / Analytics ─────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 116 | // ── Database ───────────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 120 | // ── Other services ─────────────────────────────────────────────────────── |
| MEDIUM | src/services/credential-scanner.ts | 128 | // ── Generic patterns (keep last - catch-all) ──────────────────────────── |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/test-enhanced-documentation.js | 7 | async function testEnhancedDocumentation() { |
| LOW | tests/demo-enhanced-documentation.js | 5 | async function demoEnhancedDocumentation() { |
| LOW | tests/unit/triggers/trigger-detector.test.ts | 9 | function createWorkflowWithTrigger(triggerType: string, params: Record<string, unknown> = {}): Workflow { |
| LOW | tests/unit/mcp/search-nodes-source-filter.test.ts | 218 | function enrichNodeWithCommunityMetadata(node: MockRow): any { |
| LOW | …s/unit/community/documentation-batch-processor.test.ts | 47 | function createMockDocumentationSummary(nodeType: string) { |
| LOW | tests/unit/services/workflow-diff-node-rename.test.ts | 25 | function convertConnectionsToNameBased(workflow: Workflow): void { |
| LOW | tests/integration/database/test-utils.ts | 565 | export function createTestDatabaseAdapter(db: Database.Database): DatabaseAdapter { |
| LOW | tests/integration/n8n-api/utils/webhook-workflows.ts | 215 | export function generateWebhookWorkflowJson( |
| LOW | tests/integration/n8n-api/utils/webhook-workflows.ts | 240 | export function exportAllWebhookWorkflows(): Record<string, Partial<Workflow>> { |
| LOW | tests/integration/n8n-api/utils/cleanup-helpers.ts | 255 | export async function cleanupExecutionsByWorkflow( |
| LOW | tests/integration/n8n-api/utils/factories.ts | 266 | export function createErrorHandlingWorkflow( |
| LOW | tests/integration/ai-validation/helpers.ts | 128 | export function createHTTPRequestToolNode(options: { |
| LOW | tests/integration/ai-validation/helpers.ts | 176 | export function createVectorStoreToolNode(options: { |
| LOW | …ion/validation/real-world-structure-validation.test.ts | 66 | function extractNodesWithSpecialTypes(workflowJson: any) { |
| LOW | tests/utils/database-utils.ts | 480 | export function createMockDatabaseAdapter(): DatabaseAdapter { |
| LOW | tests/utils/assertions.ts | 14 | export function expectValidNodeDefinition(node: any) { |
| LOW | tests/utils/assertions.ts | 108 | export function expectValidPropertyDefinition(property: any) { |
| LOW | tests/utils/assertions.ts | 222 | export function expectRelevantSearchResults( |
| LOW | docs/local/Deep_dive_p1_p2.md | 56 | export async function handleBatchUpdateWorkflow( |
| LOW | docs/local/N8N_AI_WORKFLOW_BUILDER_ANALYSIS.md | 693 | function estimateTokenCountFromMessages(messages: BaseMessage[]): number { |
| LOW | docs/local/N8N_AI_WORKFLOW_BUILDER_ANALYSIS.md | 1206 | function extractConnectionTypesFromExpression(expression: string): string[] { |
| LOW | examples/enhanced-documentation-demo.js | 5 | async function demonstrateEnhancedDocumentation() { |
| LOW | scripts/test-typeversion-validation.ts | 150 | async function testTypeVersionValidation() { |
| LOW | scripts/generate-initial-release-notes.js | 10 | function generateInitialReleaseNotes(version) { |
| LOW | scripts/test-structure-validation.ts | 87 | function extractNodesWithSpecialTypes(workflowJson: any): Array<{ |
| LOW | src/http-server-single-session.ts | 61 | function extractMultiTenantHeaders(req: express.Request): MultiTenantHeaders { |
| LOW | src/database/database-adapter.ts | 105 | async function createBetterSQLiteAdapter(dbPath: string): Promise<DatabaseAdapter> { |
| LOW | src/database/shared-database.ts | 194 | export function isSharedDatabaseInitialized(): boolean { |
| LOW | src/database/shared-database.ts | 201 | export function getSharedDatabaseRefCount(): number { |
| LOW | src/triggers/trigger-detector.ts | 37 | export function detectTriggerFromWorkflow(workflow: Workflow): TriggerDetectionResult { |
| LOW | src/triggers/trigger-registry.ts | 93 | export async function initializeTriggerRegistry(): Promise<void> { |
| LOW | src/triggers/trigger-registry.ts | 114 | export async function ensureRegistryInitialized(): Promise<void> { |
| LOW | src/utils/expression-utils.ts | 48 | export function shouldSkipLiteralValidation(value: unknown): boolean { |
| LOW | src/utils/expression-utils.ts | 91 | export function extractBracketExpressions(value: string): string[] { |
| LOW | src/utils/node-classification.ts | 108 | export function requiresIncomingConnection(nodeType: string): boolean { |
| LOW | src/utils/node-utils.ts | 95 | function generateCamelCaseVariants(str: string): string[] { |
| LOW | src/utils/n8n-errors.ts | 120 | export function getUserFriendlyErrorMessage(error: N8nApiError): string { |
| LOW | src/utils/template-node-resolver.ts | 45 | function generateTemplateNodeVariations(nodeType: string): string[] { |
| LOW | src/utils/node-type-utils.ts | 215 | export function getTriggerTypeDescription(nodeType: string): string { |
| LOW | src/mcp/handlers-workflow-diff.ts | 122 | export async function handleUpdatePartialWorkflow( |
| LOW | src/mcp/handlers-workflow-diff.ts | 681 | function inferIntentFromOperations(operations: any[]): string { |
| LOW | src/mcp/handlers-n8n-manager.ts | 255 | export function getInstanceCacheStatistics(): string { |
| LOW | src/mcp/handlers-n8n-manager.ts | 721 | export async function handleGetWorkflowStructure(args: unknown, context?: InstanceContext): Promise<McpToolResponse> { |
| LOW | src/mcp/handlers-n8n-manager.ts | 1069 | async function trackWorkflowMutationForFullUpdate(data: any): Promise<void> { |
| LOW | src/mcp/handlers-n8n-manager.ts | 2799 | export async function handleTriggerWebhookWorkflow(args: unknown, context?: InstanceContext): Promise<McpToolResponse> { |
| LOW | src/mcp/handlers-n8n-manager.ts | 3413 | export async function handleGetCredentialSchema(args: unknown, context?: InstanceContext): Promise<McpToolResponse> { |
| LOW | src/mcp/tools-documentation.ts | 220 | function getJavaScriptCodeNodeGuide(depth: 'essentials' | 'full' = 'essentials'): string { |
| LOW | src/scripts/rebuild-database.ts | 13 | async function rebuildDocumentationDatabase() { |
| LOW | src/telemetry/telemetry-cli.ts | 14 | export function handleTelemetryCliIfPresent(args: string[]): void { |
| LOW | src/community/documentation-generator.ts | 383 | export function createDocumentationGenerator(): DocumentationGenerator { |
| LOW | src/services/ai-node-validator.ts | 68 | export function buildReverseConnectionMap( |
| LOW | src/services/workflow-diff-engine.ts | 92 | function operationReferencesAddedNode( |
| LOW | src/services/audit-report-builder.ts | 232 | function extractBuiltinActionables(builtinAudit: any): BuiltinActionables { |
| LOW | src/services/audit-report-builder.ts | 256 | function renderRemediationPlaybook( |
| LOW | src/services/n8n-validation.ts | 88 | export function validateWorkflowConnections(connections: unknown): WorkflowConnection { |
| LOW | src/services/n8n-validation.ts | 227 | export function validateWorkflowStructure(workflow: Partial<Workflow>): string[] { |
| LOW | src/services/n8n-validation.ts | 499 | export function validateConditionNodeStructure(node: WorkflowNode): string[] { |
| LOW | src/services/n8n-validation.ts | 526 | function validateFilterOptionsRequired(conditions: any, path: string): string[] { |
| LOW | src/services/n8n-validation.ts | 553 | function validateFilterConditionOperators(conditions: any, path: string): string[] { |
| LOW | src/services/n8n-validation.ts | 567 | export function validateFilterBasedNodeMetadata(node: WorkflowNode): string[] { |
| 10 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/test-mcp-extraction.js | 76 | // Step 1: Initialize |
| LOW | tests/test-mcp-extraction.js | 110 | // Step 2: List tools |
| LOW | tests/test-mcp-extraction.js | 127 | // Step 3: Call the tool to get AI Agent code |
| LOW | tests/integration/ai-validation/e2e-validation.test.ts | 116 | // Step 1: Create workflow |
| LOW | tests/integration/ai-validation/e2e-validation.test.ts | 120 | // Step 2: Validate workflow |
| LOW | tests/integration/ai-validation/e2e-validation.test.ts | 139 | // Step 3: Since it's valid, it's already created and ready to use |
| LOW | src/utils/ssrf-protection.ts | 240 | // Step 1: Must be HTTP/HTTPS (all modes) |
| LOW | src/utils/ssrf-protection.ts | 252 | // Step 2: ALWAYS block cloud metadata endpoints (all modes) |
| LOW | src/utils/ssrf-protection.ts | 258 | // Step 3: Resolve DNS to get actual IP address |
| LOW | src/utils/ssrf-protection.ts | 276 | // Step 4: ALWAYS block cloud metadata IPs (all modes) |
| LOW | src/utils/ssrf-protection.ts | 301 | // Step 5: Mode-specific validation |
| LOW | src/utils/ssrf-protection.ts | 332 | // Step 6: Check private IPv4 ranges (strict & moderate modes) |
| LOW | src/utils/ssrf-protection.ts | 343 | // Step 7: IPv6 private address check (strict & moderate modes) |
| LOW | src/mcp/tool-docs/guides/ai-agents-guide.ts | 174 | #### Step 1: Create Chat Trigger |
| LOW | src/mcp/tool-docs/guides/ai-agents-guide.ts | 198 | #### Step 2: Add Language Model |
| LOW | src/mcp/tool-docs/guides/ai-agents-guide.ts | 220 | #### Step 3: Add AI Agent |
| LOW | src/mcp/tool-docs/guides/ai-agents-guide.ts | 242 | #### Step 4: Connect Components |
| LOW | src/mcp/tool-docs/guides/ai-agents-guide.ts | 265 | #### Step 5: Validate |
| LOW | src/mcp/tool-docs/guides/ai-agents-guide.ts | 349 | // Step 1: Create Vector Store with embeddings and documents |
| LOW | src/mcp/tool-docs/guides/ai-agents-guide.ts | 357 | // Step 2: Connect Vector Store to Vector Store Tool |
| LOW | src/mcp/tool-docs/guides/ai-agents-guide.ts | 364 | // Step 3: Connect tool to AI Agent |
| LOW | …tool-docs/workflow_management/n8n-generate-workflow.ts | 41 | `// Step 1: Get proposals |
| LOW | …tool-docs/workflow_management/n8n-generate-workflow.ts | 58 | `// Step 3: Deploy the preview |
| LOW | src/scripts/test-webhook-autofix.ts | 71 | // Step 1: Validate workflow to identify issues |
| LOW | src/scripts/test-webhook-autofix.ts | 87 | // Step 2: Generate fixes (preview mode) |
| LOW | src/scripts/test-webhook-autofix.ts | 128 | // Step 3: Verify UUID format |
| LOW | src/scripts/test-autofix-workflow.ts | 115 | // Step 1: Validate the workflow to identify issues |
| LOW | src/scripts/test-autofix-workflow.ts | 127 | // Step 2: Check for expression format issues |
| LOW | src/scripts/test-autofix-workflow.ts | 164 | // Step 3: Generate fixes in preview mode |
| LOW | src/scripts/test-autofix-workflow.ts | 193 | // Step 4: Display individual fixes |
| LOW | src/scripts/test-autofix-workflow.ts | 202 | // Step 5: Display generated operations |
| LOW | src/scripts/test-autofix-workflow.ts | 209 | // Step 6: Test with different confidence thresholds |
| LOW | src/scripts/test-autofix-workflow.ts | 225 | // Step 7: Test with specific fix types |
| LOW | src/community/documentation-batch-processor.ts | 107 | // Step 1: Fetch READMEs (unless summaryOnly) |
| LOW | src/community/documentation-batch-processor.ts | 121 | // Step 2: Generate AI summaries (unless readmeOnly) |
| LOW | src/community/community-node-service.ts | 73 | // Step 1: Sync verified nodes from Strapi API |
| LOW | src/community/community-node-service.ts | 82 | // Step 2: Sync popular npm packages (unless verifiedOnly) |
| LOW | src/services/workflow-diff-engine.ts | 1507 | // Step 1: Update connection object keys (source node names) |
| LOW | src/services/workflow-diff-engine.ts | 1515 | // Step 2: Update target node references within connections |
| LOW | src/services/n8n-api-client.ts | 280 | // Step 1: Basic cleaning (remove read-only fields, filter to known settings) |
| LOW | src/services/n8n-api-client.ts | 283 | // Step 2: Version-aware settings filtering for older n8n compatibility |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | monitor_fetch.sh | 7 | # Check if process is still running |
| LOW | docker/docker-entrypoint.sh | 61 | # Check if flock is available |
| LOW | deploy/quick-deploy-n8n.sh | 64 | # Check if .env exists |
| LOW | scripts/test-n8n-integration.sh | 68 | # Check if Docker daemon is running |
| LOW | scripts/test-n8n-integration.sh | 177 | # Set trap to cleanup on exit |
| LOW | scripts/test-n8n-integration.sh | 180 | # Check if we're in the right directory |
| LOW | scripts/test-n8n-integration.sh | 281 | # Check if API key was provided |
| LOW | scripts/update-and-publish-prep.sh | 120 | # Check if templates were sanitized |
| LOW | scripts/analyze-optimization.sh | 51 | # Check if optimized database exists |
| LOW | scripts/publish-npm.sh | 25 | # Check if dist directory exists |
| LOW | scripts/publish-npm.sh | 31 | # Check if database exists |
| LOW | scripts/extract-nodes-docker.sh | 26 | # Check if Docker is running |
| LOW | scripts/extract-nodes-docker.sh | 82 | # Check if we got the If node source code and look for version |
| LOW | scripts/test-http.sh | 22 | # Check if jq is installed |
| LOW | scripts/deploy-to-vm.sh | 23 | # Check if .env exists |
| LOW | scripts/build-optimized.sh | 13 | # Check if nodes.db exists |
| LOW | scripts/test-docker-optimization.sh | 9 | # Check if nodes.db exists |
| LOW | scripts/test-docker-optimization.sh | 61 | # Check if running |
| LOW | scripts/deploy-http.sh | 11 | # Check if .env exists |
| LOW | scripts/deploy-http.sh | 24 | # Check if AUTH_TOKEN is set |
| LOW | scripts/extract-nodes-simple.sh | 26 | # Check if Docker is running |
| LOW | scripts/extract-nodes-simple.sh | 78 | # Check if we got the If node source code and look for version |
| LOW | .github/workflows/release.yml | 61 | # Check if version changed |
| LOW | .github/workflows/release.yml | 67 | # Check if it's a prerelease (contains alpha, beta, rc, dev) |
| LOW | .github/workflows/release.yml | 94 | # Check if version already exists in npm |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/unit/database/template-repository-core.test.ts | 140 | name: 'John Doe', |
| LOW | tests/unit/database/template-repository-core.test.ts | 182 | 'John Doe', |
| LOW | tests/unit/triggers/handlers/form-handler.test.ts | 115 | name: 'John Doe', |
| LOW | tests/unit/triggers/handlers/form-handler.test.ts | 171 | name: 'Jane Doe', |
| LOW | tests/unit/services/template-service.test.ts | 643 | author_name: 'John Doe', |
| LOW | tests/unit/services/template-service.test.ts | 662 | name: 'John Doe', |
| LOW | tests/unit/services/workflow-validator.test.ts | 487 | const result = await validator.validateWorkflow({ nodes: [{ id: '1', name: 'Send Email', type: 'n8n-nodes-base.ema |
| LOW | tests/unit/services/workflow-validator.test.ts | 509 | const result = await validator.validateWorkflow({ nodes: [{ id: '1', name: 'Send Email', type: 'n8n-nodes-base.ema |
| LOW | tests/unit/services/config-validator.test.ts | 362 | it('should match when string ends with suffix', () => { expect(ConfigValidator.isPropertyVisible({ name: 'f', disp |
| LOW | tests/unit/services/example-generator.test.ts | 106 | name: 'John Doe' |
| LOW | tests/unit/services/example-generator.test.ts | 390 | username: 'John Doe', |
| LOW | tests/unit/services/expression-format-validator.test.ts | 237 | toEmail: 'user@example.com', |
| LOW | docs/workflow-diff-examples.md | 307 | "toEmail": "admin@example.com", |
| LOW | docs/workflow-diff-examples.md | 646 | "parameters": { "to": "user@example.com" } |
| LOW | …ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md | 82 | "name": "John Doe", |
| LOW | …ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md | 324 | "to": "user@example.com", |
| LOW | …ta/skills/n8n-node-configuration/OPERATION_PATTERNS.md | 339 | "ccList": "admin@example.com", |
| LOW | data/skills/n8n-node-configuration/SKILL.md | 526 | "name": "John Doe", |
| LOW | data/skills/n8n-code-javascript/BUILTIN_FUNCTIONS.md | 87 | name: 'John Doe', |
| LOW | data/skills/n8n-expression-syntax/EXAMPLES.md | 16 | "name": "John Doe", |
| LOW | data/skills/n8n-expression-syntax/EXAMPLES.md | 18 | "company": "Acme Corp", |
| LOW | data/skills/n8n-expression-syntax/EXAMPLES.md | 30 | "name": "John Doe", |
| LOW | data/skills/n8n-expression-syntax/EXAMPLES.md | 32 | "company": "Acme Corp", |
| LOW | data/skills/n8n-expression-syntax/SKILL.md | 286 | "name": "John Doe", |
| LOW | src/triggers/handlers/form-handler.ts | 186 | hint += '"user@example.com"'; |
| LOW | src/constants/type-structures.ts | 186 | name: 'John Doe', |
| LOW | src/constants/type-structures.ts | 653 | name: 'John Doe', |
| LOW | src/utils/example-generator.ts | 70 | return 'user@example.com'; |
| LOW | src/services/task-templates.ts | 105 | example: '{\n "name": "John Doe",\n "email": "john@example.com"\n}' |
| LOW | src/services/example-generator.ts | 31 | jsonBody: '{\n "name": "John Doe",\n "email": "john@example.com"\n}' |
| LOW | src/services/example-generator.ts | 1076 | return 'John Doe'; |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/unit/services/fixed-collection-validation.test.ts | 355 | // This is a pattern commonly generated by AI agents |
| HIGH | docs/local/DEEP_DIVE_ANALYSIS_2025-10-02.md | 753 | // Fix common AI-generated abbreviations |
| HIGH | data/skills/n8n-workflow-patterns/ai_agent_workflow.md | 177 | // Node executes AI-generated SQL |
| HIGH | src/mcp/handlers-n8n-manager.ts | 935 | // AI-generated node updates typically omit credential references because they |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | scripts/demo-optimization.sh | 7 | # Create a demo directory structure |
| MEDIUM | scripts/demo-optimization.sh | 49 | # Create a simple test |
| MEDIUM | scripts/publish-npm.sh | 37 | # Create a temporary publish directory |
| MEDIUM | scripts/extract-nodes-simple.sh | 38 | # Create a temporary directory for extraction |
| MEDIUM | .github/workflows/dependency-check.yml | 121 | # Create a simple test script |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | MEMORY_N8N_UPDATE.md | 41 | N8N_MCP_LLM_BASE_URL="http://YOUR_SERVER:PORT/v1" \ |
| LOW | docker-compose.yml | 21 | LOG_LEVEL: ${LOG_LEVEL:-info} |
| LOW | docs/local/TEMPLATE_MINING_ANALYSIS.md | 301 | // - With authentication |
| LOW | .github/workflows/issue-triage.lock.yml | 1 | # gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"8138005e553d8368256fb7a4f4ca604d011217c6537a97e1bb356643b8a |
| LOW | .github/workflows/issue-triage.lock.yml | 21 | # Not all edits will cause changes to this file. |
| LOW | .github/workflows/issue-triage.lock.yml | 41 | # - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 |
| LOW | data/skills/n8n-mcp-tools-expert/WORKFLOW_GUIDE.md | 461 | // { |
| LOW | data/skills/n8n-mcp-tools-expert/WORKFLOW_GUIDE.md | 661 | |
| LOW | src/utils/ssrf-protection.ts | 141 | try { |
| LOW | src/mcp/handlers-workflow-diff.ts | 341 | note: 'Operations were applied but created an invalid workflow structure. The workflow was NOT saved to n8n |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/unit/docker/serve-command.test.ts | 146 | elif echo "\$@" | grep -q "n8n-mcp.*serve"; then |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/logger.test.ts | 29 | // Restore original DEBUG value with more robust handling |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/unit/services/config-validator.test.ts | 638 | const result = ConfigValidator.validate('nodes-base.code', { language: 'python', pythonCode: 'def process_data():\ |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/mcp/tools-documentation.ts | 621 | except Exception as e: |