test-mcp-init.js•2.22 kB
// Test script to verify MCP server initialization
import axios from 'axios';
async function testMCPInitialization() {
const baseUrl = 'http://localhost:5002';
try {
console.log(`Testing MCP server initialization at ${baseUrl}/mcp`);
// 1. Send initialization request
const initRequest = {
jsonrpc: '2.0',
method: 'mcp.initialize',
params: {
capabilities: {}
},
id: 1
};
console.log('Sending initialization request:', JSON.stringify(initRequest, null, 2));
const response = await axios.post(
`${baseUrl}/mcp`,
initRequest,
{
headers: {
'Content-Type': 'application/json',
},
// Get raw response to see headers
transformResponse: (res) => res,
// Increase timeout
timeout: 10000
}
);
console.log('\n=== Response ===');
console.log('Status:', response.status, response.statusText);
console.log('Headers:', JSON.stringify(response.headers, null, 2));
// Try to parse response data
let responseData;
try {
responseData = typeof response.data === 'string'
? JSON.parse(response.data)
: response.data;
console.log('Response data:', JSON.stringify(responseData, null, 2));
} catch (e) {
console.log('Raw response data:', response.data);
}
// Check for session ID in headers
const sessionId = response.headers['mcp-session-id'];
if (sessionId) {
console.log('\n✅ Session established. Session ID:', sessionId);
} else {
console.log('\nℹ️ No session ID in response headers');
}
} catch (error) {
console.error('\n❌ Error testing MCP initialization:');
if (error.response) {
console.error('Status:', error.response.status);
console.error('Headers:', error.response.headers);
console.error('Data:', error.response.data);
} else if (error.request) {
console.error('No response received. Is the MCP server running?');
console.error('Request:', error.config);
} else {
console.error('Error:', error.message);
}
process.exit(1);
}
}
// Run the test
testMCPInitialization();