snow-flow
Version:
Snow-Flow v3.2.0: Complete ServiceNow Enterprise Suite with 180+ MCP Tools. ATF Testing, Knowledge Management, Service Catalog, Change Management with CAB scheduling, Virtual Agent chatbots with NLU, Performance Analytics KPIs, Flow Designer automation, A
106 lines • 2.66 kB
TypeScript
/**
* MCP Server Manager - Manages background MCP servers for Claude Code integration
*/
import { ChildProcess } from 'child_process';
import { EventEmitter } from 'events';
export interface MCPServer {
name: string;
script: string;
port?: number;
host?: string;
process?: ChildProcess;
pid?: number;
status: 'stopped' | 'starting' | 'running' | 'error';
startedAt?: Date;
lastError?: string;
}
export interface MCPServerConfig {
name: string;
script: string;
port?: number;
host?: string;
autoStart?: boolean;
env?: Record<string, string>;
}
export declare class MCPServerManager extends EventEmitter {
private servers;
private configPath;
private logPath;
constructor(configPath?: string);
/**
* Initialize MCP server manager
*/
initialize(): Promise<void>;
/**
* Load MCP server configuration
*/
loadConfiguration(): Promise<void>;
/**
* Create default MCP server configuration
*/
createDefaultConfiguration(): Promise<void>;
/**
* Save MCP server configuration
*/
saveConfiguration(configs: MCPServerConfig[]): Promise<void>;
/**
* Start a specific MCP server
*/
startServer(name: string): Promise<boolean>;
/**
* Stop a specific MCP server
*/
stopServer(name: string): Promise<boolean>;
/**
* Start all configured MCP servers
*/
startAllServers(): Promise<void>;
/**
* Stop all running MCP servers
*/
stopAllServers(): Promise<void>;
/**
* Get status of a specific server
*/
getServer(name: string): MCPServer | undefined;
/**
* Check if all servers are running
*/
areAllServersRunning(): boolean;
/**
* Get running servers count
*/
getRunningServersCount(): number;
/**
* Add a new server configuration
*/
addServer(config: MCPServerConfig): Promise<void>;
/**
* Remove a server configuration
*/
removeServer(name: string): Promise<void>;
/**
* Get list of all servers (for monitoring/status display)
*/
getServerList(): MCPServer[];
/**
* Get server status by name
*/
getServerStatus(name: string): MCPServer | undefined;
/**
* Get overall system status
*/
getSystemStatus(): {
total: number;
running: number;
stopped: number;
starting: number;
error: number;
health: string;
};
/**
* Cleanup - stop all servers and clean up resources
*/
cleanup(): Promise<void>;
}
//# sourceMappingURL=mcp-server-manager.d.ts.map