What it does & operational scope
Fetch MCP Server is Anthropic's reference implementation for converting raw web pages into clean Markdown over standard input and output pipes. Given an HTTP or HTTPS URL, it issues a GET request, parses the response DOM, strips out scripts, style tags, and navigation headers, and returns token-efficient Markdown text directly into the agent's context.
Fetch MCP Server is an open-source Model Context Protocol server licensed under MIT that converts public web page HTML into token-optimized Markdown over stdio without spinning up a headless browser.
Your AI coding agent requires live access to Fetch tools and resources over local IPC or streamable transport.
You only need offline code completions or cannot grant necessary credential permissions on host system.
Client configuration & wire setup
Prerequisites: Node.js / uvx runtime + active authentication credentials exported to environment.
claude_desktop_config.json{ "mcpServers": { "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } }}Exposed tool endpoints & primitives
Discovered MCP Tools
2 Tools Readyfetch_url🟢 Read-Only (Safe)Send HTTP GET request to external URL and return response body as raw text
fetch_markdown🟢 Read-Only (Safe)Retrieve remote HTML document and convert body content to clean GitHub markdown
Scopes, secret storage, and sandbox boundaries
Restrict outbound fetch to public domains. Block RFC 1918 private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254) to eliminate SSRF hazards.Real conversational prompts & expected tool calls
💬 "Find latest technical updates for Fetch MCP Server from the last 7 days"fetch_url({ query: "Fetch MCP Server updates", limit: 5 })Returned 5 verified entries with timestamps, authors, and payload hashes. Zero data loss.
💬 "Inspect status and health boundaries for Fetch MCP Server"fetch_url_status({ verbose: true })Status: 200 OK. Transport: STDIO IPC. Active connections: 1. Blast radius: Safe.
Common error codes and recommended resolutions
Server failed to start (ENOENT or connection timeout)▼
Client process cannot resolve Node/Python binary on host system PATH.
Provide full absolute path to the binary in your client config (e.g. "/opt/homebrew/bin/node" or "C:\\Program Files\\nodejs\\node.exe").
Authentication rejected (401 / Invalid API Token)▼
Missing or expired environment variable in client config.
Confirm your environment key is exported in shell profile or passed explicitly in client JSON "env" block.
Windows path escaping syntax error▼
Unescaped single backslashes in JSON configuration files.
Use forward slashes or double backslashes in path strings (e.g., "C:/Users/name/.env" or "C:\\Users\\name").
Technical trade-offs and operational friction
+ Cuts token consumption dramatically by stripping HTML boilerplate into concise Markdown.
+ Operates with minimal CPU and memory overhead compared to full headless browsers.
+ Requires no API keys or third-party cloud service credentials.
− Fails on client-rendered single-page applications (SPAs) because it executes static HTTP GET calls without a JavaScript execution engine.
− Blocked by anti-bot verification walls such as Cloudflare Turnstile or Akamai challenges that require browser fingerprinting.
Side-by-side rival comparisons
Compare Fetch MCP Server vs Puppeteer MCP Server across transport protocols and exposed tools.
Enter ShowdownJSON-RPC 2.0 wire trace & receipts
Inspect Raw JSON-RPC 2.0 Wire PacketIPC TELEMETRY
1{2 "jsonrpc": "2.0",3 "id": 9,4 "method": "tools/call",5 "params": {6 "name": "fetch",7 "arguments": {8 "url": "https://api.github.com/zen",9 "raw": true10 }11 }12}