// Test script for the MCP server
import { spawn } from 'child_process';
// Test request object
const testRequest = {
name: 'logic-action',
parameters: {
system: 'propositional',
operation: 'validate',
input: 'P and Q',
format: 'natural'
}
};
console.log('Starting MCP server test...');
// Start the MCP server
const mcpServer = spawn('node', ['--max-old-space-size=4096', '--expose-gc', '--max-semi-space-size=64', './dist/index.js'], {
cwd: process.cwd(),
stdio: ['pipe', 'pipe', 'pipe']
});
// Handle server output
mcpServer.stdout.on('data', (data) => {
const responses = data.toString().split('\n');
responses.forEach(response => {
if (response.trim()) {
try {
const parsed = JSON.parse(response);
console.log('Server Response:', JSON.stringify(parsed, null, 2));
} catch (e) {
console.log('Raw Response:', response);
}
}
});
});
// Handle server errors
mcpServer.stderr.on('data', (data) => {
console.error('Server Error:', data.toString());
});
// Send test request after a short delay
setTimeout(() => {
console.log('Sending test request:', JSON.stringify(testRequest, null, 2));
mcpServer.stdin.write(JSON.stringify(testRequest) + '\n');
// Close after 2 seconds
setTimeout(() => {
console.log('Shutting down test...');
mcpServer.kill('SIGINT');
process.exit(0);
}, 2000);
}, 500);
// Handle process termination
mcpServer.on('close', (code) => {
console.log(`MCP server exited with code ${code}`);
});