inspect-mcp.js•1.82 kB
// Script to inspect the MCP SDK's isInitializeRequest function
import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
// Test different request formats
const testRequests = [
{
name: 'Standard initialize request',
request: {
jsonrpc: '2.0',
method: 'mcp.initialize',
params: {
capabilities: {}
},
id: 1
},
expected: true
},
{
name: 'Request with additional capabilities',
request: {
jsonrpc: '2.0',
method: 'mcp.initialize',
params: {
capabilities: {
tools: {}
}
},
id: 2
},
expected: true
},
{
name: 'Non-initialize request',
request: {
jsonrpc: '2.0',
method: 'mcp.list_tools',
id: 3
},
expected: false
},
{
name: 'Invalid JSON-RPC version',
request: {
jsonrpc: '1.0',
method: 'mcp.initialize',
params: {},
id: 4
},
expected: false
}
];
console.log('Testing isInitializeRequest function...\n');
let allPassed = true;
testRequests.forEach(({ name, request, expected }) => {
const result = isInitializeRequest(request);
const passed = result === expected;
allPassed = allPassed && passed;
console.log(`Test: ${name}`);
console.log(`Input: ${JSON.stringify(request, null, 2)}`);
console.log(`Expected: ${expected}, Got: ${result}`);
console.log(`Status: ${passed ? '✅ PASS' : '❌ FAIL'}`);
console.log('---\n');
});
console.log(`\nOverall test result: ${allPassed ? '✅ ALL TESTS PASSED' : '❌ SOME TESTS FAILED'}`);
// Output the function source code if possible
try {
console.log('\nFunction source code:');
console.log(isInitializeRequest.toString());
} catch (e) {
console.log('\nCould not get function source code (minified or compiled)');
}