mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-02-06 05:23:08 +00:00
feat: add environment-aware debugging to diagnostic tools
Enhanced health check and diagnostic tools with environment-specific troubleshooting guidance based on telemetry analysis of 632K events from 5,308 users. Key improvements: - Environment-aware debugging suggestions for http/stdio modes - Docker-specific troubleshooting when IS_DOCKER=true - Cloud platform detection (Railway, Render, Fly, Heroku, AWS, K8s, GCP, Azure) - Platform-specific configuration paths (macOS, Windows, Linux) - MCP_MODE and platform tracking in telemetry events - Comprehensive integration tests for environment detection Addresses 59% session abandonment by providing actionable, context-specific next steps based on user's deployment environment. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,9 @@ describe('Integration: handleHealthCheck', () => {
|
||||
expect(data).toHaveProperty('status');
|
||||
expect(data).toHaveProperty('apiUrl');
|
||||
expect(data).toHaveProperty('mcpVersion');
|
||||
expect(data).toHaveProperty('versionCheck');
|
||||
expect(data).toHaveProperty('performance');
|
||||
expect(data).toHaveProperty('nextSteps');
|
||||
|
||||
// Status should be a string (e.g., "ok", "healthy")
|
||||
if (data.status) {
|
||||
@@ -48,6 +51,22 @@ describe('Integration: handleHealthCheck', () => {
|
||||
// MCP version should be defined
|
||||
expect(data.mcpVersion).toBeDefined();
|
||||
expect(typeof data.mcpVersion).toBe('string');
|
||||
|
||||
// Version check should be present
|
||||
expect(data.versionCheck).toBeDefined();
|
||||
expect(data.versionCheck).toHaveProperty('current');
|
||||
expect(data.versionCheck).toHaveProperty('upToDate');
|
||||
expect(typeof data.versionCheck.upToDate).toBe('boolean');
|
||||
|
||||
// Performance metrics should be present
|
||||
expect(data.performance).toBeDefined();
|
||||
expect(data.performance).toHaveProperty('responseTimeMs');
|
||||
expect(typeof data.performance.responseTimeMs).toBe('number');
|
||||
expect(data.performance.responseTimeMs).toBeGreaterThan(0);
|
||||
|
||||
// Next steps should be present
|
||||
expect(data.nextSteps).toBeDefined();
|
||||
expect(Array.isArray(data.nextSteps)).toBe(true);
|
||||
});
|
||||
|
||||
it('should include feature availability information', async () => {
|
||||
|
||||
Reference in New Issue
Block a user