Skip to main content
Glama

Analytical MCP Server

run_integration_examples.js4.42 kB
/** * Integration Examples Test Suite * * This script runs all the integration examples to demonstrate the * combined power of the analytical tools. */ import dotenv from 'dotenv'; import { researchEnhancedDecisionAnalysis } from './research_enhanced_decision_analysis.js'; import { factCheckedLogicalAnalysis } from './fact_checked_logical_analysis.js'; import { multiPerspectiveProblemSolving } from './multi_perspective_problem_solving.js'; import { dataDrivernMLEvaluation } from './data_driven_ml_evaluation.js'; import { rateLimitManager } from '../build/utils/rate_limit_manager.js'; // Load environment variables dotenv.config(); /** * Print a section header */ function printHeader(text) { const line = "=".repeat(text.length + 10); console.log(`\n${line}`); console.log(`===== ${text} =====`); console.log(`${line}\n`); } /** * Run all integration examples */ async function runAllExamples() { printHeader("ANALYTICAL MCP INTEGRATION EXAMPLES"); console.log("This script demonstrates the integration of multiple analytical tools"); console.log("to solve complex problems with enhanced research capabilities.\n"); // Setup rate limiting if (process.env.EXA_API_KEY) { rateLimitManager.registerApiKeys('exa', [process.env.EXA_API_KEY]); rateLimitManager.configureEndpoint('exa/search', 10, 60 * 1000); rateLimitManager.configureEndpoint('exa/validate', 50, 60 * 60 * 1000); console.log("✅ Configured rate limiting for API usage\n"); } else { console.warn("⚠️ No EXA_API_KEY found in environment. Examples requiring research will fail.\n"); } const examples = [ { name: "Research-Enhanced Decision Analysis", fn: researchEnhancedDecisionAnalysis }, { name: "Fact-Checked Logical Analysis", fn: factCheckedLogicalAnalysis }, { name: "Multi-Perspective Problem Solving", fn: multiPerspectiveProblemSolving }, { name: "Data-Driven ML Evaluation", fn: dataDrivernMLEvaluation } ]; const results = {}; const failures = []; // Option to run specific examples via command line args const specificExamples = process.argv.slice(2); const exampleFilter = specificExamples.length > 0 ? examples.filter(e => specificExamples.some(arg => e.name.toLowerCase().includes(arg.toLowerCase()))) : examples; if (exampleFilter.length === 0) { console.log("No matching examples found. Available examples:"); examples.forEach(e => console.log(` - ${e.name}`)); process.exit(1); } // Run selected examples for (const example of exampleFilter) { printHeader(example.name); console.log(`Running example: ${example.name}...\n`); const startTime = Date.now(); try { const result = await example.fn(); const duration = ((Date.now() - startTime) / 1000).toFixed(1); results[example.name] = { success: true, duration, result }; console.log(`\n✅ Example completed successfully in ${duration}s`); } catch (error) { const duration = ((Date.now() - startTime) / 1000).toFixed(1); results[example.name] = { success: false, duration, error: error.message }; failures.push(example.name); console.error(`\n❌ Example failed after ${duration}s:`, error.message); } // Add some spacing between examples console.log("\n" + "-".repeat(80) + "\n"); } // Print final summary printHeader("EXECUTION SUMMARY"); console.log(`Total examples run: ${exampleFilter.length}`); console.log(`Successful: ${exampleFilter.length - failures.length}`); console.log(`Failed: ${failures.length}`); if (failures.length > 0) { console.log("\nFailed examples:"); failures.forEach(name => console.log(` - ${name}: ${results[name].error}`)); } // Print execution times console.log("\nExecution times:"); Object.entries(results).forEach(([name, data]) => { console.log(` - ${name}: ${data.duration}s (${data.success ? 'success' : 'failed'})`); }); return results; } // Run all examples if executed directly if (process.argv[1].includes('run_integration_examples.js')) { runAllExamples() .then(() => { console.log("\n✅ All examples processed"); process.exit(0); }) .catch(err => { console.error("\n❌ Execution failed:", err); 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/quanticsoul4772/analytical-mcp'

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