Skip to main content
Glama

Analytical MCP Server

TROUBLESHOOTING.md6.27 kB
# Troubleshooting Guide ## Common Issues ### Server Connection Issues #### "Server Disabled" in Claude Desktop **Symptoms:** Server shows as disabled or not connecting **Causes:** - JSON parsing errors in server communication - Logging to stdout instead of stderr - Server process crashes on startup **Solutions:** 1. Check server logs: `npm run inspector` 2. Verify environment variables are set 3. Verify Logger class is used for all output (no console statements) 4. Restart Claude Desktop #### JSON Parsing Errors **Symptoms:** "Expected ',' or ']' after array element" errors **Cause:** Server writes non-JSON content to stdout **Solution:** The project uses a centralized Logger class for all output. No direct console statements should be used. ```typescript // ❌ Wrong - corrupts MCP communication console.log('Debug message'); // ✅ Correct - uses Logger system import { Logger } from './utils/logger.js'; const logger = Logger.getInstance(); logger.info('Debug message'); ``` ### Tool Execution Issues #### "Tool not found" Errors **Symptoms:** Claude reports analytical tools are not available **Causes:** - Server not registered - Tool registration failed - Namespace prefix missing **Solutions:** 1. Verify server is in Claude Desktop config 2. Use namespace: `analytical:tool_name` 3. Check server startup logs for registration errors #### Research Features Disabled **Symptoms:** "Research integration is disabled" errors **Causes:** - Missing EXA_API_KEY environment variable - Research features disabled in configuration **Solutions:** 1. Add EXA_API_KEY to .env file 2. Verify API key is valid 3. Check configuration settings ### Development Issues #### TypeScript Compilation Errors **Common Issues:** - Missing type definitions - Import path problems - Interface mismatches **Solutions:** ```bash # Clear TypeScript cache rm -rf build/ npm run build # Check for missing dependencies npm install # Verify TypeScript version npx tsc --version ``` #### Test Failures **Common Issues:** - API keys not configured for tests - Mock data setup problems - Network connectivity issues **Solutions:** ```bash # Run tests with environment npm run test:api-keys # Use test runner ./tools/test-runner.sh integration # Check test configuration cat jest.config.js ``` ### Performance Issues #### Slow Response Times **Symptoms:** Tools take longer than expected to respond **Causes:** - Large dataset processing - External API calls - Cache misses **Solutions:** 1. Enable caching: `ENABLE_RESEARCH_CACHE=true` 2. Reduce dataset size for testing 3. Use appropriate analysis types 4. Monitor server logs for bottlenecks #### Memory Issues **Symptoms:** Server crashes with out-of-memory errors **Causes:** - Large datasets - Memory leaks - Insufficient Node.js heap size **Solutions:** ```bash # Increase Node.js memory limit node --max-old-space-size=4096 build/index.js # Monitor memory usage npm run test:optimized # Use data sampling for large datasets ``` ## Debugging Techniques ### MCP Inspector Use the MCP inspector to debug server communication: ```bash npm run inspector ``` This starts a web interface at `localhost:6277` for testing tools. ### Logging Configuration The project uses a centralized Logger class. Adjust logging levels in `.env`: ```bash LOG_LEVEL=DEBUG NODE_ENV=development ``` ### Logger Usage All code uses the Logger class instead of console statements: ```typescript import { Logger } from './utils/logger.js'; const logger = Logger.getInstance(); logger.info('Information message'); logger.warn('Warning message'); logger.error('Error message'); ``` ### Utility Scripts Utility scripts integrate with Logger: - tools/cache-manager.js: Cache management with Logger - tools/check-api-keys.js: API validation with Logger - All output uses Logger formatting ### Tool Testing Test individual tools: ```bash # Test dataset analysis echo '{"data": [1,2,3], "analysisType": "summary"}' | \ node -e " const { analyzeDataset } = require('./build/tools/analyze_dataset.js'); analyzeDataset([1,2,3], 'summary').then(console.log); " ``` ### Network Debugging For research tools, verify network connectivity: ```bash # Test Exa API connection curl -H "x-api-key: YOUR_EXA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query": "test", "numResults": 1}' \ https://api.exa.ai/search ``` ## Configuration Issues ### Environment Variables Required environment variables: ```bash # Required for research features EXA_API_KEY=your_exa_api_key_here # Optional configuration LOG_LEVEL=INFO NODE_ENV=production ENABLE_RESEARCH_CACHE=true ``` ### Claude Desktop Configuration Verify Claude Desktop configuration: ```json { "mcpServers": { "analytical": { "command": "node", "args": ["--max-old-space-size=4096", "/path/to/analytical-mcp/build/index.js"], "env": { "EXA_API_KEY": "your-exa-api-key" } } } } ``` ## Getting Help ### Log Analysis When reporting issues, include: 1. Server startup logs 2. Error messages from Claude Desktop 3. MCP inspector results 4. Tool execution logs ### Diagnostic Commands ```bash # Check server health npm run build && npm run inspector # Verify environment node -e "console.log(process.env.EXA_API_KEY ? 'API key set' : 'API key missing')" # Test tool registration npm run test:server # Check dependencies npm audit ``` ### Common Log Messages #### Normal Startup ``` [INFO] Logger initialized in production environment [INFO] Registering 9 tools [INFO] All tools registered successfully [INFO] Analytical MCP Server running on stdio ``` #### Problem Indicators ``` [ERROR] Failed to register tool: [tool_name] [WARN] Research integration is disabled [ERROR] JSON parsing error at position... ``` ## Recovery Procedures ### Reset If server is in a broken state: ```bash # Clean rebuild rm -rf build/ node_modules/ npm install npm run build # Reset configuration cp .env.example .env # Edit .env with your settings # Test functionality npm run inspector ``` ### Partial Recovery For specific issues: ```bash # Fix tool registration issues npm run build ./tools/test-runner.sh server # Fix research features # Verify EXA_API_KEY in .env ./tools/test-runner.sh research ```

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/quanticsoul4772/analytical-mcp'

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