The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the FetchV2 listing page.
FetchV2 is a Model Context Protocol (MCP) server that retrieves web pages and returns clean Markdown. It uses Trafilatura to remove navigation, advertisements, footers, and other page elements.
| Tool | Use |
|---|---|
fetch | Fetch one web page and extract its main content |
fetch_batch | Fetch up to 10 web pages in one request |
discover_links | Find and filter links on a web page |
fetch_llms_txt | Read an llms.txt index and optionally fetch its linked pages |
FetchV2 can return raw HTML, preserve links and tables, and paginate long content.
The fetch tool checks robots.txt by default.
uv.| Cursor | VS Code |
|---|---|
| Install MCP Server | Install on VS Code |
Add this server definition to your MCP client configuration:
Common configuration file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.codeium/windsurf/mcp_config.json.kiro/settings/mcp.json in your projectUse one of these commands if you want to install the package directly:
Ask your MCP client to perform a task such as:
<URL>."<docs URL> that contain tutorial."[url1, url2, url3]."First, find the relevant pages:
Then fetch the selected pages in one request:
fetchFetch one web page and extract its main content as Markdown.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | str | required | Web page URL |
max_length | int | 5000 | Maximum number of characters to return |
start_index | int | 0 | Character offset for pagination |
get_raw_html | bool | False | Return raw HTML without extraction |
include_metadata | bool | True | Include the title, author, and date |
include_tables | bool | True | Preserve tables in Markdown |
include_links | bool | False | Preserve links in Markdown |
bypass_robots_txt | bool | False | Skip the robots.txt check for a user-requested fetch |
If the response is truncated, use the returned start_index value in the next call.
fetch_batchFetch up to 10 web pages and combine the results.
| Parameter | Type | Default | Description |
|---|---|---|---|
urls | list[str] | required | Web page URLs to fetch |
max_length_per_url | int | 2000 | Maximum number of characters to return for each URL |
get_raw_html | bool | False | Return raw HTML without extraction |
This tool reports a failed URL in its result and continues with the other URLs.
It does not check robots.txt.
discover_linksFind links on a web page and optionally filter them with a regular expression.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | str | required | Web page URL to scan |
filter_pattern | str | "" | Regular expression used to filter links |
The tool resolves relative links and returns up to 100 URLs.
fetch_llms_txtRead an llms.txt file and list its documentation links.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | str | required | URL of an llms.txt file |
include_content | bool | False | Fetch the content of all linked pages |
max_length_per_url | int | 2000 | Maximum number of characters to return for each linked page |
By default, this tool fetches only the llms.txt index.
Set include_content=True to fetch all linked pages.
This option can return a large response.
The tool resolves relative URLs, such as /docs/guide.md, against the llms.txt URL.
fetch_manual creates a request to fetch and summarize one URL.research_topic creates a request to research a topic with optional URLs.Clone the repository and install the development dependencies:
Run the tests:
Run the server with MCP Inspector:
Run lint and type checks:
Read CONTRIBUTING.md before you submit a change.
Use the GitHub issue tracker to report a problem or request a feature.
This project uses the MIT License. See LICENSE for details.