Connect your agent
Coding agents and chat assistants can use the free tools without a browser: through an MCP server, a JSON API or a skill. No key and no sign-up. Every answer comes with a link to a page on this site that shows the same result.
MCP server
https://aiappsthatwork.com/mcp: Streamable HTTP, no login, 8 read-only tools.
Claude Code
Run this in a terminal. Add --scope user to have it in every project.
claude mcp add --transport http ai-apps-that-work https://aiappsthatwork.com/mcp
Cursor
Add this to ~/.cursor/mcp.json for every project, or to .cursor/mcp.json in one project.
{
"mcpServers": {
"ai-apps-that-work": {
"url": "https://aiappsthatwork.com/mcp"
}
}
}Claude on the web and desktop
Open Customize, then Connectors (Settings, then Connectors, in some versions), add a custom connector, paste this URL and leave the advanced settings empty. Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under Organization settings, then Connectors.
https://aiappsthatwork.com/mcp
ChatGPT
Turn on developer mode (Settings, then Apps, then Advanced settings), then create an app with this URL and no authentication. Developer mode isn't available on every plan.
https://aiappsthatwork.com/mcp
The tools
- Real cost per AI result (
real_cost_per_result): Prices the AI steps behind one request from current list prices (LLM tokens, images, video seconds or a fixed amount) and returns the cost per request, the real cost per result that worked first time (cost per request divided by the worked-first-time share), the monthly spend wasted on results that didn't work, and credit-pricing numbers: margin per result and the credits per request needed to break even or reach a target margin. - Model switch cost (
model_switch_cost): Compares two priced LLMs on six common task shapes (support answer, invoice extraction, lead scoring, email draft, translation, search re-ranking). Returns list prices, cost per 1,000 requests on each model, the cost ratio, the break-even (how often the new model's results must work first time, relative to the current one, to cost no more per result that works) and the current model's announced shutdown. - AI model prices (
model_prices): Looks up list prices for LLMs (USD per million input, output and cached input tokens, and context size), image models (USD per image by quality and size) and video models (USD per second by resolution), with each price's source page, the date prices were checked and any announced API shutdown. - AI model shutdown dates (
model_shutdowns): Lists announced API shutdown dates for AI models from OpenAI, Anthropic, Google and other providers, with days left, the suggested replacement, the source page, and links to a cost comparison and a side-by-side test of the replacement where this site has them. - Prompt or model A/B test sample size (
ab_test_sample_size): Returns how many results each version of a prompt or model needs before a difference in how often results work first time is statistically real (two-proportion z-test, two-sided), the total across both versions, and how many days that takes at a given daily volume. - LLM judge agreement (
judge_agreement): Compares a person's verdicts with an AI judge's verdicts on the same results. Returns the agreement rate, Cohen's kappa with confidence intervals, precision and recall per verdict, the agreement of a judge that always gives the most common verdict, a trust verdict (kappa 0.6 or more with at least 80% recall on every verdict; 0.4 to 0.6 is borderline; under 30 results is too few) and the rows where the two disagree. - Judge prompt builder (
build_judge_prompt): Builds a pass/fail LLM-as-a-judge prompt for one kind of AI step (make, answer, transform, extract, judge, find, predict, plan, act or learn). Returns the prompt with {{input}} and {{result}} placeholders, numbered pass conditions (the block's starter conditions unless you send your own), up to 3 pass and 3 fail examples interleaved, and a JSON or XML answer format. - AI launch checklist (
launch_checklist): The 20 AI-specific launch checks for an AI app (spending caps, rate limits, server-side keys, credit charging, version tags, records of which results worked first time, real cost per result, switching models safely). Returns the checks not yet done, each with why it matters and a request for a coding agent, plus one combined request.
JSON API
Each tool is a POST with a JSON body. The response holds the numbers and a permalink to a page with the same result. Every input and output field is described in openapi.json.
Real cost per AI result: POST /api/tools/real-cost-per-ai-result
curl -s https://aiappsthatwork.com/api/tools/real-cost-per-ai-result -H 'content-type: application/json' -d '{"steps":[{"kind":"llm","model":"google/gemini-3.8-flash","inputTokens":4000,"outputTokens":800,"note":"Reads the invoice into fields"},{"kind":"llm","model":"anthropic/claude-haiku-5.5","inputTokens":1500,"outputTokens":100,"note":"Checks the totals"}],"workedFirstTimePct":75,"requestsPerMonth":20000}'Model switch cost: POST /api/tools/model-switch-cost
curl -s https://aiappsthatwork.com/api/tools/model-switch-cost -H 'content-type: application/json' -d '{"from":"openai/gpt-4o","to":"openai/gpt-6-luna"}'AI model prices: POST /api/tools/model-prices
curl -s https://aiappsthatwork.com/api/tools/model-prices -H 'content-type: application/json' -d '{"query":"claude","kind":"llm"}'AI model shutdown dates: POST /api/tools/model-shutdown-calendar
curl -s https://aiappsthatwork.com/api/tools/model-shutdown-calendar -H 'content-type: application/json' -d '{"query":"gpt-4o"}'Prompt or model A/B test sample size: POST /api/tools/prompt-ab-test-sample-size
curl -s https://aiappsthatwork.com/api/tools/prompt-ab-test-sample-size -H 'content-type: application/json' -d '{"baselinePct":60,"targetPct":70,"resultsPerDay":100}'LLM judge agreement: POST /api/tools/llm-judge-agreement
curl -s https://aiappsthatwork.com/api/tools/llm-judge-agreement -H 'content-type: application/json' -d '{"rows":[{"human":"worked","judge":"pass"},{"human":"worked","judge":"fail","note":"Correct two-line answer the judge called too short"},{"human":"didn'\''t work","judge":"pass","note":"Quoted a 30-day refund window; the policy is 14 days"},{"human":"didn'\''t work","judge":"fail"}]}'Judge prompt builder: POST /api/tools/judge-prompt-builder
curl -s https://aiappsthatwork.com/api/tools/judge-prompt-builder -H 'content-type: application/json' -d '{"block":"extract","featureDescription":"An invoice reader for a bookkeeping app. It fills in supplier, invoice number, date, line items, VAT and total."}'AI launch checklist: POST /api/tools/ai-launch-checklist
curl -s https://aiappsthatwork.com/api/tools/ai-launch-checklist -H 'content-type: application/json' -d '{"done":["spend-cap","server-keys"]}'Skill
A SKILL.md that describes every tool and its curl call, for Claude Code and other agents that read skills. Install it for Claude Code with the command below, or download the folder as a zip for apps that take uploaded skills.
mkdir -p ~/.claude/skills/ai-apps-that-work-tools && curl -fsSL https://aiappsthatwork.com/skill/SKILL.md -o ~/.claude/skills/ai-apps-that-work-tools/SKILL.md
Download ai-apps-that-work-tools.zip or read SKILL.md.
What happens to what you send
- The API and the MCP server receive what you send, compute the answer and throw the input away. Nothing is stored.
- For each call we log the kind of agent (from its user agent), the path and the tool name. Never your address, your inputs or the answer.
- Each address can make 120 calls a minute.
- The tools on this site's pages still run in your browser and send nothing.
More in the privacy notes.
Also for agents
- openapi.json: the API's input and output schemas
- models.json: every model price and announced shutdown, with sources
- llms.txt: a short index of the site
- Markdown pages: add .md to any page's URL, or send Accept: text/markdown