n8n-mcp 2.18.0 → 2.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/mcp/index.js +120 -92
  2. package/dist/mcp/index.js.map +1 -1
  3. package/dist/mcp/server.d.ts +3 -1
  4. package/dist/mcp/server.d.ts.map +1 -1
  5. package/dist/mcp/server.js +30 -8
  6. package/dist/mcp/server.js.map +1 -1
  7. package/dist/telemetry/early-error-logger.d.ts +26 -0
  8. package/dist/telemetry/early-error-logger.d.ts.map +1 -0
  9. package/dist/telemetry/early-error-logger.js +187 -0
  10. package/dist/telemetry/early-error-logger.js.map +1 -0
  11. package/dist/telemetry/error-sanitization-utils.d.ts +2 -0
  12. package/dist/telemetry/error-sanitization-utils.d.ts.map +1 -0
  13. package/dist/telemetry/error-sanitization-utils.js +37 -0
  14. package/dist/telemetry/error-sanitization-utils.js.map +1 -0
  15. package/dist/telemetry/error-sanitizer.d.ts +4 -0
  16. package/dist/telemetry/error-sanitizer.d.ts.map +1 -0
  17. package/dist/telemetry/error-sanitizer.js +45 -0
  18. package/dist/telemetry/error-sanitizer.js.map +1 -0
  19. package/dist/telemetry/event-tracker.d.ts +7 -1
  20. package/dist/telemetry/event-tracker.d.ts.map +1 -1
  21. package/dist/telemetry/event-tracker.js +34 -31
  22. package/dist/telemetry/event-tracker.js.map +1 -1
  23. package/dist/telemetry/event-validator.d.ts.map +1 -1
  24. package/dist/telemetry/event-validator.js +17 -0
  25. package/dist/telemetry/event-validator.js.map +1 -1
  26. package/dist/telemetry/startup-checkpoints.d.ts +26 -0
  27. package/dist/telemetry/startup-checkpoints.d.ts.map +1 -0
  28. package/dist/telemetry/startup-checkpoints.js +65 -0
  29. package/dist/telemetry/startup-checkpoints.js.map +1 -0
  30. package/dist/telemetry/telemetry-types.d.ts +33 -0
  31. package/dist/telemetry/telemetry-types.d.ts.map +1 -1
  32. package/dist/telemetry/telemetry-types.js.map +1 -1
  33. package/package.json +1 -1
package/dist/mcp/index.js CHANGED
@@ -37,6 +37,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
37
37
  const server_1 = require("./server");
38
38
  const logger_1 = require("../utils/logger");
39
39
  const config_manager_1 = require("../telemetry/config-manager");
40
+ const early_error_logger_1 = require("../telemetry/early-error-logger");
41
+ const startup_checkpoints_1 = require("../telemetry/startup-checkpoints");
40
42
  const fs_1 = require("fs");
41
43
  process.on('uncaughtException', (error) => {
42
44
  if (process.env.MCP_MODE !== 'stdio') {
@@ -70,25 +72,31 @@ function isContainerEnvironment() {
70
72
  }
71
73
  }
72
74
  async function main() {
73
- const args = process.argv.slice(2);
74
- if (args.length > 0 && args[0] === 'telemetry') {
75
- const telemetryConfig = config_manager_1.TelemetryConfigManager.getInstance();
76
- const action = args[1];
77
- switch (action) {
78
- case 'enable':
79
- telemetryConfig.enable();
80
- process.exit(0);
81
- break;
82
- case 'disable':
83
- telemetryConfig.disable();
84
- process.exit(0);
85
- break;
86
- case 'status':
87
- console.log(telemetryConfig.getStatus());
88
- process.exit(0);
89
- break;
90
- default:
91
- console.log(`
75
+ const startTime = Date.now();
76
+ const earlyLogger = early_error_logger_1.EarlyErrorLogger.getInstance();
77
+ const checkpoints = [];
78
+ try {
79
+ earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.PROCESS_STARTED);
80
+ checkpoints.push(startup_checkpoints_1.STARTUP_CHECKPOINTS.PROCESS_STARTED);
81
+ const args = process.argv.slice(2);
82
+ if (args.length > 0 && args[0] === 'telemetry') {
83
+ const telemetryConfig = config_manager_1.TelemetryConfigManager.getInstance();
84
+ const action = args[1];
85
+ switch (action) {
86
+ case 'enable':
87
+ telemetryConfig.enable();
88
+ process.exit(0);
89
+ break;
90
+ case 'disable':
91
+ telemetryConfig.disable();
92
+ process.exit(0);
93
+ break;
94
+ case 'status':
95
+ console.log(telemetryConfig.getStatus());
96
+ process.exit(0);
97
+ break;
98
+ default:
99
+ console.log(`
92
100
  Usage: n8n-mcp telemetry [command]
93
101
 
94
102
  Commands:
@@ -98,90 +106,110 @@ Commands:
98
106
 
99
107
  Learn more: https://github.com/czlonkowski/n8n-mcp/blob/main/PRIVACY.md
100
108
  `);
101
- process.exit(args[1] ? 1 : 0);
102
- }
103
- }
104
- const mode = process.env.MCP_MODE || 'stdio';
105
- try {
106
- if (mode === 'http') {
107
- console.error(`Starting n8n Documentation MCP Server in ${mode} mode...`);
108
- console.error('Current directory:', process.cwd());
109
- console.error('Node version:', process.version);
109
+ process.exit(args[1] ? 1 : 0);
110
+ }
110
111
  }
111
- if (mode === 'http') {
112
- if (process.env.USE_FIXED_HTTP === 'true') {
113
- const { startFixedHTTPServer } = await Promise.resolve().then(() => __importStar(require('../http-server')));
114
- await startFixedHTTPServer();
112
+ const mode = process.env.MCP_MODE || 'stdio';
113
+ earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.TELEMETRY_INITIALIZING);
114
+ checkpoints.push(startup_checkpoints_1.STARTUP_CHECKPOINTS.TELEMETRY_INITIALIZING);
115
+ earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.TELEMETRY_READY);
116
+ checkpoints.push(startup_checkpoints_1.STARTUP_CHECKPOINTS.TELEMETRY_READY);
117
+ try {
118
+ if (mode === 'http') {
119
+ console.error(`Starting n8n Documentation MCP Server in ${mode} mode...`);
120
+ console.error('Current directory:', process.cwd());
121
+ console.error('Node version:', process.version);
122
+ }
123
+ earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.MCP_HANDSHAKE_STARTING);
124
+ checkpoints.push(startup_checkpoints_1.STARTUP_CHECKPOINTS.MCP_HANDSHAKE_STARTING);
125
+ if (mode === 'http') {
126
+ if (process.env.USE_FIXED_HTTP === 'true') {
127
+ const { startFixedHTTPServer } = await Promise.resolve().then(() => __importStar(require('../http-server')));
128
+ await startFixedHTTPServer();
129
+ }
130
+ else {
131
+ const { SingleSessionHTTPServer } = await Promise.resolve().then(() => __importStar(require('../http-server-single-session')));
132
+ const server = new SingleSessionHTTPServer();
133
+ const shutdown = async () => {
134
+ await server.shutdown();
135
+ process.exit(0);
136
+ };
137
+ process.on('SIGTERM', shutdown);
138
+ process.on('SIGINT', shutdown);
139
+ await server.start();
140
+ }
115
141
  }
116
142
  else {
117
- const { SingleSessionHTTPServer } = await Promise.resolve().then(() => __importStar(require('../http-server-single-session')));
118
- const server = new SingleSessionHTTPServer();
119
- const shutdown = async () => {
120
- await server.shutdown();
121
- process.exit(0);
143
+ const server = new server_1.N8NDocumentationMCPServer(undefined, earlyLogger);
144
+ let isShuttingDown = false;
145
+ const shutdown = async (signal = 'UNKNOWN') => {
146
+ if (isShuttingDown)
147
+ return;
148
+ isShuttingDown = true;
149
+ try {
150
+ logger_1.logger.info(`Shutdown initiated by: ${signal}`);
151
+ await server.shutdown();
152
+ if (process.stdin && !process.stdin.destroyed) {
153
+ process.stdin.pause();
154
+ process.stdin.destroy();
155
+ }
156
+ setTimeout(() => {
157
+ logger_1.logger.warn('Shutdown timeout exceeded, forcing exit');
158
+ process.exit(0);
159
+ }, 1000).unref();
160
+ }
161
+ catch (error) {
162
+ logger_1.logger.error('Error during shutdown:', error);
163
+ process.exit(1);
164
+ }
122
165
  };
123
- process.on('SIGTERM', shutdown);
124
- process.on('SIGINT', shutdown);
125
- await server.start();
126
- }
127
- }
128
- else {
129
- const server = new server_1.N8NDocumentationMCPServer();
130
- let isShuttingDown = false;
131
- const shutdown = async (signal = 'UNKNOWN') => {
132
- if (isShuttingDown)
133
- return;
134
- isShuttingDown = true;
135
- try {
136
- logger_1.logger.info(`Shutdown initiated by: ${signal}`);
137
- await server.shutdown();
138
- if (process.stdin && !process.stdin.destroyed) {
139
- process.stdin.pause();
140
- process.stdin.destroy();
166
+ process.on('SIGTERM', () => shutdown('SIGTERM'));
167
+ process.on('SIGINT', () => shutdown('SIGINT'));
168
+ process.on('SIGHUP', () => shutdown('SIGHUP'));
169
+ const isContainer = isContainerEnvironment();
170
+ if (!isContainer && process.stdin.readable && !process.stdin.destroyed) {
171
+ try {
172
+ process.stdin.on('end', () => shutdown('STDIN_END'));
173
+ process.stdin.on('close', () => shutdown('STDIN_CLOSE'));
174
+ }
175
+ catch (error) {
176
+ logger_1.logger.error('Failed to register stdin handlers, using signal handlers only:', error);
141
177
  }
142
- setTimeout(() => {
143
- logger_1.logger.warn('Shutdown timeout exceeded, forcing exit');
144
- process.exit(0);
145
- }, 1000).unref();
146
- }
147
- catch (error) {
148
- logger_1.logger.error('Error during shutdown:', error);
149
- process.exit(1);
150
178
  }
151
- };
152
- process.on('SIGTERM', () => shutdown('SIGTERM'));
153
- process.on('SIGINT', () => shutdown('SIGINT'));
154
- process.on('SIGHUP', () => shutdown('SIGHUP'));
155
- const isContainer = isContainerEnvironment();
156
- if (!isContainer && process.stdin.readable && !process.stdin.destroyed) {
157
- try {
158
- process.stdin.on('end', () => shutdown('STDIN_END'));
159
- process.stdin.on('close', () => shutdown('STDIN_CLOSE'));
179
+ await server.run();
180
+ }
181
+ earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.MCP_HANDSHAKE_COMPLETE);
182
+ checkpoints.push(startup_checkpoints_1.STARTUP_CHECKPOINTS.MCP_HANDSHAKE_COMPLETE);
183
+ earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.SERVER_READY);
184
+ checkpoints.push(startup_checkpoints_1.STARTUP_CHECKPOINTS.SERVER_READY);
185
+ const startupDuration = Date.now() - startTime;
186
+ earlyLogger.logStartupSuccess(checkpoints, startupDuration);
187
+ logger_1.logger.info(`Server startup completed in ${startupDuration}ms (${checkpoints.length} checkpoints passed)`);
188
+ }
189
+ catch (error) {
190
+ const failedCheckpoint = (0, startup_checkpoints_1.findFailedCheckpoint)(checkpoints);
191
+ earlyLogger.logStartupError(failedCheckpoint, error);
192
+ if (mode !== 'stdio') {
193
+ console.error('Failed to start MCP server:', error);
194
+ logger_1.logger.error('Failed to start MCP server', error);
195
+ if (error instanceof Error && error.message.includes('nodes.db not found')) {
196
+ console.error('\nTo fix this issue:');
197
+ console.error('1. cd to the n8n-mcp directory');
198
+ console.error('2. Run: npm run build');
199
+ console.error('3. Run: npm run rebuild');
160
200
  }
161
- catch (error) {
162
- logger_1.logger.error('Failed to register stdin handlers, using signal handlers only:', error);
201
+ else if (error instanceof Error && error.message.includes('NODE_MODULE_VERSION')) {
202
+ console.error('\nTo fix this Node.js version mismatch:');
203
+ console.error('1. cd to the n8n-mcp directory');
204
+ console.error('2. Run: npm rebuild better-sqlite3');
205
+ console.error('3. If that doesn\'t work, try: rm -rf node_modules && npm install');
163
206
  }
164
207
  }
165
- await server.run();
208
+ process.exit(1);
166
209
  }
167
210
  }
168
- catch (error) {
169
- if (mode !== 'stdio') {
170
- console.error('Failed to start MCP server:', error);
171
- logger_1.logger.error('Failed to start MCP server', error);
172
- if (error instanceof Error && error.message.includes('nodes.db not found')) {
173
- console.error('\nTo fix this issue:');
174
- console.error('1. cd to the n8n-mcp directory');
175
- console.error('2. Run: npm run build');
176
- console.error('3. Run: npm run rebuild');
177
- }
178
- else if (error instanceof Error && error.message.includes('NODE_MODULE_VERSION')) {
179
- console.error('\nTo fix this Node.js version mismatch:');
180
- console.error('1. cd to the n8n-mcp directory');
181
- console.error('2. Run: npm rebuild better-sqlite3');
182
- console.error('3. If that doesn\'t work, try: rm -rf node_modules && npm install');
183
- }
184
- }
211
+ catch (outerError) {
212
+ logger_1.logger.error('Critical startup error:', outerError);
185
213
  process.exit(1);
186
214
  }
187
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qCAAqD;AACrD,4CAAyC;AACzC,gEAAqE;AACrE,wEAAmE;AACnE,0EAAgH;AAChH,2BAAgC;AAGhC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAQH,SAAS,sBAAsB;IAE7B,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEpE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,IAAI,CAAC;QACH,OAAO,IAAA,eAAU,EAAC,aAAa,CAAC,IAAI,IAAA,eAAU,EAAC,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEf,eAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IAGjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,qCAAgB,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,WAAW,GAAwB,EAAE,CAAC;IAE5C,IAAI,CAAC;QAEH,WAAW,CAAC,aAAa,CAAC,yCAAmB,CAAC,eAAe,CAAC,CAAC;QAC/D,WAAW,CAAC,IAAI,CAAC,yCAAmB,CAAC,eAAe,CAAC,CAAC;QAGtD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YAC/C,MAAM,eAAe,GAAG,uCAAsB,CAAC,WAAW,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEvB,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,QAAQ;oBACX,eAAe,CAAC,MAAM,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM;gBACR,KAAK,SAAS;oBACZ,eAAe,CAAC,OAAO,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM;gBACR,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM;gBACR;oBACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;CASnB,CAAC,CAAC;oBACK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC;QAG3C,WAAW,CAAC,aAAa,CAAC,yCAAmB,CAAC,sBAAsB,CAAC,CAAC;QACtE,WAAW,CAAC,IAAI,CAAC,yCAAmB,CAAC,sBAAsB,CAAC,CAAC;QAI7D,WAAW,CAAC,aAAa,CAAC,yCAAmB,CAAC,eAAe,CAAC,CAAC;QAC/D,WAAW,CAAC,IAAI,CAAC,yCAAmB,CAAC,eAAe,CAAC,CAAC;QAExD,IAAI,CAAC;YAEH,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,4CAA4C,IAAI,UAAU,CAAC,CAAC;gBAC1E,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;YAGD,WAAW,CAAC,aAAa,CAAC,yCAAmB,CAAC,sBAAsB,CAAC,CAAC;YACtE,WAAW,CAAC,IAAI,CAAC,yCAAmB,CAAC,sBAAsB,CAAC,CAAC;YAE7D,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAEpB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;oBAE1C,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;oBAChE,MAAM,oBAAoB,EAAE,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBAEN,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,+BAA+B,GAAC,CAAC;oBAClF,MAAM,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;oBAG7C,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;wBAC1B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC,CAAC;oBAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAE/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,CAAC;gBAEN,MAAM,MAAM,GAAG,IAAI,kCAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAGrE,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,MAAM,QAAQ,GAAG,KAAK,EAAE,SAAiB,SAAS,EAAE,EAAE;oBACpD,IAAI,cAAc;wBAAE,OAAO;oBAC3B,cAAc,GAAG,IAAI,CAAC;oBAEtB,IAAI,CAAC;wBACH,eAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;wBAEhD,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAGxB,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;4BAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;4BACtB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBAC1B,CAAC;wBAID,UAAU,CAAC,GAAG,EAAE;4BACd,eAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;4BACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBAInB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,eAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;wBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC,CAAC;gBAUF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAM/C,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;gBAE7C,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACvE,IAAI,CAAC;wBACH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;wBACrD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC3D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,eAAM,CAAC,KAAK,CAAC,gEAAgE,EAAE,KAAK,CAAC,CAAC;oBAExF,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YACrB,CAAC;YAGD,WAAW,CAAC,aAAa,CAAC,yCAAmB,CAAC,sBAAsB,CAAC,CAAC;YACtE,WAAW,CAAC,IAAI,CAAC,yCAAmB,CAAC,sBAAsB,CAAC,CAAC;YAG7D,WAAW,CAAC,aAAa,CAAC,yCAAmB,CAAC,YAAY,CAAC,CAAC;YAC5D,WAAW,CAAC,IAAI,CAAC,yCAAmB,CAAC,YAAY,CAAC,CAAC;YAGnD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC/C,WAAW,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAE5D,eAAM,CAAC,IAAI,CAAC,+BAA+B,eAAe,OAAO,WAAW,CAAC,MAAM,sBAAsB,CAAC,CAAC;QAE7G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,gBAAgB,GAAG,IAAA,0CAAoB,EAAC,WAAW,CAAC,CAAC;YAC3D,WAAW,CAAC,eAAe,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAGrD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;gBACpD,eAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;gBAGlD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC3E,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBACtC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAChD,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBACvC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC3C,CAAC;qBAAM,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;oBACnF,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBACzD,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAChD,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBACpD,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACD,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QAEpB,eAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAGD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { InstanceContext } from '../types/instance-context';
2
+ import { EarlyErrorLogger } from '../telemetry/early-error-logger';
2
3
  export declare class N8NDocumentationMCPServer {
3
4
  private server;
4
5
  private db;
@@ -10,7 +11,8 @@ export declare class N8NDocumentationMCPServer {
10
11
  private instanceContext?;
11
12
  private previousTool;
12
13
  private previousToolTimestamp;
13
- constructor(instanceContext?: InstanceContext);
14
+ private earlyLogger;
15
+ constructor(instanceContext?: InstanceContext, earlyLogger?: EarlyErrorLogger);
14
16
  private initializeDatabase;
15
17
  private initializeInMemorySchema;
16
18
  private ensureInitialized;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAqB5D,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAAgC;IAC1C,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,qBAAqB,CAAsB;gBAEvC,eAAe,CAAC,EAAE,eAAe;YA2D/B,kBAAkB;YAsBlB,wBAAwB;YAgBxB,iBAAiB;IAO/B,OAAO,CAAC,aAAa;IAgRrB,OAAO,CAAC,wBAAwB;IAoFhC,OAAO,CAAC,kBAAkB;IAqE1B,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,qBAAqB;YAiSf,SAAS;YA2DT,WAAW;YAiEX,WAAW;YAyCX,cAAc;YAyKd,gBAAgB;IAqD9B,OAAO,CAAC,mBAAmB;IAwE3B,OAAO,CAAC,eAAe;YAsBT,eAAe;IAqI7B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,uBAAuB;IA0D/B,OAAO,CAAC,iBAAiB;YAqFX,WAAW;YAgCX,oBAAoB;YA2EpB,qBAAqB;YAwDrB,iBAAiB;YA8HjB,oBAAoB;IAsDlC,OAAO,CAAC,gBAAgB;YAiBV,SAAS;YA6CT,kBAAkB;YA+DlB,uBAAuB;YAsDvB,iBAAiB;IAqE/B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,uBAAuB;IAwD/B,OAAO,CAAC,iBAAiB;YAoDX,mBAAmB;YAkGnB,qBAAqB;IAS7B,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YAS9B,aAAa;YAcb,iBAAiB;YAoBjB,WAAW;YAwBX,eAAe;YAqBf,mBAAmB;YAwBnB,yBAAyB;IA4CvC,OAAO,CAAC,kBAAkB;YAiBZ,gBAAgB;YA6HhB,2BAA2B;YAiE3B,2BAA2B;IAyEnC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BpB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBhC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAqBnE,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAAgC;IAC1C,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,WAAW,CAAiC;gBAExC,eAAe,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,gBAAgB;YAqE/D,kBAAkB;YAwClB,wBAAwB;YAgBxB,iBAAiB;IAO/B,OAAO,CAAC,aAAa;IAgRrB,OAAO,CAAC,wBAAwB;IAoFhC,OAAO,CAAC,kBAAkB;IAqE1B,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,qBAAqB;YAiSf,SAAS;YA2DT,WAAW;YAiEX,WAAW;YAyCX,cAAc;YAyKd,gBAAgB;IAqD9B,OAAO,CAAC,mBAAmB;IAwE3B,OAAO,CAAC,eAAe;YAsBT,eAAe;IAqI7B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,uBAAuB;IA0D/B,OAAO,CAAC,iBAAiB;YAqFX,WAAW;YAgCX,oBAAoB;YA2EpB,qBAAqB;YAwDrB,iBAAiB;YA8HjB,oBAAoB;IAsDlC,OAAO,CAAC,gBAAgB;YAiBV,SAAS;YA6CT,kBAAkB;YA+DlB,uBAAuB;YAsDvB,iBAAiB;IAqE/B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,uBAAuB;IAwD/B,OAAO,CAAC,iBAAiB;YAoDX,mBAAmB;YAkGnB,qBAAqB;IAS7B,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YAS9B,aAAa;YAcb,iBAAiB;YAoBjB,WAAW;YAwBX,eAAe;YAqBf,mBAAmB;YAwBnB,yBAAyB;IA4CvC,OAAO,CAAC,kBAAkB;YAiBZ,gBAAgB;YA6HhB,2BAA2B;YAiE3B,2BAA2B;IAyEnC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BpB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBhC"}
@@ -66,8 +66,9 @@ const node_type_normalizer_1 = require("../utils/node-type-normalizer");
66
66
  const validation_schemas_1 = require("../utils/validation-schemas");
67
67
  const protocol_version_1 = require("../utils/protocol-version");
68
68
  const telemetry_1 = require("../telemetry");
69
+ const startup_checkpoints_1 = require("../telemetry/startup-checkpoints");
69
70
  class N8NDocumentationMCPServer {
70
- constructor(instanceContext) {
71
+ constructor(instanceContext, earlyLogger) {
71
72
  this.db = null;
72
73
  this.repository = null;
73
74
  this.templateService = null;
@@ -75,7 +76,9 @@ class N8NDocumentationMCPServer {
75
76
  this.clientInfo = null;
76
77
  this.previousTool = null;
77
78
  this.previousToolTimestamp = Date.now();
79
+ this.earlyLogger = null;
78
80
  this.instanceContext = instanceContext;
81
+ this.earlyLogger = earlyLogger || null;
79
82
  const envDbPath = process.env.NODE_DB_PATH;
80
83
  let dbPath = null;
81
84
  let possiblePaths = [];
@@ -99,13 +102,20 @@ class N8NDocumentationMCPServer {
99
102
  logger_1.logger.error('Database not found in any of the expected locations:', possiblePaths);
100
103
  throw new Error('Database nodes.db not found. Please run npm run rebuild first.');
101
104
  }
102
- this.initialized = this.initializeDatabase(dbPath);
105
+ this.initialized = this.initializeDatabase(dbPath).then(() => {
106
+ if (this.earlyLogger) {
107
+ this.earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.N8N_API_CHECKING);
108
+ }
109
+ const apiConfigured = (0, n8n_api_1.isN8nApiConfigured)();
110
+ const totalTools = apiConfigured ?
111
+ tools_1.n8nDocumentationToolsFinal.length + tools_n8n_manager_1.n8nManagementTools.length :
112
+ tools_1.n8nDocumentationToolsFinal.length;
113
+ logger_1.logger.info(`MCP server initialized with ${totalTools} tools (n8n API: ${apiConfigured ? 'configured' : 'not configured'})`);
114
+ if (this.earlyLogger) {
115
+ this.earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.N8N_API_READY);
116
+ }
117
+ });
103
118
  logger_1.logger.info('Initializing n8n Documentation MCP server');
104
- const apiConfigured = (0, n8n_api_1.isN8nApiConfigured)();
105
- const totalTools = apiConfigured ?
106
- tools_1.n8nDocumentationToolsFinal.length + tools_n8n_manager_1.n8nManagementTools.length :
107
- tools_1.n8nDocumentationToolsFinal.length;
108
- logger_1.logger.info(`MCP server initialized with ${totalTools} tools (n8n API: ${apiConfigured ? 'configured' : 'not configured'})`);
109
119
  this.server = new index_js_1.Server({
110
120
  name: 'n8n-documentation-mcp',
111
121
  version: '1.0.0',
@@ -118,14 +128,26 @@ class N8NDocumentationMCPServer {
118
128
  }
119
129
  async initializeDatabase(dbPath) {
120
130
  try {
131
+ if (this.earlyLogger) {
132
+ this.earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.DATABASE_CONNECTING);
133
+ }
134
+ logger_1.logger.debug('Database initialization starting...', { dbPath });
121
135
  this.db = await (0, database_adapter_1.createDatabaseAdapter)(dbPath);
136
+ logger_1.logger.debug('Database adapter created');
122
137
  if (dbPath === ':memory:') {
123
138
  await this.initializeInMemorySchema();
139
+ logger_1.logger.debug('In-memory schema initialized');
124
140
  }
125
141
  this.repository = new node_repository_1.NodeRepository(this.db);
142
+ logger_1.logger.debug('Node repository initialized');
126
143
  this.templateService = new template_service_1.TemplateService(this.db);
144
+ logger_1.logger.debug('Template service initialized');
127
145
  enhanced_config_validator_1.EnhancedConfigValidator.initializeSimilarityServices(this.repository);
128
- logger_1.logger.info(`Initialized database from: ${dbPath}`);
146
+ logger_1.logger.debug('Similarity services initialized');
147
+ if (this.earlyLogger) {
148
+ this.earlyLogger.logCheckpoint(startup_checkpoints_1.STARTUP_CHECKPOINTS.DATABASE_CONNECTED);
149
+ }
150
+ logger_1.logger.info(`Database initialized successfully from: ${dbPath}`);
129
151
  }
130
152
  catch (error) {
131
153
  logger_1.logger.error('Failed to initialize database:', error);