markdown-syntax-shaper
Normalize sloppy model-generated Markdown to one house style, leaving code untouched — Rewrites Markdown from a language model into a consistent style and reports each edit by line: restores the space in '##Title', converts '*', '+' and '•' bullets to your chosen marker, strips trailing whitespace (keeping two-space hard breaks), collapses runs of blank lines, puts blank lines around headings and fenced blocks, closes a fence left open at the end, and ends the file with one newline.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"markdown": "<markdown>"
},
"name": "markdown-syntax-shaper"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bullet | No | Marker for unordered lists. Default '-'. | |
| markdown | Yes | Markdown to normalize. | |
| finalNewline | No | End with exactly one newline. Default true. | |
| fixHeadingSpace | No | Restore the space in '##Title'. A lowercase '#tag' at level 1 is treated as a hashtag and left alone. Default true. | |
| closeUnclosedFence | No | Append the closing fence when the document ends inside one. Default true. | |
| collapseBlankLines | No | Collapse runs of blank lines and drop leading and trailing blanks. Default true. | |
| blankLinesAroundBlocks | No | Insert a blank line around headings and top-level fenced blocks. Default true. | |
| stripTrailingWhitespace | No | Default true; a two-space hard break before more paragraph text is kept. |