flatwrite.md
A minimalist markdown editor with live preview, paged document layout, and one-click export to HTML, PDF, or shareable URL.
First seen 2026-08-17 · Last seen 2026-08-17 · Source: webmcp.com
Answer 3 · Act 9 · Transact 0 · Score: Not yet scored
Tool inspector
render_markdown
Render markdown into FlatWrite-styled HTML and fragments, with optional typography and page-layout controls. Provide either the raw markdown inline (`markdown`) or an allowlisted URL (`markdownUrl`) pointing to raw markdown content. Use this when you need the rendered HTML artifacts.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
markdown |
string | no | Raw markdown content to render. |
markdownUrl |
string | no | URL pointing to raw markdown content. Must be on an allowlisted host (raw.githubusercontent.com, raw.gitlab.com, bitbucket.org), http(s) only, and <=1 MB. Host validation is enforced server-side. |
font |
string | no | Font family — must be a bundled family. |
appFramework |
string | no | UI framework applied when surfaceMode="app". |
size |
— | no | Font size as a scale token (e.g. "-1", "0", "1"). |
weight |
— | no | Font weight as a scale token (e.g. "-1", "0"). |
line |
— | no | Line height as a scale token (e.g. "-1", "0", "1"). |
uiZoom |
number | no | UI zoom level (1.0 = default; >1 zooms in, <1 zooms out). |
pageSize |
string | no | Page size for paged output. Only effective when docEngine is pagedjs or vivliostyle. |
orientation |
string | no | Page orientation. |
marginsLR |
string | no | Left/right page margin preset. Only effective when docEngine is pagedjs or vivliostyle. |
marginsTB |
string | no | Top/bottom page margin preset. Only effective when docEngine is pagedjs or vivliostyle. |
footer |
boolean | no | Include a page-number footer in paged output. |
width |
number | no | Content width in pixels (400..1400). Only effective when docEngine="none". |
docEngine |
string | no | Document engine — "none" emits plain CSS; "pagedjs"/"vivliostyle" wrap the output in @page rules. |
surfaceMode |
string | no | Surface mode hint. "app" unlocks the appFramework picker; otherwise this is metadata only. |
theme |
string | no | Theme identifier rendered as body[data-theme="..."] so consumer CSS can theme via attribute selectors. Free-form (alphanumeric, dash, underscore) — common values are "light" and "dark". |
Raw JSON schema
{
"type": "object",
"properties": {
"markdown": {
"type": "string",
"description": "Raw markdown content to render."
},
"markdownUrl": {
"type": "string",
"description": "URL pointing to raw markdown content. Must be on an allowlisted host (raw.githubusercontent.com, raw.gitlab.com, bitbucket.org), http(s) only, and <=1 MB. Host validation is enforced server-side."
},
"font": {
"type": "string",
"description": "Font family — must be a bundled family.",
"enum": [
"Inter",
"JetBrains Mono",
"Lato",
"Lora",
"Merriweather",
"Playfair Display",
"Comfortaa",
"Unbounded"
]
},
"appFramework": {
"type": "string",
"description": "UI framework applied when surfaceMode=\"app\".",
"enum": [
"spectre",
"poshui",
"pico",
"milligram",
"chota"
]
},
"size": {
"oneOf": [
{
"type": "string",
"description": "Scale token (e.g. \"-1\", \"0\", \"1\")"
},
{
"type": "number",
"description": "Absolute pixel value (8..72)"
}
],
"description": "Font size as a scale token (e.g. \"-1\", \"0\", \"1\").",
"minimum": 8,
"maximum": 72
},
"weight": {
"oneOf": [
{
"type": "string",
"description": "Scale token (e.g. \"-1\", \"0\")"
},
{
"type": "number",
"description": "Absolute weight (100..900, multiples of 100)"
}
],
"description": "Font weight as a scale token (e.g. \"-1\", \"0\").",
"minimum": 100,
"maximum": 900
},
"line": {
"oneOf": [
{
"type": "string",
"description": "Scale token (e.g. \"-1\", \"0\", \"1\")"
},
{
"type": "number",
"description": "Absolute multiplier (0.8..4.0)"
}
],
"description": "Line height as a scale token (e.g. \"-1\", \"0\", \"1\").",
"minimum": 0.8,
"maximum": 4
},
"uiZoom": {
"type": "number",
"description": "UI zoom level (1.0 = default; >1 zooms in, <1 zooms out).",
"minimum": 0.25,
"maximum": 4
},
"pageSize": {
"type": "string",
"description": "Page size for paged output. Only effective when docEngine is pagedjs or vivliostyle.",
"enum": [
"A0",
"A1",
"A2",
"A3",
"A4",
"A5",
"Letter",
"Legal"
]
},
"orientation": {
"type": "string",
"description": "Page orientation.",
"enum": [
"portrait",
"landscape"
]
},
"marginsLR": {
"type": "string",
"description": "Left/right page margin preset. Only effective when docEngine is pagedjs or vivliostyle.",
"enum": [
"narrow",
"normal",
"wide"
]
},
"marginsTB": {
"type": "string",
"description": "Top/bottom page margin preset. Only effective when docEngine is pagedjs or vivliostyle.",
"enum": [
"narrow",
"normal",
"wide"
]
},
"footer": {
"type": "boolean",
"description": "Include a page-number footer in paged output."
},
"width": {
"type": "number",
"description": "Content width in pixels (400..1400). Only effective when docEngine=\"none\".",
"minimum": 400,
"maximum": 1400
},
"docEngine": {
"type": "string",
"description": "Document engine — \"none\" emits plain CSS; \"pagedjs\"/\"vivliostyle\" wrap the output in @page rules.",
"enum": [
"none",
"pagedjs",
"vivliostyle"
]
},
"surfaceMode": {
"type": "string",
"description": "Surface mode hint. \"app\" unlocks the appFramework picker; otherwise this is metadata only.",
"enum": [
"doc",
"app"
]
},
"theme": {
"type": "string",
"description": "Theme identifier rendered as body[data-theme=\"...\"] so consumer CSS can theme via attribute selectors. Free-form (alphanumeric, dash, underscore) — common values are \"light\" and \"dark\"."
}
},
"required": [],
"oneOf": [
{
"required": [
"markdown"
]
},
{
"required": [
"markdownUrl"
]
}
]
}
Similar websites
toban.app
Free duty-roster maker for building cleaning, lunch, and daily-monitor rotation charts in the browser — no signup, print-quality output. WebMCP tools let an age…
farahsolutions.ae
Farah Solutions helps UAE businesses master Corporate Tax, ICV certification, e-invoicing, and government procurement. Powered by Farah Suite.
marketingmanagerjobs.com
Daily-refreshed job board for marketing manager roles — growth, product marketing, demand gen, brand, SEO, and marketing leadership — with real salary data and …
nektronic.com.ar
Remote PC technical service with online diagnostics for computer repair and support (Argentina).