login
quiescence.eu
Skip to content

Connect an assistant

The Model Context Protocol (MCP) is a standard way for AI assistants to use outside tools. Through it, an assistant can look up HumanToll’s data directly: free, read-only, and with no key.

Add https://quiescence.eu/humantoll/mcp to any MCP-compatible assistant as a remote server (Streamable HTTP). No key and no sign-up. Every tool answers with what the API answers — the figure, its range, its scenario, calculation, warnings and sources — and tells the assistant how to quote it.

Where it stands

Figures are published. Each result names the calculation, scenario, method version and data version it reads.

The endpoint

Address
https://quiescence.eu/humantoll/mcp
Transport
Streamable HTTP, POST only — protocol 2026-07-28, and the initialize handshake of 2025-11-25 back to 2024-11-05
Key
None needed. A research key, if you have one, counts your calls per key instead of per internet address.
Registry manifest
https://quiescence.eu/humantoll/mcp/server.json

The address has no trailing slash. Opened in a browser, it is this page; an MCP client that posts to it gets the server.

Connect a client

Claude Code:

claude mcp add --transport http humantoll https://quiescence.eu/humantoll/mcp

Claude (web and desktop): Settings → Connectors → Add custom connector, and paste the address.

A client configured with JSON:

{
    "mcpServers": {
        "humantoll": {
            "type": "http",
            "url": "https://quiescence.eu/humantoll/mcp"
        }
    }
}

Any other client: add a remote server of type Streamable HTTP (sometimes called “http”) with this address, and no authentication.

The six tools

Each tool is one address of the API, answered by the same software: the same figures through the same checks, the same licence rules, the same holding back. Their descriptions are written for the AI model that reads them.

humantoll_product — The human toll of a product

The deaths and injuries statistically attributed to the supply chain of making one product: per unit and per kg on the material route (what its bill of materials traces — a floor), and per €1,000 on the monetary route (its industry's whole supply chain). With the bill of materials, the raw inputs and the scenario switch. Use it for "how many people are harmed making a smartphone / a croissant / a car?". Example: {"slug": "electric-car"} → metrics.deaths.material.per_unit = {value, low, high, confidence}.

Arguments:

  • slug (required) — The product's permanent slug, as in its page's address.
  • scenario — The attribution scenario. The default is the published default (S-MAX).

humantoll_compare — Two products compared

Two products drawn together under one seed: each one's figures, and the interval of their ratio with a verdict — a_larger, b_larger, or not_distinguishable. The verdict holds only when the whole paired interval lies on one side of 1: report not_distinguishable as such and never pick a winner the verdict does not give. Example: {"a": "electric-car", "b": "petrol-car"}.

Arguments:

  • a (required) — The first product's slug.
  • b (required) — The second product's slug.
  • metric — deaths or injuries.
  • scenario — The attribution scenario. The default is the published default (S-MAX).

humantoll_spend — Harm in €X of spending

The harm attributed to €X of EU households' spending in a consumption category (COICOP 2018), each read against all spending together (code 00): clearly above it, clearly below it, or not distinguishable. Categories are grouped, never ranked: most differences between them lie inside the model's uncertainty, so do not rank them either. Example: {"category": "07", "amount": 250} — €250 of spending on transport.

Arguments:

  • category — A COICOP 2018 category code; all of them when absent.
  • amount — Euros spent; every figure and its interval scale with it.
  • scenario — The attribution scenario. The default is the published default (S-MAX).

humantoll_explain — What carries a product's figure

The audit chain of one product's figure: what carries it, by raw material, country, harm channel and conflict on the material route, and by industry on the monetary route. Every breakdown sums to the headline. A share is a central estimate with no interval of its own — the headline carries the interval. The breakdowns are separate views of the same total: never chain them into paths (do not say which country supplied which material). A residue row is harm the run could not place. Example: {"slug": "smartphone", "depth": "summary"}.

Arguments:

  • slug (required) — The product's permanent slug, as in its page's address.
  • depth — summary: one route's breakdowns (by material, country, channel and conflict; or by industry). full: the whole audit trail — both routes, every stage, and the material quantities.
  • metric — deaths or injuries.
  • method — material (the route through the bill of materials) or mrio (per €1,000). Only with depth=summary.
  • scenario — The attribution scenario. The default is the published default (S-MAX).

humantoll_material — A raw material

A raw material in the register: who produces it (the publisher's counts, not the model's), which catalogue products use it, and in a published run which products its harm reaches and the share it carries of each. Example: {"slug": "cobalt"}.

Arguments:

  • slug (required) — The material's permanent slug, as in its page's address.
  • scenario — The attribution scenario. The default is the published default (S-MAX).

What the assistant is told

The daily allowance

Each use of a tool counts as one of the API’s 100 requests a day from one internet address; listing the tools and finding the server count nothing. Each response says how many remain. No internet address is stored.

HumanToll is a research project, not a commercial service. For advanced access, contact us at info@quiescence.eu. info@quiescence.eu

From a browser

AI assistants connect directly and are always answered. A request coming from inside a web page is answered only for websites the operator has listed, as the protocol requires — the API itself is open to every website, if that is what a page needs.

More