mdlang

Playground

Write the action here.
Take the file with you.

Nothing is uploaded. The builder runs entirely in this tab and the draft stays in your browser.

Action file format
create-user.md

Identity

The name becomes the filename, the client's method name, and the key your code calls it by.

Instruction

The Markdown body. This is what the agent is actually told to do.

Arguments

What the caller passes in. Validated before the model runs, so a bad call costs nothing.

  • 01
  • 02
  • 03

Output

The shape you get back. Declare the fields and the generated client types them; leave them out and it's Record<string, unknown>.

  • 01
  • 02

Tools

The only tools this action may reach. Anything not listed here doesn't exist as far as the run is concerned.

  • 01
hashPasswordsendEmail

Tool names aren’t checked here — generate connects to each MCP server and verifies them against your config.

Nothing to flag. Everything generate can check without your project checks out.

Next

The file is the deliverable

What you export is an ordinary mdlang action. Three commands stand between it and a typed client you can call — and they run in this order.

  1. npx mdlang init

    Writes the config and the system prompt an action needs to run. Once per project.

  2. mv ~/Downloads/create-user.md actions/

    The exported file is an ordinary action. Nothing here is a format of its own.

  3. npx mdlang generate

    Reads the frontmatter and emits a typed client. The argument names you picked here become the call signature, and tool names are verified against each MCP server.

The file lives in your repo and is reviewed like any other source file. See the action file format for every field it can carry.

Exported a file? Wire it up.