---
author: Jan Brennenstuhl
canonical_url: https://www.janbrennenstuhl.eu/agents/
description: How software agents can find, read, quote and cite this site, and what the reuse policy is.
id: jb-agents
kind: page
license:
  name: CC BY 4.0
  scope: Original text; credited third-party media retain their own rights.
  url: https://creativecommons.org/licenses/by/4.0/
markdown_url: https://www.janbrennenstuhl.eu/agents/index.md
modified: '2026-10-28T00:00:00+01:00'
published: '2026-10-13T00:00:00+02:00'
review_basis: ''
review_status: not-reviewed
reviewed: ''
series: ''
status: published
title: For agents
topics: []
---

# For agents

How software agents can find, read, quote and cite this site, and what the reuse policy is.


Everything on this site is written for people first, and every page is also available in a form that software can read without parsing HTML.

<a id="where-to-start"></a>
## Where to start

- [`/llms.txt`](https://www.janbrennenstuhl.eu/llms.txt) lists every entry with a one-sentence claim and a link to its Markdown version.
- [`/llms-full.txt`](https://www.janbrennenstuhl.eu/llms-full.txt) is the whole corpus as one Markdown file, newest first.
- Every page has a Markdown twin: add `index.md` to its URL, for example [`/agentic-identity-broker/index.md`](https://www.janbrennenstuhl.eu/agentic-identity-broker/index.md). Requesting a page with `Accept: text/markdown` returns the same twin. Each HTML page links to its twin with `<link rel="alternate" type="text/markdown">`.
- [`/catalog.json`](https://www.janbrennenstuhl.eu/catalog.json) holds IDs, canonical URLs, publication, modification and review dates, topics, license and a content hash for each entry.
- [`/findings.json`](https://www.janbrennenstuhl.eu/findings.json) lists every quotable finding with its anchor URL, the source it rests on and the review status of the page.
- [`/feed.json`](https://www.janbrennenstuhl.eu/feed.json) (JSON Feed 1.1) and [`/index.xml`](https://www.janbrennenstuhl.eu/index.xml) (RSS) carry full content. Each topic has its own feeds, for example [`/topics/passwords/feed.json`](https://www.janbrennenstuhl.eu/topics/passwords/feed.json).
- [`/.well-known/api-catalog`](https://www.janbrennenstuhl.eu/.well-known/api-catalog) (RFC 9727) points to all of the above.

<a id="mcp-server"></a>
## MCP server

A read-only [Model Context Protocol](https://modelcontextprotocol.io/) server runs at `https://mcp.janbrennenstuhl.eu/mcp` (Streamable HTTP, no sign-in). Add it to an MCP client as a remote server. It has four tools:

- `search_site` searches essays, field-guide entries, talks and projects, optionally by type or topic.
- `get_entry` returns the full Markdown of one entry by catalog ID or canonical URL.
- `get_findings` lists quotable findings with their anchor URLs, sources and review status.
- `list_topics` lists the topics with descriptions and entry counts.

It serves the same public files listed above, a few minutes behind a release, and is rate-limited per client.

<a id="citing"></a>
## Citing

Findings and headings have permanent anchors such as `#f-pw-reuse-43-51pct`. Link the canonical HTML URL with the anchor, not the Markdown twin. The catalog's `reviewed` field gives the date of the last review and `review_basis` what it was: `publication` for essays, talks and projects, which the author reviewed when publishing them, or `editorial` for a later review against current sources. Field-guide entries have an empty `reviewed` until their first editorial review. A recent build or modification date does not mean the advice was checked again.

<a id="reuse-policy"></a>
## Reuse policy

Original writing is licensed [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) unless a page says otherwise: quote it, summarize it and link it with attribution. Credited third-party images keep their own rights.

- Search engines and agents fetching pages for a person's question are welcome. [`robots.txt`](https://www.janbrennenstuhl.eu/robots.txt) allows every crawler.
- Training: the CC BY 4.0 license already permits it, so there is no text-and-data-mining reservation. `robots.txt` says so with a `Content-Signal` line and [`/.well-known/tdmrep.json`](https://www.janbrennenstuhl.eu/.well-known/tdmrep.json) declares `tdm-reservation: 0`. Attribution remains the condition: name the author and link the source.

Questions or corrections: see the [imprint](https://www.janbrennenstuhl.eu/imprint/).


---

Cite as: Jan Brennenstuhl. "For agents." Brennenstuhl on Security, 13 October 2026. https://www.janbrennenstuhl.eu/agents/
License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) for the original text; credited third-party media keep their own rights.
