MDAN MDAN Docs
Site

HTTP Content Negotiation

MDAN uses HTTP content negotiation so the same app can serve both humans and agents from the same page and action definitions.

The core rule is simple:

Accept: text/markdown

returns Markdown.

Accept: text/html

returns HTML.

Why This Exists

Agents need Markdown.
Browsers need HTML.

MDAN does not want two separate application surfaces for that, so it returns the same underlying result in the form each caller needs.

Typical Requests

When an agent reads a page or invokes an action, it usually sends:

Accept: text/markdown

When a browser visits a page or submits an interaction, it usually sends:

Accept: text/html

For writes, the body still uses Markdown:

Content-Type: text/markdown

The important point is simple:

What changes is the returned form, not the application itself.

That is why an agent can talk directly to the same web app with native HTTP tools like curl, without needing a headless browser.

Why This Matters

The biggest value here is that you do not have to split one app into two systems.

That keeps the app simpler and less likely to drift over time.