UNPKG

mcp-cisco-support

Version:

MCP server for Cisco Support APIs including Bug Search and future tools

55 lines 2.26 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js"); const mcp_server_js_1 = require("./mcp-server.js"); const sse_server_js_1 = require("./sse-server.js"); const fs_1 = require("fs"); const path_1 = require("path"); // Get version from package.json const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../package.json'), 'utf8')); const VERSION = packageJson.version; // Determine mode from command line arguments const isHttpMode = process.argv.includes('--http') || process.argv.includes('--sse'); const isStdioMode = !isHttpMode; // Configure logging based on mode (0, mcp_server_js_1.setLogging)(!isStdioMode); // Main function async function main() { const args = process.argv.slice(2); const isHTTP = args.includes('--http') || args.includes('--sse'); if (isHTTP) { // Run as SSE HTTP server const PORT = process.env.PORT || 3000; const sseServer = (0, sse_server_js_1.createSSEServer)(mcp_server_js_1.mcpServer); // Graceful shutdown handling const cleanup = () => { mcp_server_js_1.logger.info('Shutting down gracefully'); process.exit(0); }; process.on('SIGTERM', cleanup); process.on('SIGINT', cleanup); sseServer.listen(PORT, () => { mcp_server_js_1.logger.info(`Cisco Support MCP SSE Server started on port ${PORT}`, { environment: process.env.NODE_ENV || 'development', version: VERSION, mode: 'sse-http' }); }); } else { // Run as MCP server over stdio (default) mcp_server_js_1.logger.info('Starting Cisco Support MCP Server in stdio mode'); const transport = new stdio_js_1.StdioServerTransport(); await mcp_server_js_1.mcpServer.connect(transport); mcp_server_js_1.logger.info('Cisco Support MCP Server connected via stdio'); } } // Run if called directly if (require.main === module) { main().catch((error) => { mcp_server_js_1.logger.error('Failed to start server', error); process.exit(1); }); } //# sourceMappingURL=index.js.map