mcp-smoke: a headless CI smoke-tester that catches stdout pollution and broken schemas in MCP servers

siddarthareddy8 · reddit · 2026-09-12

Frustrated by MCP servers that pass manual tests but break in production — worst of all a stray console.log corrupting the JSON-RPC stream — the author built mcp-smoke. Point it at your server's launch command and it runs a real handshake, validates every tool's inputSchema, and calls each tool with schema-generated arguments.

Checks include startup crashes (with stderr tail), stdout pollution, duplicate tool names, missing descriptions, dangling required properties, the empty {"type":"object"} schema that silently sends no arguments, per-tool timeouts/errors, and clean shutdown.

Zero dependencies, headless, CI-friendly exit codes: pip install mcp-smoke then mcp-smoke --cmd "python server.py". MIT, Python 3.9+. Complements mcp-conform (static linting) and Inspector (interactive UI) as the runtime verdict.

Original post →

More from coding & agent

coding & agent channel →