Skip to content

API & MCP

Everything published in this guide can be read by an AI agent or a program: the same papers, news, researcher profiles and debate claims, with the same sources and AI-written labels. It is read-only, free, and needs no key or account.

Connect over MCP

The guide runs a Model Context Protocol server. Any MCP client can add it by URL:

https://api.aifaultline.com/mcp

Streamable HTTP transport, stateless, no sign-in.

Claude Code

claude mcp add --transport http ai-fault-line https://api.aifaultline.com/mcp

Claude (claude.ai and the desktop app)

Open Settings, then Connectors, choose Add custom connector, and paste the URL above. Leave the authentication fields empty.

Cursor, Windsurf and other clients that take a URL

{
  "mcpServers": {
    "ai-fault-line": {
      "url": "https://api.aifaultline.com/mcp"
    }
  }
}

VS Code

In .vscode/mcp.json:

{
  "servers": {
    "ai-fault-line": {
      "type": "http",
      "url": "https://api.aifaultline.com/mcp"
    }
  }
}

Clients that only run local servers

Bridge the URL with mcp-remote (needs Node.js):

{
  "mcpServers": {
    "ai-fault-line": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.aifaultline.com/mcp"
      ]
    }
  }
}

Tools

ToolArgumentsReturns
searchquery (required); types: paper, news, author, claim; limit 1–50Full-text search over papers, news and podcasts, researcher profiles and the five claims.
get_paperid (required): a paper key from search, or its site slugBibliographic data, abstract, AI-written summary and explainer when there is one.
get_authorid (required), e.g. daron-acemogluRole, documented-facts-only bio with sources, links, and documented positions with evidence.
list_claimsnoneThe five debate claims with how many coded researchers agree, are mixed or disagree.
get_claimid (required): productivity, jobs, inequality, regulation or paceThe claim, its state-of-the-debate note with sources, and the coded positions.
list_recent_newskind: article or podcast; topic; region (e.g. US, EU); limit 1–50The newest published news articles and podcast episodes.
get_letternoneThe wemustactnow.ai letter: verbatim text and a labeled AI summary.

Results are JSON. A typical session searches first, then fetches the full record with get_paper, get_author or get_claim.

JSON API

The same content over plain HTTP GET, at https://api.aifaultline.com. There is an OpenAPI description, and CORS is open, so it works from a browser too.

EndpointParametersWhat it returns
/api/search?q=…type (paper,news,author,claim), limit, theme, topic, region, kindSearch everything published
/api/paperslimitPublished papers, newest first
/api/papers/{id}—One paper by key or slug
/api/newslimit, kind, topic, regionPublished news and podcast episodes
/api/authors—Every profiled researcher
/api/authors/{id}—One profile with documented positions
/api/claims—The five debate claims with stance counts
/api/claims/{id}—One claim with its note and coded positions
/api/letter—The open letter
/api/status—Record counts and the time of the last sync
/export/—The CSV and JSON downloads: files, record counts, sizes, build time
curl "https://api.aifaultline.com/api/search?q=productivity&type=paper,claim&limit=5"

Calling the MCP server by hand

Each request is one JSON-RPC message in a POST:

curl https://api.aifaultline.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"get_claim","arguments":{"id":"jobs"}}}'

Using what you get

Summaries, explainers, claim notes and researcher bios are AI-written; each record says so in its labels. Researcher positions are documented positions with citations, not characterizations. When you quote the guide, keep the source links, say where text is AI-written, and give stance counts with their denominator (“n of N coded researchers”). The scores used to curate the collection are internal and not exposed.

A plain-text overview for crawlers and language models is at llms.txt. Calls are logged anonymously to see which tools are used (usage statistics). Whole-collection CSV and JSON files are on Download.