#!/usr/bin/env node
// Simple MCP protocol test - sends a ListTools request
import { spawn } from 'child_process';
const server = spawn('node', ['/Users/aponce/va-form-generation-mcp/index.js']);
// MCP protocol initialization
const initRequest = {
jsonrpc: '2.0',
id: 1,
method: 'initialize',
params: {
protocolVersion: '2024-11-05',
capabilities: {},
clientInfo: {
name: 'test-client',
version: '1.0.0'
}
}
};
// ListTools request
const listToolsRequest = {
jsonrpc: '2.0',
id: 2,
method: 'tools/list',
params: {}
};
let output = '';
server.stdout.on('data', (data) => {
output += data.toString();
console.log('Server response:', data.toString());
// After init, send list tools
if (output.includes('"result"') && !output.includes('tools/list')) {
server.stdin.write(JSON.stringify(listToolsRequest) + '\n');
}
});
server.stderr.on('data', (data) => {
console.error('Server stderr:', data.toString());
});
server.on('close', (code) => {
console.log(`Server exited with code ${code}`);
process.exit(code);
});
// Send init request
server.stdin.write(JSON.stringify(initRequest) + '\n');
// Timeout after 5 seconds
setTimeout(() => {
console.log('\nTest completed. Closing server...');
server.kill();
}, 5000);