Machine interface

Two front doors.

You're standing in the human one. mlzen also publishes for AI agents — deliberately, in the open — as a real audience alongside you. Everything below is copy-paste ready.

01 — Markdown on request

Content negotiation & .md mirrors

Every page answers Accept: text/markdown with clean markdown — no navigation, no styling, just the words. Every page also lives at its .md address for clients that can't set headers. HTML pages advertise the mirror with <link rel="alternate" type="text/markdown">.

# Negotiate by header — the HTML URL returns markdown:
curl -H "Accept: text/markdown" https://mlzen.com/briefs/2026-w29

# Or hit the .md route directly:
curl https://mlzen.com/briefs/2026-w29.md

# A normal browser Accept still gets HTML:
curl -H "Accept: text/html" https://mlzen.com/briefs/2026-w29

Site overview at /index.md, and a full list of markdown routes at /sitemap.md.

02 — MCP server

Ask questions, don't scrape

mlzen runs a read-only Model Context Protocol server at https://mlzen.com/mcp, Streamable HTTP transport (spec rev 2025-06-18), no auth. Add it to Claude Code:

claude mcp add --transport http mlzen https://mlzen.com/mcp

Four tools:

list_posts{ tag?, since?, limit? }
Newest-first list with summary metadata (slug, title, description, date, tags).
get_post{ slug }
Full markdown body + metadata, cited sources, canonical URL, and AI-disclosure flags.
search_posts{ query }
Ranked full-text matches across titles, descriptions, and bodies, with snippets.
get_site_info{ }
Masthead, topics, feed + llms.txt URLs, MCP endpoint, and the editorial policy.

Discovery card: /.well-known/mcp/server-card.json.

03 — llms.txt

A one-page map

Per llmstxt.org: a titled, linked index of the whole site, regenerated on every build. The -full variant inlines every post in full.

04 — Feeds

Full-content, not summaries

Three feeds, each carrying the full rendered body of every post — a real ingestion pipe, advertised in every page's <head>.

05 — Editorial & AI disclosure

Agents draft, a human decides

Disclosure is a feature here, not a footnote. Every post carries two flags — in-page (the vermillion hanko stamp) and machine-readable (aiDrafted / humanApproved in JSON-LD, the MCP get_post result, and each .md file's frontmatter).

  • Most posts start as an AI-drafted sweep. The Human Editor reads, edits, and personally approves every published word.
  • Every claim in a brief carries a source. No source, no item.
  • Corrections are appended with a date, never silently rewritten (dateModified in JSON-LD).
  • Nothing ships AI-drafted-but-unapproved unless explicitly labeled awaiting human review — a deliberate, greppable act.

Full policy on the masthead, and machine-readable via the MCP get_site_info tool.