test-mcp.js•2.08 kB
#!/usr/bin/env node
// Simple test to verify MCP server responds correctly
import { spawn } from 'child_process';
async function testMCPServer() {
console.log('🧪 Testing MCP Server Communication...');
const server = spawn('node', ['dist/index.js'], {
cwd: '/Users/rkondis/personalwork/mcp-bybit-node',
stdio: ['pipe', 'pipe', 'pipe'],
env: {
...process.env,
ACCESS_KEY: 'DzSAFowGx6eUexreBJ',
SECRET_KEY: 'jTgg4vkXBEYJAljW7kqpNI0QzL1EdhBZCs4x',
DEMO: 'true'
}
});
let output = '';
let errorOutput = '';
server.stdout.on('data', (data) => {
output += data.toString();
});
server.stderr.on('data', (data) => {
errorOutput += data.toString();
console.log('Server stderr:', data.toString());
});
// Send MCP initialize request
const initRequest = {
jsonrpc: '2.0',
id: 1,
method: 'initialize',
params: {
protocolVersion: '2024-11-05',
capabilities: {},
clientInfo: {
name: 'test-client',
version: '1.0.0'
}
}
};
console.log('Sending initialize request...');
server.stdin.write(JSON.stringify(initRequest) + '\n');
// Wait for response
await new Promise(resolve => setTimeout(resolve, 2000));
// Send list tools request
const toolsRequest = {
jsonrpc: '2.0',
id: 2,
method: 'tools/list',
params: {}
};
console.log('Sending tools/list request...');
server.stdin.write(JSON.stringify(toolsRequest) + '\n');
// Wait for response
await new Promise(resolve => setTimeout(resolve, 2000));
server.kill();
console.log('\n📋 Server Output:');
console.log(output);
if (errorOutput) {
console.log('\n❌ Server Errors:');
console.log(errorOutput);
}
// Check if we got valid MCP responses
if (output.includes('"jsonrpc":"2.0"') && output.includes('"result"')) {
console.log('✅ MCP server is responding correctly!');
return true;
} else {
console.log('❌ MCP server not responding correctly');
return false;
}
}
testMCPServer().catch(console.error);