mcp-smoke-test is a zero-dependency Node CLI that checks whether a stdio MCP server can start, answer initialize, and handle one basic follow-up probe.
If you need a fast answer to "does this MCP server actually initialize and interoperate?", this repo is the shortest path.
- Runs over stdio with no runtime dependencies.
- Checks
initialize, sendsnotifications/initialized, and attempts one real probe. - Supports both direct command mode and config-driven mode.
- Ships with a local fake MCP fixture for reproducible tests.
- Starts an MCP server over stdio
- Sends a JSON-RPC
initializerequest - Sends
notifications/initialized - Probes one advertised capability:
tools/list,resources/list, orprompts/list - Exits
0on success and nonzero on failure - Prints either human-readable text or JSON
- Node.js
>=20 - No runtime dependencies
npm install- Social preview: docs/assets/social-preview.png
- Terminal demo: docs/assets/demo-terminal.png
- Animated demo: docs/assets/demo.gif
Run a server command directly.
node bin/mcp-smoke-test.js \
--command node \
--arg test/fixtures/fake-mcp-server.js \
--format textYou can repeat --arg for additional arguments.
Load one named server from a JSON MCP config file.
node bin/mcp-smoke-test.js \
--config examples/mcp.config.json \
--server fake-fixture \
--format jsonThe CLI currently reads server entries from either mcpServers or servers.
{
"mcpServers": {
"fake-fixture": {
"command": "node",
"args": ["../test/fixtures/fake-mcp-server.js"]
}
}
}Text mode example:
Smoke test passed
mode: command
command: node
initialize: ok (fake-mcp-server@1.0.0)
tools/list: ok (1 tool)
JSON mode example:
{
"ok": true,
"mode": "command",
"server": {
"command": "node",
"args": ["test/fixtures/fake-mcp-server.js"]
},
"initialize": {
"serverName": "fake-mcp-server",
"serverVersion": "1.0.0"
},
"probe": {
"attempted": true,
"ok": true,
"method": "tools/list",
"summary": "1 tool"
}
}Run the tests:
npm testmcp-saas-foundryfor a production-minded MCP starter blueprintsafe-mcp-configfor config risk scanning before sharing examplesToolmeshAIfor the broader portfolio around MCP and agent tooling
MIT. See LICENSE.
