Test results as JSON and feeds
Every hands-on result we publish, machine-readable. Static files, no key, CORS open. 201 tested items right now (65 MCP servers, 125 skills, 11 AI tools).
Endpoints
/api/v1/results.json: all tested items: slug, type, name, URL, per-client pass/fail, date tested, client version and the install config our harness ran./api/v1/<type>/<slug>.json: one item plus its earlier runs.typeismcp,skillortool. Example:/api/v1/mcp/agent-browser.json./feed.xml(RSS) and/feed.json(JSON Feed): the 50 most recently tested or retested items./api/v1/openapi.json: OpenAPI 3.1 description.
What the fields mean
clients is keyed by client id (claude-code = Claude Code, cursor = Cursor, claude-desktop = Claude Desktop, codex = ChatGPT (Codex); AI tools use free-plan). result is passed, failed, partial (task not run yet) or inconclusive (harness problem, not a verdict). Skills are run in Claude Code and Cursor only. See how we test.
License
ToolPassed test results are free to reuse under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Please credit ToolPassed with a link back to https://toolpassed.com/ (or to the item's page).
curl -s https://toolpassed.com/api/v1/results.json | jq '.items[] | select(.passed_in | index("cursor")) | .name'