test-mcp-http.js•2.85 kB
// Test script to verify MCP HTTP endpoint
import axios from 'axios';
async function testMCP() {
const baseUrl = 'http://localhost:5002';
let sessionId = null;
try {
console.log(`Testing MCP server at ${baseUrl}`);
// 1. Test server availability
console.log('\n1. Testing server availability...');
const pingResponse = await axios.get(baseUrl);
console.log('Server response:', pingResponse.status, pingResponse.statusText);
// 2. Initialize a new session
console.log('\n2. Initializing new MCP session...');
const initResponse = await axios.post(
`${baseUrl}/mcp`,
{
jsonrpc: '2.0',
method: 'mcp.initialize',
params: {
capabilities: {}
},
id: 1
},
{
headers: {
'Content-Type': 'application/json',
},
// Get raw response to see headers
transformResponse: (res) => res,
// Increase timeout
timeout: 10000
}
);
// Log raw response for debugging
console.log('Raw response:', JSON.stringify({
status: initResponse.status,
statusText: initResponse.statusText,
headers: initResponse.headers,
data: initResponse.data
}, null, 2));
// Extract session ID from headers
sessionId = initResponse.headers['mcp-session-id'];
if (!sessionId) {
console.error('No session ID in response headers. Available headers:', Object.keys(initResponse.headers));
} else {
console.log('Session established. Session ID:', sessionId);
}
// Parse response data
let responseData;
try {
responseData = typeof initResponse.data === 'string'
? JSON.parse(initResponse.data)
: initResponse.data;
} catch (e) {
console.error('Failed to parse response as JSON:', initResponse.data);
return;
}
console.log('Response data:', JSON.stringify(responseData, null, 2));
} catch (error) {
console.error('\n❌ Error testing MCP server:');
if (error.response) {
// The request was made and the server responded with a status code
// that falls out of the range of 2xx
console.error('Status:', error.response.status);
console.error('Headers:', error.response.headers);
console.error('Data:', error.response.data);
} else if (error.request) {
// The request was made but no response was received
console.error('No response received. Is the MCP server running?');
console.error('Request:', error.config);
} else {
// Something happened in setting up the request that triggered an Error
console.error('Error:', error.message);
}
console.error('\n💡 Make sure the MCP server is running and accessible at', baseUrl);
process.exit(1);
}
}
// Run the test
testMCP();