{
  "version": "1",
  "host": "https://www.janbrennenstuhl.eu",
  "description": "Essays, a field guide and research notes on application security, identity and agent identity. Every capability is read-only and public: no sign-in, no approval, nothing is changed.",
  "documentation": "https://www.janbrennenstuhl.eu/agents/",
  "capabilities": [
    { "id": "site.mcp.search_site", "version": "1.0.0", "description": "Full-text search over essays, field-guide entries, talks, projects, the glossary and the profile page, optionally by kind or topic. Returns titles, canonical URLs and the best matching section.", "invocation": { "type": "mcp", "endpoint": "https://mcp.janbrennenstuhl.eu/mcp", "tool": "search_site" } },
    { "id": "site.mcp.get_entry", "version": "1.0.0", "description": "Full Markdown of one entry with front matter (dates, review status, license), by catalog id such as jb-jwks or canonical URL.", "invocation": { "type": "mcp", "endpoint": "https://mcp.janbrennenstuhl.eu/mcp", "tool": "get_entry" } },
    { "id": "site.mcp.get_findings", "version": "1.0.0", "description": "Quotable findings with their anchor URL, source and review status, filtered by entry id or words.", "invocation": { "type": "mcp", "endpoint": "https://mcp.janbrennenstuhl.eu/mcp", "tool": "get_findings" } },
    { "id": "site.mcp.list_topics", "version": "1.0.0", "description": "The site's six topics with descriptions, URLs and entry counts.", "invocation": { "type": "mcp", "endpoint": "https://mcp.janbrennenstuhl.eu/mcp", "tool": "list_topics" } },
    { "id": "site.http.markdown_twin", "description": "Markdown version of any page: GET its URL plus index.md, or the page URL with Accept: text/markdown.", "invocation": { "type": "http", "method": "GET", "url": "https://www.janbrennenstuhl.eu/{path}index.md" } },
    { "id": "site.http.catalog", "description": "GET /catalog.json: ids, canonical URLs, publication, modification and review dates, topics, license and content hash for every entry.", "invocation": { "type": "http", "method": "GET", "url": "https://www.janbrennenstuhl.eu/catalog.json" } },
    { "id": "site.http.findings", "description": "GET /findings.json: every quotable finding with its anchor URL, source and review status.", "invocation": { "type": "http", "method": "GET", "url": "https://www.janbrennenstuhl.eu/findings.json" } },
    { "id": "site.http.search_index", "description": "GET /search/index.json: the full-text index the MCP search runs on, for searching client-side.", "invocation": { "type": "http", "method": "GET", "url": "https://www.janbrennenstuhl.eu/search/index.json" } }
  ]
}
