Skip to main content
Glama

LogAnalyzer MCP Server

validate.js2.84 kB
#!/usr/bin/env node // Simple validation script to test core functionality import { LogUtils } from './dist/src/utils.js'; console.log('🧪 LogAnalyzer Validation Test'); console.log('==============================\n'); // Test sample log data const sampleLog = ` 2024-01-23 10:30:15 INFO: Starting application... 2024-01-23 10:30:16 INFO: Connecting to database... 2024-01-23 10:30:17 ERROR: Database connection failed java.sql.SQLException: Connection is not available, request timed out after 30000ms. at org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:154) at com.app.service.DatabaseService.connect(DatabaseService.java:45) at com.app.controller.UserController.getUser(UserController.java:78) 2024-01-23 10:30:18 FATAL: Application shutting down due to critical error `; const jsonLog = ` {"timestamp":"2024-01-23T10:30:15Z","level":"error","message":"Authentication failed","user_id":"12345"} {"timestamp":"2024-01-23T10:30:16Z","level":"fatal","message":"Redis connection lost","error_code":"ECONNREFUSED"} `; try { console.log('📝 Testing Log Format Detection...'); const plainFormat = LogUtils.detectLogFormat(sampleLog); const jsonFormat = LogUtils.detectLogFormat(jsonLog); console.log(` Plain log format: ${plainFormat}`); console.log(` JSON log format: ${jsonFormat}`); console.log(' ✅ Format detection working\n'); console.log('🚨 Testing Error Pattern Extraction...'); const errors = LogUtils.extractErrorPatterns(sampleLog); console.log(` Found ${errors.length} error patterns`); if (errors.length > 0) { console.log(` First error: "${errors[0].substring(0, 80)}..."`); } console.log(' ✅ Error extraction working\n'); console.log('📚 Testing Stack Trace Extraction...'); const stackTraces = LogUtils.extractStackTraces(sampleLog); console.log(` Found ${stackTraces.length} stack trace lines`); if (stackTraces.length > 0) { console.log(` First trace: "${stackTraces[0]}"`); } console.log(' ✅ Stack trace extraction working\n'); console.log('✂️ Testing Content Truncation...'); const longContent = 'A'.repeat(50000); const truncated = LogUtils.truncateContent(longContent, 1000); console.log(` Original: ${longContent.length} chars`); console.log(` Truncated: ${truncated.length} chars`); console.log(' ✅ Content truncation working\n'); console.log('🎉 All core utilities are working correctly!'); console.log('\n💡 Next steps:'); console.log(' 1. Set GEMINI_API_KEY environment variable for AI analysis'); console.log(' 2. Test MCP server: npm run serve'); console.log(' 3. Test CLI analysis: npm run analyze -- <logfile>'); console.log(' 4. Run full test suite: npm test'); } catch (error) { console.error('❌ Validation failed:', error); process.exit(1); }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ChiragPatankar/loganalyzer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server