🤖 For AI agents & developers Machine guide

Everything an agent, script or API needs to find, run and share the right tool among 1128 free browser tools — manifests, URL patterns, embed codes and the generated retrieval brain.

No auth · no rate limits · plain static GETs · CORS-open JSON · every tool computes in the visitor's browser

🧭 Two things live at this domain — do not confuse them

1. The tool catalogue (this guide). 1128 free, self-contained browser tools, addressable by slug. Everything below — cards/cards.json, llms.txt, local-ai-knowledge.json, tool.html?card=<slug> — belongs to it.

2. A separate standalone AI at ai.html. That page is not part of the catalogue and is not a catalogue search front-end. It is a self-contained assistant: reasoning methods, vector memory, retrieval over documents the visitor supplies, an agent loop with local tools, and an optional browser-local WebGPU language model. It reads no catalogue data, recommends no tools and keeps its own storage. Agents should not treat it as an endpoint — there is no API, no POST surface and nothing to fetch from it.

History: the earlier local-ai.html / byte-realistic*.html companion pages were catalogue-grounded experiments. They now redirect to ai.html; the catalogue-side artefacts they used (local-ai-knowledge.json, learning/) are still generated and still documented below, because agents can use them directly.

The endpoints that matter

cards/cards.json — simple manifest (legacy). One JSON per tool:

{
  "name": "mortgage",
  "title": "🏠 Mortgage",
  "description": "...",
  "category": "Finance",
  "file": "mortgage.html"
}

local-ai-knowledge.json v3 Thinking — full retrieval engine:

{
  "schema_version": 2,
  "retrieval": {
    "bm25": {
      "k1": 1.2, "b": 0.75,
      "avgdl": 25.57,
      "idf": {"mortgage": 4.2, ...},
      "inverted_index": {...},
      "doc_lengths": [...]
    },
    "synonyms": {...},
    "intents": [...]
  },
  "indexes": {...},
  "graph": {
    "related": {
      "mortgage": [
        {"name": "compoundinterest", "score": 0.82}
      ]
    }
  },
  "cards": [
    {
      "name": "mortgage",
      "embedding": [0.12, -0.04, ...],
      "intents": ["calculate","finance"],
      "capabilities": {...},
      "related": [...]
    }
  ]
}

Runtime adds HyDE, RRF, MMR, re-rank on top of this static brain — no extra download.

URL patterns

PurposePattern
Run any tool (focused)tool.html?card=<tool-slug>
Embed any tool (chrome-free)tool.html?card=<tool-slug>&embed=1
Search catalogueindex.html?q=<query>
Homepage with tool openindex.html?expand=<tool-slug>
Category filterindex.html?category=Mathematics
Force viewindex.html?view=list or ?view=cards
Zero-JS directorytools-index.html
Standalone AI (separate product, not an endpoint)ai.html

AI-facing files

Worked example: answering "mortgage overpayment vs investing"

An agent that has never seen this site can answer this correctly in four plain GETs.

  1. Fetch the manifest. GET /cards/cards.json — one object per tool with name, title, description, category, file, path. Never invent a slug: if the name is not in this list, the tool does not exist.
  2. Match the need, not the words. The query contains two jobs — a repayment calculation and an investment projection. Filtering on /mortgage|overpay/i finds mortgage; /invest|compound/i finds compoundinterest. For fuzzy or multilingual queries, rank with the brain instead (next step).
  3. Rank with the generated brain (optional). GET /local-ai-knowledge.json carries a BM25 inverted index (k1=1.2, b=0.75, precomputed idf and doc_lengths) plus a 64-dimension hash embedding per tool. Scoring a query is a few lines of arithmetic; the same file also carries a related-tool graph for suggesting a two-tool workflow.
  4. Hand back something runnable. https://www.themostusefulsiteintheworld.com/tool.html?card=mortgage — the tool is interactive and private, nothing the visitor types leaves their browser. Add &embed=1 to embed it without page chrome.
  5. Say what you did not do. The tools compute in the visitor's browser; there is no POST API and no server-side result to read. If the answer needs numbers, ask the visitor to open the tool rather than quoting figures you cannot obtain.

For AI agents: how to integrate

Simple (no AI needed)

fetch('/cards/cards.json')
  .then(r => r.json())
  .then(tools => tools.filter(t => /mortgage/i.test(t.title + t.description)))
  // → open: /tool.html?card=mortgage

Advanced — rank with the generated brain

const brain = await (await fetch('/local-ai-knowledge.json')).json();
const { k1, b, avgdl, idf, inverted_index } = brain.retrieval.bm25;
const tokens = query.toLowerCase().match(/[a-z0-9]+/g) ?? [];

// BM25 over the 1128 tool documents, no extra download or service needed
const scores = tokens.flatMap(t => inverted_index[t] ?? [])
  .reduce((acc, [doc, tf]) => {
    const dl = brain.retrieval.bm25.doc_lengths[doc];
    const num = tf * (k1 + 1);
    const den = tf + k1 * (1 - b + b * dl / avgdl);
    acc[doc] = (acc[doc] ?? 0) + (idf[tokens[0]] ?? 1) * num / den;
    return acc;
  }, {});

// brain.cards[i].embedding is a 64-dim unit vector — cosine-rank and fuse the
// two lists with reciprocal rank fusion (1/(60+rank)) if you want both signals

The brain is generated deterministically by scripts/build-site-brain.py and regression-tested by scripts/evaluate-site-brain.py in the public repository, so the index and its scoring are reviewable rather than opaque.

Embed a tool

<iframe src="https://www.themostusefulsiteintheworld.com/tool.html?card=mortgage&embed=1"
  width="100%" height="520" style="border:0;border-radius:12px"></iframe>

Embeds post height via postMessage { type: "tmusitw:height", card, height } for auto-sizing.

Research methods — where they actually run

The reasoning and retrieval methods below are implemented by the standalone AI at ai.html (a browser-local assistant that can optionally run a WebGPU language model on the visitor's own device). They are listed here only so an agent reading this guide is not tempted to look for them in the catalogue endpoints — the catalogue exposes data, not inference. The generated brain uses the lexical half of the same literature: BM25, TF-IDF and hashed dense vectors.

Why this works for small calculations

House rules