MDAN MDAN Docs
Site

MDAN

One page for humans and agents.

MDAN (Markdown Action Notation) is a shared notation for interactive pages that stay readable and actionable for both humans and agents, from the same source, across any interface.

Same page. Same actions. Same experience.

That means one app can serve browsers and agents without splitting the interaction model across Markdown, prompts, JSON APIs, and UI glue.

What MDAN Is

MDAN treats the page itself as the unit of application behavior.

In one page source, you can keep:

That makes MDAN a good fit for agent apps, skills apps, internal tools, and page-shaped applications with ongoing multi-step interaction.

@mdanai/sdk is the current TypeScript reference implementation for this format and its host behavior.

What Problem It Solves

When the same app needs to serve both agents and people, the architecture often drifts apart fast:

MDAN brings that back into one readable application surface. As a result:

When To Use MDAN

MDAN is a strong fit when:

When Not To Use MDAN

MDAN is probably not the right fit when:

How It Works

At a high level, MDAN works in three steps:

  1. The page source uses Markdown to describe content and operations.
  2. After an interaction happens, the server returns an updated Markdown fragment.
  3. The agent or browser continues from that result.

For agents, the response is usually Markdown.
For browsers, the response is usually HTML.

That is:

What changes is the returned form, not the underlying app.

Docs Guide

Start

Core Concepts

Build With MDAN

Spec

SDK Reference

  1. Getting Started
  2. What is MDAN?
  3. Understanding MDAN
  4. HTTP Content Negotiation
  5. Direct Agent Consumption
  6. Developer Paths
  7. Application Structure
  8. Spec v1
  9. SDK Overview