mcp-server-fetch
A Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs
What it is and what it does
mcp-server-fetch is a Model Context Protocol server that bridges LLMs and the web by providing a standardized interface to fetch and process web pages. It retrieves HTML from URLs and converts it to markdown, making web content digestible for language models. The server exposes a fetch tool with parameters for URL, maximum content length, character-index-based pagination (via start_index), and raw-content mode, allowing models to read large pages in chunks.
The package is designed to integrate with LLM platforms like Claude.app and VS Code extensions that support MCP. It respects robots.txt by default (configurable), supports custom user-agents and proxy configuration, and includes safeguards against accessing local/internal IP addresses—though the documentation cautions that this remains a potential security risk. It depends on httpx and requests for HTTP operations, markdownify and readabilipy for content extraction, and pydantic for configuration validation.
Use it for:
- Enable Claude or other MCP-compatible LLMs to research topics by fetching and reading web pages during conversations
- Build automated workflows where an AI agent needs to gather information from multiple websites and synthesize it
- Integrate web-fetching capabilities into VS Code or other editors that support MCP servers for real-time web lookups
- Allow LLMs to verify claims or retrieve current information by fetching live web content
- Create chatbots or assistants that can answer questions by retrieving and processing relevant web pages on demand
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Model Context Protocol server that fetches web pages and converts their HTML content to markdown, enabling LLMs to read and process web content through a standardized interface.
Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and fills a clear need for LLM-to-web integration in the MCP ecosystem. The permissive MIT license removes legal friction. Install it if you are running an MCP-compatible LLM platform and need web-fetching capabilities; the security caution about internal IPs is a deployment concern, not a reason to avoid the package itself.
Install
mcp-server-fetch on PyPI
pip
pip install mcp-server-fetchuv
uv add mcp-server-fetchpoetry
poetry add mcp-server-fetchInstalling mcp-server-fetch
Before you install
Low friction install via pip or uvx. Active maintenance with recent release (35 days old) and strong repository signals (89561 stars). Requires Python 3.10 or later. Seven runtime dependencies are all established packages.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install mcp-server-fetch
python -m mcp_server_fetch
# Then configure in Claude.app or VS Code with:
# {"mcpServers": {"fetch": {"command": "python", "args": ["-m", "mcp_server_fetch"]}}}
# The server exposes a fetch tool that accepts url, max_length, start_index, and raw parameters.
Requires Python 3.10 or later. On Windows, may need PYTHONIOENCODING=utf-8 environment variable to avoid timeout issues. Optionally requires Node.js for a more robust HTML simplifier.
Verify before relying
- Whether the server's HTML-to-markdown conversion handles complex layouts, tables, or interactive content reliably
- Performance characteristics when fetching large pages or many URLs in sequence
- How the server handles authentication-required pages or pages behind paywalls
- Specific rate-limiting or throttling behavior when used with multiple concurrent requests
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — httpx, markdownify, mcp, protego, pydantic, readabilipy, requests |
| Maintenance | actively maintained — 35 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,086,313/month — #4,385 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mcp_server_fetch-2026.7.10-py3-none-any.whl
Keywords: automation, http, llm, mcp
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
mcp-server-gitExposes Git repository operations as tools for…
permissive · top 15,000 on PyPI
mcp-server-timeProvides a Model Context Protocol server that…
permissive · top 15,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
langsmith-mcp-serverExposes LangSmith observability data…
permissive · top 15,000 on PyPI
arxiv-mcp-serverAn MCP server that exposes arXiv search, paper…
permissive · top 15,000 on PyPI
cli-mcp-serverProvides a secure Model Context Protocol (MCP)…
unclear · top 15,000 on PyPI
duckduckgo-mcp-serverProvides web search and content fetching…
permissive · top 15,000 on PyPI
web-foragerWeb Forager is a search-and-fetch toolkit for…
permissive · top 15,000 on PyPI
markitdown-mcpExposes MarkItDown's document-to-markdown…
permissive · top 15,000 on PyPI
duckduckgo-mcpThis package is deprecated; install web-forager…
permissive · top 15,000 on PyPI