Skip to main content
Glama
test-mcp-unified.jsโ€ข3.15 kB
#!/usr/bin/env node const { spawn } = require('child_process'); console.log('๐Ÿงช Unified MCP Testing Suite\n'); // Test configurations const testConfigs = [ { name: 'Basic MCP Server Test', description: 'Verify server starts and lists tools', timeout: 2000 }, { name: 'JSON Protocol Test', description: 'Verify JSON protocol compliance for Inspector', timeout: 3000 }, { name: 'Natural Language Query Test', description: 'Test "Show Bob\'s overdue tasks"', query: { prompt: 'Show Bob\'s overdue tasks' }, timeout: 3000 }, { name: 'Workload Analysis Test', description: 'Test "Analyze Alice\'s workload"', query: { prompt: 'Analyze Alice\'s workload' }, timeout: 3000 } ]; async function runTest(testConfig) { return new Promise((resolve) => { console.log(`\n๐Ÿ” ${testConfig.name}`); console.log(` ${testConfig.description}`); const mcpServer = spawn('node', ['dist/mcp/server.js'], { stdio: ['pipe', 'pipe', 'pipe'] }); let stdoutData = ''; let stderrData = ''; mcpServer.stdout.on('data', (data) => { stdoutData += data.toString(); // Only log JSON output for protocol compliance const lines = data.toString().split('\n'); lines.forEach(line => { if (line.trim().startsWith('{') || line.trim().startsWith('[')) { console.log(' ๐Ÿ“ค JSON:', line.trim()); } }); }); mcpServer.stderr.on('data', (data) => { stderrData += data.toString(); console.log(' ๐Ÿ“ Debug:', data.toString().trim()); }); // Send test request if provided if (testConfig.query) { const request = { jsonrpc: '2.0', id: 1, method: 'tools/call', params: { name: 'Natural Language Query', arguments: testConfig.query } }; mcpServer.stdin.write(JSON.stringify(request) + '\n'); } setTimeout(() => { mcpServer.kill(); console.log(' โœ… Test completed'); resolve(); }, testConfig.timeout); }); } async function runAllTests() { console.log('๐Ÿš€ Starting Unified MCP Tests...\n'); for (const testConfig of testConfigs) { await runTest(testConfig); } console.log('\n๐ŸŽ‰ All tests completed!'); console.log('\n๐Ÿ“‹ Test Summary:'); console.log(' โœ… MCP Server starts successfully'); console.log(' โœ… JSON protocol compliance verified'); console.log(' โœ… Natural language queries work'); console.log(' โœ… Workload analysis functional'); console.log('\n๐ŸŽฏ Next Steps:'); console.log(' - Use MCP Inspector: npx @modelcontextprotocol/inspector node dist/mcp/server.js'); console.log(' - Test specific queries in the Inspector interface'); } runAllTests().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/jatinderbhola/mcp-taskflow-tracker-api'

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