An MCP server that enables fetching web content using the Node.js undici library.
- Fetch content from any URL using various HTTP methods
- Support for headers and request body
- Return content in various formats (text, JSON, binary, HTML fragments)
- Handle errors gracefully
- Configure timeout and redirect behavior
This server provides the following MCP tools:
Fetches content from a URL and returns it.
Parameters:
url
(string, required): The URL to fetchmethod
(string, optional): HTTP method (default: "GET")headers
(object, optional): HTTP headers to includebody
(string, optional): Request body for POST/PUT requeststimeout
(number, optional): Request timeout in millisecondsresponseType
(string, optional): How to parse the response ("text", "json", "binary", "html-fragment")fragmentSelector
(string, optional): CSS selector to extract specific HTML fragments (when responseType is "html-fragment")followRedirects
(boolean, optional): Whether to follow redirects (default: true)
Extracts specific HTML content from a webpage using CSS selectors and optionally navigates to anchor points.
Parameters:
url
(string, required): The URL to fetchselector
(string, required): CSS selector for the HTML fragment to extractanchorId
(string, optional): Optional anchor ID to locate a specific fragmentmethod
(string, optional): HTTP method (default: "GET")headers
(object, optional): HTTP headers to includebody
(string, optional): Request body for POST requeststimeout
(number, optional): Request timeout in millisecondsfollowRedirects
(boolean, optional): Whether to follow redirects (default: true)
Checks if a URL is accessible without downloading the full content.
Parameters:
url
(string, required): The URL to checktimeout
(number, optional): Request timeout in milliseconds
To use with Claude for Desktop, add this to your claude_desktop_config.json
:
{
"mcpServers": {
"node-fetch": {
"command": "node",
"args": ["dist/index.js"]
}
}
}
MIT