---
title: "MCP server, MailKaro Docs"
description: "mailkaro-mcp lets any AI build, validate, and render email designs by calling MailKaro's own renderer."
---

# MCP server

AI & MCP

# MCP server

`mailkaro-mcp` lets **any** AI build, validate, and render email designs by calling MailKaro's own renderer. It speaks the open [Model Context Protocol](https://modelcontextprotocol.io) over stdio, no SDK, no vendor lock-in, so it works with Claude, Cursor, Windsurf, Zed, VS Code (Continue / Cline), Codex, the Gemini CLI, or your own client. Same server, any model, any IDE.

ℹ The MCP server is authoring-and-rendering only, it never needs an account or API key, and every user (free, pro, AI Pro, enterprise) can use it. It even *explains* the tiers via `list_features`.

## Install

Point your AI host at the server with one config. Both forms are equivalent, pick what your tool expects.

json mcp.json

```
// Published (recommended):
{ "mcpServers": { "mailkaro": { "command": "npx", "args": ["-y", "mailkaro-mcp"] } } }

// From the repo (works today, no publish):
{ "mcpServers": { "mailkaro": {
 "command": "node", "args": ["--experimental-strip-types", "/ABS/PATH/packages/mcp/src/cli.ts"]
} } }
```

- **Claude Desktop**, `claude_desktop_config.json` → `mcpServers`
- **Claude Code**, `claude mcp add mailkaro -- npx -y mailkaro-mcp`
- **Cursor**, `.cursor/mcp.json` → `mcpServers`
- **Windsurf**, `mcp_config.json` → `mcpServers`
- **VS Code** (Continue / Cline), the extension's MCP settings → `mcpServers`
- **Zed**, `settings.json` → `context_servers`
- **Codex / Gemini CLI / custom**, any stdio-MCP config → the same `command` + `args`

## Tools

Every MailKaro capability is a tool, build structure, edit blocks, render, and check quality:

- `list_block_types` / `get_block_schema`, discover the 19 blocks and each block's fields
- `create_design` / `list_starter_templates` / `get_starter_template`, start from blank, sample, or a template
- `add_row` / `add_block` / `update_block` / `remove_block` / `list_blocks`, build and edit the design
- `edit_design`, apply a batch of declarative edit ops (the assistant vocabulary)
- `render_design`, render to html / mjml / amp / text / document / json / zip (+ merge tags)
- `validate_design` / `audit_design`, schema-validate and run pre-send QA
- `list_merge_tags`, the `{{tokens}}` a design references
- `preview_inbox`, simulate Gmail / Outlook / Apple Mail / Yahoo / mobile
- `list_features`, the free / pro / AI Pro / enterprise feature matrix

Plus resources: `mailkaro://blocks`, `mailkaro://layouts`, `mailkaro://templates`, `mailkaro://plans`, `mailkaro://guide`.

## Try it

text

```
> Build a welcome email: a heading "Welcome {{first_name}}", a paragraph, and a
 "Get started" button linking to https://app.example.com. Add an unsubscribe
 link, run the QA audit, and give me the HTML.

The AI calls create_design → add_row → add_block (×3) → audit_design → render_design.
```

Pair it with the [Skill](https://mailkaro.com/docs/skill) so the model knows the design shape and best practices without trial and error.

Source: https://docs.mailkaro.com/mcp
