Skip to main content
Glama
test-mcp-server.cjsโ€ข2.42 kB
#!/usr/bin/env node /** * Test script for the Tududi MCP server */ const { spawn } = require('child_process'); const readline = require('readline'); console.log('๐Ÿงช Testing Tududi MCP Server...\n'); // Start the MCP server const server = spawn('node', ['dist/server.js'], { cwd: __dirname, stdio: ['pipe', 'pipe', 'pipe'], }); let responseBuffer = ''; let requestId = 1; // Handle server output server.stdout.on('data', (data) => { const text = data.toString(); responseBuffer += text; // Try to parse JSON responses const lines = responseBuffer.split('\n'); responseBuffer = lines.pop() || ''; // Keep incomplete line in buffer lines.forEach((line) => { if (line.trim()) { try { const response = JSON.parse(line); console.log('๐Ÿ“ฅ Response:', JSON.stringify(response, null, 2)); } catch (e) { // Not JSON, might be log output if (!line.includes('INFO') && !line.includes('ERROR')) { console.log('๐Ÿ“„ Output:', line); } } } }); }); server.stderr.on('data', (data) => { const text = data.toString(); if (text.includes('INFO')) { console.log('โ„น๏ธ ', text.trim()); } else if (text.includes('ERROR')) { console.error('โŒ', text.trim()); } }); server.on('error', (error) => { console.error('โŒ Failed to start server:', error); process.exit(1); }); // Wait for server to start setTimeout(() => { console.log('\n๐Ÿ“ค Sending test requests...\n'); // Test 1: List tools console.log('Test 1: List available tools'); const listToolsRequest = { jsonrpc: '2.0', id: requestId++, method: 'tools/list', }; server.stdin.write(JSON.stringify(listToolsRequest) + '\n'); // Test 2: List tasks setTimeout(() => { console.log('\nTest 2: List tasks from Tududi'); const listTasksRequest = { jsonrpc: '2.0', id: requestId++, method: 'tools/call', params: { name: 'tududi_list_tasks', arguments: {}, }, }; server.stdin.write(JSON.stringify(listTasksRequest) + '\n'); // Give time for response then exit setTimeout(() => { console.log('\nโœ… Tests complete!'); server.kill(); process.exit(0); }, 3000); }, 2000); }, 2000); // Handle process termination process.on('SIGINT', () => { console.log('\n\nโš ๏ธ Interrupted'); server.kill(); process.exit(0); });

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/jerrytunin/tududi-mcp'

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