magzdown-mcp
The server renders markdown as a typeset, paginated Magzdown URL you can share as a link instead of raw markdown.
Call
open_in_magzdown({ markdown, title? })to create the document link.The returned link opens as a typeset, paginated document; present it as a markdown link.
titleis optional and used as the link text.Set
MAGZDOWN_AUTO_OPEN=1to also open the link in your browser automatically.The document is encoded entirely in the URL, so nothing is uploaded and anyone with the link can read it.
Keep markdown under about 100 KB and avoid encoding secrets, personal data, or confidential material.
Magzdown agent tools
Your agent writes a report. Instead of dumping markdown in the chat, it hands you a link that opens as a typeset, paginated document. This repo has three ways to teach an agent that: a Claude Code skill, a Cursor rule, and an MCP server.

Install
Claude Code skill
git clone https://github.com/xarl3z/magzdown-agent-tools
mkdir -p ~/.claude/skills
cp -r magzdown-agent-tools/skills/magzdown ~/.claude/skills/magzdownPer project instead: copy to .claude/skills/magzdown/ inside the repo. Then ask Claude to "open this in magzdown" or "make this report readable".
Cursor rule
mkdir -p .cursor/rules
cp magzdown-agent-tools/cursor/magzdown.mdc .cursor/rules/The rule is alwaysApply: false; Cursor picks it up from its description when you ask to share or present a document.
MCP server
cd magzdown-agent-tools/mcp
npm install && npm run build
claude mcp add magzdown -- node "$PWD/dist/index.js"Cursor and Claude Desktop config is in mcp/README.md. The tool is open_in_magzdown({ markdown, title? }) and returns the link. Set MAGZDOWN_AUTO_OPEN=1 to also open it in your browser.
Related MCP server: Document Generator MCP
How the URL works
The markdown is the URL. Two bytes (0x01 0x00) go in front of the UTF-8 text, the payload is base64-encoded, made URL-safe (+ to -, / to _, padding stripped) and placed after https://www.magzdown.com/open?md=. The reader decodes it in the browser; nothing is uploaded and no account is needed. Keep documents under about 100 KB or the URL may get truncated. The full spec with a test vector is in shared/encode.md and at https://www.magzdown.com/docs.
Links
License
MIT. Not affiliated with Anthropic, OpenAI or Cursor.
Available Tools
1 toolopen_in_magzdownA
Render markdown as a typeset, paginated document at a Magzdown URL. Returns the link; hand it to the user as a markdown link instead of pasting the raw markdown. The document is encoded in the URL, nothing is uploaded, so the link is the document: anyone holding it can read the content. Ask the user before creating a link, and do not encode secrets, personal data, or material marked confidential. Keep markdown under about 100 KB.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Optional title, used as the link text in the response. | |
| markdown | Yes | The markdown document to render. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden and does so thoroughly. It discloses that nothing is uploaded, the link itself is the document, anyone holding it can read it, and it imposes clear privacy/safety constraints: ask first, no secrets, no personal data, no confidential material, and a ~100 KB limit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place. The description front-loads the core action, then adds output handling, privacy implications, consent requirements, and size constraints with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two simple parameters and no output schema, the description is complete enough: it covers input, output behavior, confidentiality, user consent, and a practical size limit. An agent can confidently decide when and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds valuable context beyond the schema by stating the markdown size limit and clarifying the output link behavior, though it does not deeply elaborate on the title parameter beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Render markdown as a typeset, paginated document at a Magzdown URL' and clarifies the output is a link. It clearly distinguishes what the tool does even without sibling tools to compare against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent how to present the result ('hand it to the user as a markdown link instead of pasting the raw markdown'), when to ask the user for permission, and what content should never be encoded. There are no sibling tools, so an alternative-selection rule is not needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
open_in_magzdown
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of confusing it with another tool. Its purpose is singular and clearly defined.
With a single tool, the naming is inherently consistent. The name open_in_magzdown clearly indicates an action and a target context.
A single tool is borderline for a server; it is focused but minimal. It may be sufficient for a very narrow purpose, but it feels thin compared to typical MCP servers.
The tool fully covers the apparent core purpose of rendering markdown to a Magzdown link. There is no explicit need for additional operations, though some validation or configuration options could be considered minor gaps.
Maintenance
Related MCP Connectors
Turn HTML or Markdown into a clean, styled PDF and get a download link.
Publish markdown documents as public share links with mermaid diagram support. Built by AutEng.ai
Publish markdown documents as public share links with mermaid diagrams. Built by AutEng.ai
Share markdown as public links from your AI assistant — expiring or permanent, no API key.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to generate professional PDF documents from markdown content with advanced typography, syntax highlighting, math equations, dark mode, and customizable styling options.MIT
- AlicenseBqualityDmaintenanceEnables AI agents to generate professional Word and PDF documents with support for Markdown, syntax highlighting, and smart pagination. It features automatic JSON detection and responsive A4 formatting for creating high-quality technical reports and manuals.2192 npm8MIT
- FlicenseNot gradedqualityDmaintenanceConverts Markdown files and raw content into professionally styled PDFs with full support for Mermaid diagrams and syntax highlighting. It offers customizable page formats, margins, and modern typography for high-quality document generation.11-
- AlicenseAqualityBmaintenanceTurn markdown into designed PDFs with cover page, table of contents, and code blocks that hold across pages. One command from Claude Desktop, Claude Code, Cursor, Cline, Zed, or any MCP-capable client.232 npm1MIT