mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-02-10 15:23:07 +00:00
feat: add error mode for execution debugging with AI suggestions (#505)
* feat: add error mode for execution debugging with AI suggestions Add a new `mode='error'` option to n8n_executions action=get that's optimized for AI agents debugging workflow failures. This mode provides intelligent error extraction with 80-99% token savings compared to `mode='full'`. Key features: - Error Analysis: Extracts error message, type, node name, and parameters - Upstream Context: Samples input data from upstream node (configurable limit) - Execution Path: Shows node execution sequence from trigger to error - AI Suggestions: Pattern-based fix suggestions for common errors - Workflow Fetch: Optionally fetches workflow for accurate upstream detection New parameters for mode='error': - errorItemsLimit (default: 2) - Sample items from upstream node - includeStackTrace (default: false) - Full vs truncated stack trace - includeExecutionPath (default: true) - Include node execution path - fetchWorkflow (default: true) - Fetch workflow for upstream detection Token efficiency: - 11 items: ~11KB full vs ~3KB error (73% savings) - 1001 items: ~354KB full vs ~3KB error (99% savings) Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: add security hardening to error-execution-processor - Add prototype pollution protection (block __proto__, constructor, prototype) - Expand sensitive data patterns (20+ patterns including JWT, OAuth, certificates) - Create recursive sanitizeData function for deep object sanitization - Apply sanitization to both nodeParameters and upstream sampleItems - Add comprehensive unit tests (42 tests, 96% coverage) Security improvements address code review findings: - Critical: Prototype pollution protection - Warning: Expanded sensitive data filtering - Warning: Nested data sanitization Concieved by Romuald Członkowski - www.aiadvisors.pl/en 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Romuald Członkowski <romualdczlonkowski@MacBook-Pro-Romuald.local> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
committed by
GitHub
parent
a40f6a5077
commit
d60182eeb8
@@ -349,8 +349,8 @@ export const n8nManagementTools: ToolDefinition[] = [
|
||||
// For action='get' - detail level
|
||||
mode: {
|
||||
type: 'string',
|
||||
enum: ['preview', 'summary', 'filtered', 'full'],
|
||||
description: 'For action=get: preview=structure only, summary=2 items (default), filtered=custom, full=all data'
|
||||
enum: ['preview', 'summary', 'filtered', 'full', 'error'],
|
||||
description: 'For action=get: preview=structure only, summary=2 items (default), filtered=custom, full=all data, error=optimized error debugging'
|
||||
},
|
||||
nodeNames: {
|
||||
type: 'array',
|
||||
@@ -365,6 +365,23 @@ export const n8nManagementTools: ToolDefinition[] = [
|
||||
type: 'boolean',
|
||||
description: 'For action=get: include input data in addition to output (default: false)'
|
||||
},
|
||||
// Error mode specific parameters
|
||||
errorItemsLimit: {
|
||||
type: 'number',
|
||||
description: 'For action=get with mode=error: sample items from upstream node (default: 2, max: 100)'
|
||||
},
|
||||
includeStackTrace: {
|
||||
type: 'boolean',
|
||||
description: 'For action=get with mode=error: include full stack trace (default: false, shows truncated)'
|
||||
},
|
||||
includeExecutionPath: {
|
||||
type: 'boolean',
|
||||
description: 'For action=get with mode=error: include execution path leading to error (default: true)'
|
||||
},
|
||||
fetchWorkflow: {
|
||||
type: 'boolean',
|
||||
description: 'For action=get with mode=error: fetch workflow for accurate upstream detection (default: true)'
|
||||
},
|
||||
// For action='list'
|
||||
limit: {
|
||||
type: 'number',
|
||||
|
||||
Reference in New Issue
Block a user