Skip to main content
Glama
verification-test.js4.57 kB
#!/usr/bin/env node import { spawn } from 'child_process'; import { fileURLToPath } from 'url'; import { dirname, join } from 'path'; import { promises as fs } from 'fs'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); console.log("🔍 MCP Software Engineer - Verification Test"); console.log("==========================================\n"); // Start the MCP server const serverPath = join(__dirname, 'dist', 'index.js'); const server = spawn('node', [serverPath]); let responseBuffer = ''; let serverReady = false; server.stdout.on('data', (data) => { responseBuffer += data.toString(); // Process complete JSON-RPC responses const lines = responseBuffer.split('\n'); for (let i = 0; i < lines.length - 1; i++) { const line = lines[i].trim(); if (line) { try { const response = JSON.parse(line); if (response.result && response.id === 1) { // List tools response console.log(`✅ Total tools available: ${response.result.tools.length}`); console.log("\n📋 Tool Categories:"); const categories = { filesystem: [], database: [], webdev: [], backend: [], devops: [], testing: [], git: [], other: [] }; response.result.tools.forEach(tool => { if (['create_project', 'read_file', 'write_file', 'create_directory', 'list_files', 'search_files'].includes(tool.name)) { categories.filesystem.push(tool.name); } else if (['init_database', 'create_migration', 'run_migrations', 'generate_model', 'seed_database', 'backup_database', 'query_database'].includes(tool.name)) { categories.database.push(tool.name); } else if (['create_component', 'setup_styling', 'create_page', 'setup_routing', 'setup_state_management', 'setup_forms', 'optimize_bundle'].includes(tool.name)) { categories.webdev.push(tool.name); } else if (['create_api_endpoint', 'setup_authentication', 'setup_logging', 'test_api'].includes(tool.name)) { categories.backend.push(tool.name); } else if (['create_dockerfile', 'setup_ci_cd', 'manage_containers'].includes(tool.name)) { categories.devops.push(tool.name); } else if (['setup_testing', 'create_test', 'run_tests', 'security_scan'].includes(tool.name)) { categories.testing.push(tool.name); } else if (['init_repository', 'create_branch', 'commit_changes', 'setup_hooks'].includes(tool.name)) { categories.git.push(tool.name); } else { categories.other.push(tool.name); } }); console.log(`\n📁 File System (${categories.filesystem.length}): ${categories.filesystem.join(', ')}`); console.log(`💾 Database (${categories.database.length}): ${categories.database.join(', ')}`); console.log(`🎨 Web Dev (${categories.webdev.length}): ${categories.webdev.join(', ')}`); console.log(`⚙️ Backend (${categories.backend.length}): ${categories.backend.join(', ')}`); console.log(`🐳 DevOps (${categories.devops.length}): ${categories.devops.join(', ')}`); console.log(`🧪 Testing (${categories.testing.length}): ${categories.testing.join(', ')}`); console.log(`🔧 Git (${categories.git.length}): ${categories.git.join(', ')}`); console.log(`🚀 Other (${categories.other.length}): ${categories.other.join(', ')}`); console.log("\n✅ All tools are properly loaded and categorized!"); console.log("✅ MCP Software Engineer is fully functional!"); server.kill(); process.exit(0); } } catch (e) { // Not a complete JSON response yet } } } responseBuffer = lines[lines.length - 1]; }); server.stderr.on('data', (data) => { const output = data.toString().trim(); if (output.includes('Total tools loaded: 39')) { serverReady = true; // Request list of tools const request = JSON.stringify({ jsonrpc: '2.0', method: 'tools/list', params: {}, id: 1 }) + '\n'; server.stdin.write(request); } }); // Timeout setTimeout(() => { console.error('❌ Test timed out'); server.kill(); process.exit(1); }, 10000); server.on('exit', (code) => { console.log(`\nServer exited with code ${code}`); });

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/Rajawatrajat/mcp-software-engineer'

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