Skip to main content
Glama
test-mcp.js2.18 kB
// Simple test for MCP server import { spawn } from 'child_process'; import path from 'path'; import { fileURLToPath } from 'url'; import { dirname } from 'path'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); console.log('Starting MCP server test...'); // Start the MCP server process const serverProcess = spawn('node', [path.join(__dirname, 'dist', 'index.js')]); // Log stderr - this is where all the server logs should go serverProcess.stderr.on('data', (data) => { console.error(`[SERVER LOG]: ${data.toString().trim()}`); }); // Wait for server to start up setTimeout(() => { console.log('Sending request to MCP server...'); // Send a standard MCP request const request = { jsonrpc: '2.0', id: 1, method: 'tools/list', // This is the correct MCP method name params: {} }; const requestJson = JSON.stringify(request); console.log(`Request: ${requestJson}`); serverProcess.stdin.write(requestJson + '\n'); // Collect stdout (this should be JSON-RPC responses) let responseData = ''; serverProcess.stdout.on('data', (data) => { console.log(`Received data: ${data.toString()}`); responseData += data.toString(); try { // Try to parse as JSON to see if we have a complete response const response = JSON.parse(responseData); console.log('Response received:'); console.log(JSON.stringify(response, null, 2)); // Close the server after getting a response setTimeout(() => { console.log('Test complete, shutting down server...'); serverProcess.kill(); process.exit(0); }, 500); } catch (e) { // Not complete JSON yet, keep collecting console.log(`Error parsing JSON: ${e.message}`); } }); }, 1000); // Handle errors serverProcess.on('error', (err) => { console.error('Failed to start server process:', err); }); // Handle process exit serverProcess.on('exit', (code, signal) => { if (code !== null) { console.log(`Server process exited with code ${code}`); } else if (signal !== null) { console.log(`Server process killed with signal ${signal}`); } });

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/pinkpixel-dev/npm-helper-mcp'

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