max_length and start_index together let a model walk a long document until it hits what it was looking for, which is the difference between a fetch tool that works on documentation and one that stops at the fold. Worth knowing before you deploy it: the server can reach local and internal addresses, so on a machine that can see internal services, treat the URL it is handed as untrusted input.
A one-tool server that retrieves a URL and converts the HTML to markdown, with the response deliberately truncated and resumable.
- Any URL fetched and converted from HTML to markdown
- A length cap per call — max_length defaults to 5000 characters
- start_index to resume where the last chunk stopped, so a long page can be read across several calls
- Raw mode when you want the page as served, without the markdown conversion
- A prompt that takes a URL, for hosts that surface prompts as well as tools
No account and no key. Run it with uvx from the published package mcp-server-fetch, or pip install it and run python -m mcp_server_fetch; there is also an mcp/fetch Docker image. Installing Node.js is optional and switches it to a sturdier HTML simplifier. It runs on the MCP Python SDK 1.x line (mcp>=1.29.0,<2).
One command — uvx mcp-server-fetch
