Skip to main content
Glama
direct-mcp-test.cjs2.87 kB
#!/usr/bin/env node // Direct test of MCP server functionality by importing and testing server methods const { UmbrellaMcpServer } = require('./dist/server.js'); async function testMCPServerDirectly() { console.log(`🧪 DIRECT MCP SERVER TEST - SAOLA ACCOUNT`); console.log(`👤 Testing: david+saola@umbrellacost.com`); console.log(`📝 Verifying all questions.test answers through MCP server`); console.log('═'.repeat(80)); try { // Create server instance const server = new UmbrellaMcpServer('https://api.umbrellacost.io/api/v1'); console.log('🔧 MCP Server instance created'); // Since we can't access private methods directly, let's test through the public interface // We need to create a mock request handler to test the functionality // Questions from questions.test const tests = [ { question: "what is my total cost?", expectedTool: "api__invoices_caui", params: { startDate: '2025-08-11', endDate: '2025-08-17', groupBy: 'service', periodGranLevel: 'day', costType: ['cost', 'discount'], isUnblended: true, accountId: '532523076083' } }, { question: "show me all available accounts", expectedTool: "api__users", params: {} }, { question: "what do you recommend to do for saving AWS costs?", expectedTool: "api__recommendations_report", params: {} }, { question: "Is there any anomalies on AWS?", expectedTool: "api__anomaly_detection", params: { startDate: '2025-08-11', endDate: '2025-08-17' } } ]; console.log('\n🔐 Authentication Required'); console.log('⚠️ This test requires the MCP server to be running and connected via Claude Desktop'); console.log('🎯 The server is configured with the following endpoint fixes:'); console.log(' - api__recommendations_report → V2 API with commonParams header'); console.log(' - Authentication supports both Keycloak and Cognito'); console.log(' - Cost APIs include required parameters (groupBy, periodGranLevel)'); console.log('\n📋 TEST SUMMARY FOR CLAUDE DESKTOP:'); console.log('═'.repeat(50)); tests.forEach((test, i) => { console.log(`\n${i + 1}. "${test.question}"`); console.log(` 🔧 Tool: ${test.expectedTool}`); if (Object.keys(test.params).length > 0) { console.log(` 📋 Params: ${JSON.stringify(test.params)}`); } }); console.log('\n✅ TO TEST: Start MCP server and authenticate in Claude Desktop, then run each question'); } catch (error) { console.error(`❌ Server setup failed:`, error.message); } } testMCPServerDirectly().catch(console.error);

Latest Blog Posts

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/daviddraiumbrella/invoice-monitoring'

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