Show HN: QAmcp – Automated test runner for MCP servers in your terminal QAmcp released qamcp-cli, a Node.js 20+ command-line test runner that connects to Model Context Protocol (MCP) servers the way an AI app does and reports pass/fail results in plain language, with no AI judging and nothing sent anywhere except the server under test. In a demo against a deliberately broken local MCP server, QAmcp flagged hidden instructions that would cap the score at 40, a leaked database password in a stack trace, a 3-second slow tool, missing descriptions and hangs, while skipping data-changing tools such as delete_account and team_digest entirely. Testing Context7's public server (v4.4.1, MCP version 2026-07-28) with QAmcp 0.1.0 produced a score of 100/100 across 10 checks, with 852 ms to connect, 261 ms to list tools and 1.1 s average tool response. QAmcp tests MCP servers for the people who build them: it connects like an AI app does and tells you, in plain words, what's broken. Every result is a hard fact pass or fail, milliseconds, exact matches . No AI judges anything, and nothing is sent anywhere except to the server you test. Website: qamcp.github.io https://qamcp.github.io : how it works, sample reports, and running it on every change. You need Node.js https://nodejs.org 20 or newer. npx qamcp-cli https://your-server.com/mcp test a server on the internet npx qamcp-cli --stdio "npx -y @your-org/your-server" or a server that runs on your computer npx qamcp-cli --help every option Or install it once with npm install -g qamcp-cli , then just type qamcp . npx qamcp-cli --demo This starts an MCP server we broke on purpose, on your computer only, tests it, and writes qamcp-demo-report.html . It takes about 30 seconds. What the demo server hides, and what QAmcp says about it: | Tool | Planted problem | QAmcp finds | |---|---|---| | fetch notes | A hidden instruction telling the AI to read your SSH key | ❌ Hidden instructions on their own, they would cap the score at 40 | | search users | A bad input shows a stack trace and a database password; slow 3 s ; an input with no description | ❌ Secret leaked, | | slow report | No description, and it never answers | ❌ No description, ❌ no answer, ❌ hangs on bad input | | fetch notes | Accepts any input without complaint | | | strict lookup | Refuses bad input properly, but with HTTP 400 | | | delete account , team digest , get or create user | Change data, with no safety label | Not run, ever; | | list projects | No label, but only reads | Not run in safe mode; runs with --owner | | get weather | Nothing: the healthy control | ✅ Works | If you find a broken server QAmcp misses, tell us https://github.com/QAmcp/qamcp-cli/issues . Real output from testing Context7 https://context7.com 's public server with QAmcp 0.1.0: QAmcp report for https://mcp.context7.com/mcp Server: Context7 v4.4.1 MCP version: 2026-07-28 streamable-http SCORE: 100/100 Tested 10 of 10 checks · ran 2 of 2 tools Privacy: nothing was sent anywhere except to the server being tested and its login server, if it needed a login . QAmcp has no tracking. ✅ Connects — All good ✅ Ready for the newest MCP version — All good ✅ Lists its tools — All good ✅ Every tool is described — All good ✅ Tools are labeled safe or dangerous — All good ✅ No hidden instructions — All good ✅ Tools work with good inputs — All good ✅ Bad inputs give a clean error — All good ✅ Fast enough — All good ✅ Connecting took 852 ms ✅ Listing tools took 261 ms ✅ Average tool answer: 1.1 s ✅ No secrets leaked — All good ✅ Checked 5 error messages: no secrets or internal details | Check | What it looks at | |---|---| | Connects | Current and older MCP connection types, or a program on your computer stdio | | Ready for the newest MCP version | On the July 2026 version? Still on the old SSE connection? | | Lists its tools | Duplicate or invalid names, a broken tool that stops AI apps loading the server | | Every tool is described | Missing or vague descriptions, undescribed inputs, look-alike tools | | Tools are labeled safe or dangerous | Safety labels, and labels the tool itself contradicts | | No hidden instructions | Known tricks in descriptions: