WebMCP

This site implements the Web Model Context API, so an AI agent in the browser can call tools instead of scraping the rendered page. Everything is generated at build time and served as static files. There is no server and no key.

The tools

Registered on every page of the site. Individual pages can add their own on top, as the insolvency ledger below does.

ToolWhat it does
search_siteKeyword search across posts, projects, art and pages
list_postsPosts newest first, with paging
get_postFull markdown of one post by slug
list_projectsPlayground projects, optionally filtered by tag
list_artArt pieces
get_current_pageTitle, headings, links and text of the page on screen
get_contact_optionsBooking link, LinkedIn, X, GitHub, shop, llms.txt

Using it without WebMCP

The tools need a browser that exposes document.modelContext. If yours does not, the same data is plain JSON over HTTP and needs no client at all:

Everything is read-only. All tools are annotated readOnlyHint, and the ones returning ledger prose or page text carry untrustedContentHint, since that text comes from news sources rather than from me.

Datasets: the insolvency ledger

Germany bites the dust is a running ledger of 65 named German company insolvencies since February 2025, 36,645 jobs between them, each with a published headcount and a linked source. Four tools query it, and the whole dataset is one file:

These four are scoped to that page. WebMCP is per-document, so an agent reading a blog post should not be offered four tools about German insolvencies: they register on /projects/german-insolvencies and nowhere else. An agent elsewhere finds the dataset in the datasets array of the manifest, which carries the data URL, and can either fetch that file directly or navigate to the page and pick up the tools.

/webmcp/insolvencies.json

ToolWhat it doesArguments
insolvency_summary Totals and breakdowns: cases, jobs, how many have stopped trading, and the split by sector, state and month. Start here. None
list_insolvencies The cases themselves, newest first, paged. Filter by sector, state, date range, minimum headcount, or whether the business has stopped. sector, state, since, until, minEmployees, ceasedTrading, sortBy, limit, offset
get_insolvency The full record for one company, including the narrative detail, what the headcount counts, and the source link. company
insolvency_trend The national monthly series from the IWH-Insolvenztrend: filings and jobs affected across all German partnerships and corporations. None

What the data does and does not claim