mcp-codesentry
Version:
CodeSentry MCP - AI-powered code review assistant with 5 specialized review tools for security, best practices, and comprehensive code analysis
52 lines • 1.77 kB
JavaScript
/**
* Software Architect MCP Server
* Main entry point for the Model Context Protocol server
*/
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { MCPServer } from './core/server.js';
import { logger } from './utils/logger.js';
import dotenv from 'dotenv';
// Load environment variables
dotenv.config();
async function main() {
try {
// Validate required environment variables
if (!process.env.GEMINI_API_KEY) {
throw new Error('GEMINI_API_KEY environment variable is required');
}
// Create server instance with configuration
const mcpServer = new MCPServer({
name: 'software-architect-mcp',
version: '0.1.0',
gemini: {
apiKey: process.env.GEMINI_API_KEY,
proModel: process.env.GEMINI_PRO_MODEL || 'gemini-1.5-pro-latest',
flashModel: process.env.GEMINI_FLASH_MODEL || 'gemini-1.5-flash-latest'
}
});
// Create stdio transport
const transport = new StdioServerTransport();
// Start the server
await mcpServer.start(transport);
logger.info('Software Architect MCP server started successfully');
}
catch (error) {
logger.error('Failed to start server', error);
process.exit(1);
}
}
// Handle graceful shutdown
process.on('SIGINT', () => {
logger.info('Received SIGINT, shutting down gracefully');
process.exit(0);
});
process.on('SIGTERM', () => {
logger.info('Received SIGTERM, shutting down gracefully');
process.exit(0);
});
main().catch((error) => {
logger.error('Unhandled error in main', error);
process.exit(1);
});
//# sourceMappingURL=index.js.map