mdz-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mdz-mcpoutline this page and read only the install section: https://example.com/docs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mdz — any web page to LLM-ready Markdown
Turn a web page into markdown that an LLM can read. One binary. No account. No API key. Nothing leaves your machine.
Quick start
# one page to markdown on stdout
mdz https://example.com/post
# write it to a file, with a JSON manifest next to it
mdz https://example.com/post --out post.md --json-out post.json
# one .md per section, plus index.json
mdz https://example.com/post --split out
# a whole docs section, two levels deep
mdz https://example.com/docs --crawl 2 --split outmdz --help lists every flag. mdz --version prints the version.
Related MCP server: codearia-sieve
Install
Download one file and make it executable. Pick your platform.
# Linux x64
curl -fsSL https://github.com/pahlevikun/mdz/releases/latest/download/mdz-linux-x64 -o mdz && chmod +x mdz
# macOS, Apple Silicon
curl -fsSL https://github.com/pahlevikun/mdz/releases/latest/download/mdz-darwin-arm64 -o mdz && chmod +x mdz
# macOS, Intel
curl -fsSL https://github.com/pahlevikun/mdz/releases/latest/download/mdz-darwin-x64 -o mdz && chmod +x mdz
# Windows x64
curl -fsSL https://github.com/pahlevikun/mdz/releases/latest/download/mdz-windows-x64.exe -o mdz.exeThen move it onto your PATH:
sudo mv mdz /usr/local/bin/ # Linux and macOSNot on npm. Build from source with bun run build:cli.
Verify the install:
mdz --version
mdz https://example.com | head -20What you get
---
title: Example Domain
url: https://example.com/
domain: example.com
lang: en
words: 25
chars: 156
tokens_o200k: 28
tokens_cl100k: 28
chunks: 1
extractor: defuddle
generator: mdz
---
This domain is for use in documentation examples...Markdown split by heading. Each section becomes a chunk with a stable id like
01-install.Token counts from the real tokenizer, for both
o200kandcl100k. Notlength / 4.YAML frontmatter that Obsidian and Logseq read without changes.
The same extraction in three places: CLI, MCP server, browser extension.
Use it as an agent tool
mdz-mcp speaks MCP over stdio. An agent can read a 40k-token docs page two
sections at a time instead of swallowing it whole.
Tool | What it does |
| section list, chunk ids and their token cost. Call this first |
| one chunk, or the first chunk plus the ids of the rest |
| full manifest: outline tree, chunk metadata, markdown |
| writes one |
|
|
Client config:
{
"mcpServers": {
"mdz": {
"command": "mdz-mcp"
}
}
}The skill that makes it work
Tools alone do not make an agent read in the right order. skills/mdz-read/
does: outline first, then only the chunks the question needs, plus what to do
when a page is blocked or JS-only.
npx skills add pahlevikun/mdz/skills/mdz-readThe repo also ships AGENTS.md, which holds the short form of the
same rules for agents that read a repo root instead of installing skills.
Two limits the tools report themselves rather than hiding:
mdzfetches over HTTP and does not run JavaScript. A page that renders its body client-side comes back empty, andtokens: 0says so.mdz_design_tokenssamples declared CSS, not rendered pixels. A page styled only by external stylesheets returns few colors.
Browser extension
Chrome and Firefox, Manifest V3. Install from the release zip, or load
apps/extension/build/chrome-mv3-prod unpacked.
Shortcut | Action |
| Convert the page |
| Convert the selection |
| Open the preview tab |
The preview tab is an editable markdown pane beside a live render, with a chunk picker, a token badge, copy, download, and export.
Also in the preview tab:
Full page screenshot — scrolls and stitches the whole page into one PNG.
Copy for Figma — puts HTML, PNG and markdown on the clipboard together. Paste into Figma desktop and you get editable frames, not a flat image.
Design tokens — downloads
DESIGN.mdandtokens.jsonbuilt from the page's own palette.Stack — lists frameworks, analytics and hosting found in the page, with the evidence for each finding.
Dark and light simulation per tab. Approximate by default, using a CSS filter.
Grant the optional debugger permission in settings to get the site's real theme
instead.
Permissions
activeTab, scripting, contextMenus, storage, clipboardWrite.
Optional: debugger, only if you turn on precise theme emulation.
There is no host_permissions and no content script. The extension reads the
active tab when you press a shortcut, and never before.
Design
The palette, type scale and component rules live in DESIGN.md.
Machine-readable copies are in design/, and
bun run scripts/check-tokens.ts fails if the files drift apart.
Development
bun install
bun test
bunx tsc -b
bun run build:cli
bun run build:mcp
cd apps/extension && bun run build --target=chrome-mv3Gates that must stay green:
bun test # 119 tests
bunx tsc -b # types
bun run scripts/check-tokens.ts # DESIGN.md, tokens.json, tailwind agree
./scripts/check-hygiene.sh # no other-tool names in the treeLicense
MIT. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Web pages as clean Markdown and JSON for AI agents, in fewer tokens, with an Evidence Record.
Web scraping for agents. Point it at a URL and it returns the page as clean markdown, JavaScript-rendered pages included. Point it at a site and it maps the URLs or crawls the section you need in the background, a few pages at a time so results fit in the conversation. Search the web and read full pages, extract fields with a JSON schema you define (validated, never invented), read a store's catalogue or a blog's posts from the platform's own feed, and check whether a page has changed. Failed requests cost nothing. The free plan includes 1,500 credits a month.
Clean Markdown and AI-readability scoring for any URL. Built for AI agents.
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables LLM agents to fetch web pages and receive clean, readable markdown with token budgeting and link extraction.1MIT
- AlicenseAqualityAmaintenanceEnables agents to parse web pages into decision-ready state—dates as dates, numbers with units, and text chunks sized for a model's window—reducing token usage and providing traceable anchors.224 npm5MIT
- AlicenseAqualityBmaintenanceEnables reading web pages and PDFs as clean Markdown, extracting main content and letting agents query for relevant passages, outline sections, search in-page, and list links while respecting robots.txt and blocking private addresses.41MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents and LLM pipelines to fetch and crawl web pages, extract readable content, and convert it into clean Markdown with preserved links while minimizing token usage.MIT