Babysitter mcp-inspector-integration
Set up MCP Inspector for debugging and testing MCP servers with request logging, response inspection, and protocol validation.
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/cli-mcp-development/skills/mcp-inspector-integration" ~/.claude/skills/a5c-ai-babysitter-mcp-inspector-integration && rm -rf "$T"
manifest:
library/specializations/cli-mcp-development/skills/mcp-inspector-integration/SKILL.mdsource content
MCP Inspector Integration
Set up MCP Inspector for debugging and testing MCP servers.
Capabilities
- Configure MCP Inspector connection
- Set up request/response logging
- Implement protocol debugging
- Create test scenarios
- Generate inspection reports
- Configure development workflows
Usage
Invoke this skill when you need to:
- Debug MCP server communication
- Test tool and resource handlers
- Inspect protocol messages
- Validate MCP implementation
Inputs
| Parameter | Type | Required | Description |
|---|---|---|---|
| serverPath | string | Yes | Path to MCP server entry |
| transport | string | No | Transport type (stdio, sse) |
| logging | boolean | No | Enable verbose logging |
Generated Patterns
Inspector Configuration
{ "mcpServers": { "my-server": { "command": "node", "args": ["dist/index.js"], "env": { "DEBUG": "mcp:*", "NODE_ENV": "development" } } } }
Debug Wrapper Script
#!/usr/bin/env node import { createServer } from './server'; // Enable debug logging process.env.DEBUG = 'mcp:*'; // Log all stdin/stdout for debugging const originalWrite = process.stdout.write.bind(process.stdout); process.stdout.write = (chunk: any, ...args: any[]) => { if (process.env.MCP_DEBUG_LOG) { const fs = require('fs'); fs.appendFileSync( process.env.MCP_DEBUG_LOG, `[OUT] ${new Date().toISOString()} ${chunk}\n` ); } return originalWrite(chunk, ...args); }; process.stdin.on('data', (chunk) => { if (process.env.MCP_DEBUG_LOG) { const fs = require('fs'); fs.appendFileSync( process.env.MCP_DEBUG_LOG, `[IN] ${new Date().toISOString()} ${chunk}\n` ); } }); // Start server createServer();
NPM Scripts for Development
{ "scripts": { "dev": "tsx watch src/index.ts", "debug": "MCP_DEBUG_LOG=./debug.log tsx src/index.ts", "inspect": "npx @anthropic/mcp-inspector node dist/index.js", "test:mcp": "npx @anthropic/mcp-inspector --test node dist/index.js" } }
Test Scenarios
// tests/mcp-scenarios.ts export const testScenarios = [ { name: 'List Tools', request: { jsonrpc: '2.0', method: 'tools/list', id: 1, }, validate: (response: any) => { return response.result?.tools?.length > 0; }, }, { name: 'Call Tool - search_files', request: { jsonrpc: '2.0', method: 'tools/call', params: { name: 'search_files', arguments: { pattern: '*.ts', path: './src' }, }, id: 2, }, validate: (response: any) => { return !response.error && response.result?.content; }, }, { name: 'List Resources', request: { jsonrpc: '2.0', method: 'resources/list', id: 3, }, validate: (response: any) => { return Array.isArray(response.result?.resources); }, }, ]; // Run test scenarios export async function runScenarios( send: (msg: any) => Promise<any> ): Promise<void> { for (const scenario of testScenarios) { console.log(`Testing: ${scenario.name}`); const response = await send(scenario.request); const passed = scenario.validate(response); console.log(` ${passed ? '✓ PASS' : '✗ FAIL'}`); if (!passed) { console.log(' Response:', JSON.stringify(response, null, 2)); } } }
Workflow
- Install Inspector - Set up MCP Inspector
- Configure connection - Server path and args
- Enable logging - Debug output
- Create scenarios - Test cases
- Run inspection - Debug session
- Generate report - Inspection results
Target Processes
- mcp-server-monitoring-debugging
- mcp-server-testing-suite
- mcp-tool-implementation