Distill MCP server
Give an AI agent clean, main-content Markdown from web pages or existing HTML while honoring robots.txt and AI opt-outs.
Fetch a web page by URL and return its main content as Markdown with title, author, date, and language.
Convert raw HTML you already have into Markdown, optionally resolving relative links/images with a base URL.
Customize output with
max_chars,include_links,include_images, andinclude_tables.Receive clear status values such as
ok,robots_txt,opted_out,blocked,not_html,http_error, orunreachable.Get the API's JSON response, including quota remaining when reported by the marketplace.
Uses the RapidAPI marketplace to authenticate and access the Distill API, allowing users to subscribe to a plan and make tool calls with their RapidAPI key.
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., "@Distill MCP server turn this article into clean markdown: https://example.com/blog/post"
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.
Distill MCP server
Give your AI agent clean Markdown from any web page: the main content only, without navigation, ads or scripts. Distill honours robots.txt and AI opt-outs.
The server is open source (MIT). It calls the Distill API, which is paid, with a free plan.
You use your own key, from RapidAPI or api.market.
Every tool call is one request on your plan.
The free Basic plan has 15 requests a month, with a hard limit, so it never runs up a bill.
1. Get a key
Related MCP server: read-website-fast
2. Add the server to your MCP client
The server runs locally over stdio with uv. Put your key in its environment.
JSON configuration (Claude Desktop, Cursor, VS Code and most clients):
{
"mcpServers": {
"distill": {
"command": "uvx",
"args": ["--from", "bytestay-distill-mcp", "distill-mcp"],
"env": { "RAPIDAPI_KEY": "your-rapidapi-key" }
}
}
}Claude Code:
claude mcp add distill --env RAPIDAPI_KEY=your-rapidapi-key -- uvx --from bytestay-distill-mcp distill-mcpEnvironment
variable | meaning |
| your RapidAPI key |
| your api.market key, used when |
|
|
Without a key the server still starts. The first tool call then explains where to get one.
Also listed on Glama:
3. Tools
tool | what it does |
| fetches the page and returns its main content as Markdown, with the title, author, date and language |
| the same, for HTML you already have; nothing is fetched |
When a site refuses (robots.txt, a noai directive, bot protection), status says so and a note asks the agent to respect it. Don't fetch the page another way: the terms forbid it.
status is ok on success. Other values (robots_txt, opted_out, blocked, not_html, http_error, unreachable) explain why there is no content.
Every tool returns the API's JSON response.
When the marketplace reports it,
quota_remainingis added: the requests left on your plan this month.Errors are explained in plain words, with what to do next:
key refused, with the link to subscribe;
quota reached, with the plans;
input the API couldn't process, with the API's reason.
Privacy
Local files are read only when a tool is given their path. They are sent to the API for that one request.
The API processes inputs in memory and doesn't store them. See the privacy policy.
Your key is only sent to the marketplace you chose.
Limits
htmlup to 5 MB.Only HTML pages; PDFs and other files are refused (use Unfold for documents).
The server needs Python 3.10+ (uv installs it for you).
Development
uv venv && uv pip install -e ".[dev]"
.venv/bin/pytest # unit tests, no network; 100% coverage required
.venv/bin/ruff check src tests scriptsscripts/e2e_stdio.py distill runs the server over stdio, as a client would, and calls its tools against the real API. It needs RAPIDAPI_KEY or API_MARKET_KEY.
Licence
MIT. Distill itself is a paid API with a free plan, run by ByteStay.
Available Tools
2 toolsfetch_markdownARead-onlyIdempotent
Fetch a web page and return its main content as Markdown, with title, author, date and language.
status is "ok" on success. Other values (robots_txt, opted_out, blocked, not_html, http_error,
unreachable) explain why there is no content.
Inputs: url (required), max_chars, include_links, include_images, +1 more.
html_to_markdownARead-onlyIdempotent
Turn HTML you already have into clean Markdown (main content only). A noai directive in the HTML is
honoured: the result then has no content.
Inputs: html (required), base_url, max_chars, include_links, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools are clearly separated by input source: fetch_markdown takes a URL and retrieves content, while html_to_markdown takes HTML the caller already has. There is mild conceptual overlap since fetching implicitly converts HTML, but the descriptions make the boundary clear enough to choose correctly.
Both names follow the same snake_case verb_object pattern (fetch_markdown, html_to_markdown) and use the shared 'markdown' noun, making the pair predictable and readable.
Two tools is on the thin side for a server, though the scope (fetch and convert to Markdown) is genuinely narrow. It is borderline rather than mismatched, since each tool earns its place.
The core lifecycle of getting Markdown from either a URL or raw HTML is covered, with status codes explaining failure modes. Minor gaps exist, such as batch fetching or metadata-only extraction, but agents can work around them.
Maintenance
Related MCP Connectors
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Fetch any URL and get clean Markdown. Web scraping for AI agents.
Turn any web page URL or HTML into clean Markdown or plain text for an LLM to read.
Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.
Related MCP Servers
- AlicenseAqualityDmaintenanceConverts URLs and raw HTML to clean Markdown, enabling AI assistants to read web pages for summarization, analysis, or ingestion.22 npm1MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents and MCP clients to fetch webpages and crawl sites, extract main content, and convert it into clean Markdown with preserved links for fast, token-efficient scraping.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents and MCP clients to fetch web pages or crawl sites and convert them into clean, token-efficient Markdown while preserving links.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to fetch and crawl web pages, strip noise, and convert content into clean Markdown with preserved links for token-efficient scraping and downstream processing.MIT