Files
n8n-mcp/dist/mcp/server.d.ts
Romuald Członkowski cdaa29e7a2 fix: memory leak in session removal - close MCP server properly (#471) (#472)
- Add close() method to N8NDocumentationMCPServer that:
  - Calls server.close() (MCP SDK cleanup)
  - Clears internal cache
  - Nullifies service references to help GC
- Update removeSession() to call server.close() before releasing references

Root cause: removeSession() deleted server from map but didn't call cleanup
Evidence: Production server memory grew ~1GB in 43 minutes (10% to 35%)

Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Romuald Członkowski <romualdczlonkowski@MacBook-Pro-Romuald.local>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-05 18:30:51 +01:00

80 lines
2.5 KiB
TypeScript

import { InstanceContext } from '../types/instance-context';
import { EarlyErrorLogger } from '../telemetry/early-error-logger';
export declare class N8NDocumentationMCPServer {
private server;
private db;
private repository;
private templateService;
private initialized;
private cache;
private clientInfo;
private instanceContext?;
private previousTool;
private previousToolTimestamp;
private earlyLogger;
private disabledToolsCache;
constructor(instanceContext?: InstanceContext, earlyLogger?: EarlyErrorLogger);
close(): Promise<void>;
private initializeDatabase;
private initializeInMemorySchema;
private parseSQLStatements;
private ensureInitialized;
private dbHealthChecked;
private validateDatabaseHealth;
private getDisabledTools;
private setupHandlers;
private sanitizeValidationResult;
private validateToolParams;
private validateToolParamsBasic;
private validateExtractedArgs;
private listNodes;
private getNodeInfo;
private searchNodes;
private searchNodesFTS;
private searchNodesFuzzy;
private calculateFuzzyScore;
private getEditDistance;
private searchNodesLIKE;
private calculateRelevance;
private calculateRelevanceScore;
private rankSearchResults;
private listAITools;
private getNodeDocumentation;
private getDatabaseStatistics;
private getNodeEssentials;
private getNode;
private handleInfoMode;
private handleVersionMode;
private getVersionSummary;
private getVersionHistory;
private compareVersions;
private getBreakingChanges;
private getMigrations;
private enrichPropertyWithTypeInfo;
private enrichPropertiesWithTypeInfo;
private searchNodeProperties;
private getPropertyValue;
private listTasks;
private validateNodeConfig;
private getPropertyDependencies;
private getNodeAsToolInfo;
private getOutputDescriptions;
private getCommonAIToolUseCases;
private getAIToolExamples;
private validateNodeMinimal;
private getToolsDocumentation;
connect(transport: any): Promise<void>;
private listTemplates;
private listNodeTemplates;
private getTemplate;
private searchTemplates;
private getTemplatesForTask;
private searchTemplatesByMetadata;
private getTaskDescription;
private validateWorkflow;
private validateWorkflowConnections;
private validateWorkflowExpressions;
run(): Promise<void>;
shutdown(): Promise<void>;
}
//# sourceMappingURL=server.d.ts.map