MCP server, by Model Context Protocol
Fetch MCP Server
Python MCP server that fetches a web page and returns its content as markdown, in chunks when needed.
Quick facts
What it does
The fetch server retrieves a URL and extracts readable content as markdown for a model. A max_length limit truncates output, and start_index lets the model continue reading a long page in chunks. A raw option returns content without markdown conversion.
By default the server follows robots.txt for model initiated tool calls, but not for user initiated prompt calls. Options can disable robots handling, set a custom user agent, or route requests through a proxy.
The README carries an explicit caution: the server can reach local and internal IP addresses, which can expose sensitive data if it is used without care.
Configuration
Run with uvx mcp-server-fetch, install with pip install mcp-server-fetch, or use the mcp/fetch Docker image.
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}Source: https://github.com/modelcontextprotocol/servers/tree/main/src/fetch. Placeholders only. Replace them in your own environment, and never commit real keys to a repository.
| Environment variable | Required | Purpose |
|---|---|---|
PYTHONIOENCODING | Optional | Set to utf-8 in the Windows examples to avoid character encoding timeouts. |
Verified tools and features
fetch tool Config checked
Fetches a URL and returns extracted content as markdown, with max_length, start_index and raw options.
fetch prompt Config checked
Prompt form of the fetch capability that takes a required url argument.
robots.txt handling Config checked
Obeys robots.txt for model initiated requests by default, with an --ignore-robots-txt option to disable it.
Proxy and user agent options Config checked
Supports --proxy-url and --user-agent arguments for routing and identification.
Security notes
- The README warns the server can access local and internal IP addresses. Do not expose it where internal services must stay unreachable.
- Model initiated fetching follows robots.txt by default. User initiated prompt fetches do not, per the README.
- No API keys are required. Network scope is any URL the model or user asks it to fetch.
An MCP server runs with the permissions of the process you start it from. Scope credentials to the narrowest access the job needs, and review what the client will send before connecting anything sensitive.
Sources and freshness
- Official source: https://github.com/modelcontextprotocol/servers/tree/main/src/fetch
- Repository: https://github.com/modelcontextprotocol/servers
Last checked 2026-10-07. Verification label: config checked, which means the configuration and feature list trace to the official source above. It does not mean AgentsUse ran the server. Spotted an error? Send a correction. Back to the MCP server index.