FetchV2

io.github.praveenc由 GitHub 帳號 praveenc 發布v2.0.0更新於 Oct 24, 2026

Fetch and extract web pages, discover links, and read llms.txt documentation indexes.

概覽

AI 產生的概覽

一個本機 MCP 伺服器,可抓取網頁、將正文擷取為乾淨的 Markdown、探索頁面連結,並讀取 llms.txt 文件索引。

可以做什麼
抓取單一網頁並將正文擷取為 Markdown,可選擇回傳原始 HTML、中繼資料、表格、連結,並依字元位移分頁。一次批次抓取最多 10 個網頁並合併結果。探索頁面上的連結並以正規表示式篩選,自動解析相對連結。讀取 llms.txt 索引,並可選擇抓取其連結的所有頁面。提供內建提示詞,用於抓取並摘要某個網址或研究某個主題。
適用情境
適合需要以乾淨文字讀取網頁文件或文章、一次收集多個頁面,或處理以 llms.txt 為基礎的文件網站。適用於原始 HTML 過於雜亂的資料檢索與文件工作流程。
執行需求
以 Python 套件(fetchv2-mcp-server)形式透過 uvx 或 pip 在本機以 stdio 執行。需要 uv 與 Python 3.11 或更新版本。未宣告任何帳號、API 金鑰、環境變數或標頭。需要能連線至目標網站的網路。
安裝前請注意
fetch 工具預設會檢查 robots.txt,但 bypass_robots_txt 選項會略過該檢查,而 fetch_batch 完全不檢查 robots.txt。啟用 include_content 讀取 llms.txt 時可能回傳非常大的回應。所請求的頁面來自第三方網站,其內容會進入助理。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 FetchV2,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

FetchV2 MCP Server

[PyPI version] [CI] [Python 3.11+] [License: MIT]

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.

What it does

ToolUse
fetchFetch one web page and extract its main content
fetch_batchFetch up to 10 web pages in one request
discover_linksFind and filter links on a web page
fetch_llms_txtRead 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.

Quick start

Requirements

  1. Install uv.
  2. Install Python 3.11 or newer:
bash
uv python install 3.11

Install for Cursor or VS Code

Configure another MCP client

Add this server definition to your MCP client configuration:

json
{  "mcpServers": {    "fetchv2": {      "command": "uvx",      "args": ["fetchv2-mcp-server@latest"]    }  }}

Common configuration file locations:

  • Claude Desktop on macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Claude Desktop on Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Windsurf: ~/.codeium/windsurf/mcp_config.json
  • Kiro: .kiro/settings/mcp.json in your project

Install in a Python environment

Use one of these commands if you want to install the package directly:

bash
uv add fetchv2-mcp-server
bash
pip install fetchv2-mcp-server

Try it

Ask your MCP client to perform a task such as:

  • "Fetch the documentation from <URL>."
  • "Find links on <docs URL> that contain tutorial."
  • "Read these pages and summarize their differences: [url1, url2, url3]."

Typical documentation workflow

First, find the relevant pages:

python
discover_links(url="https://docs.example.com/", filter_pattern="/guide/")

Then fetch the selected pages in one request:

python
fetch_batch(    urls=[        "https://docs.example.com/guide/intro",        "https://docs.example.com/guide/setup",    ])

Tool reference

fetch

Fetch one web page and extract its main content as Markdown.

python
fetch(    url: str,    max_length: int = 5000,    start_index: int = 0,    get_raw_html: bool = False,    include_metadata: bool = True,    include_tables: bool = True,    include_links: bool = False,    bypass_robots_txt: bool = False,) -> str
ParameterTypeDefaultDescription
urlstrrequiredWeb page URL
max_lengthint5000Maximum number of characters to return
start_indexint0Character offset for pagination
get_raw_htmlboolFalseReturn raw HTML without extraction
include_metadataboolTrueInclude the title, author, and date
include_tablesboolTruePreserve tables in Markdown
include_linksboolFalsePreserve links in Markdown
bypass_robots_txtboolFalseSkip 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_batch

Fetch up to 10 web pages and combine the results.

python
fetch_batch(    urls: list[str],    max_length_per_url: int = 2000,    get_raw_html: bool = False,) -> str
ParameterTypeDefaultDescription
urlslist[str]requiredWeb page URLs to fetch
max_length_per_urlint2000Maximum number of characters to return for each URL
get_raw_htmlboolFalseReturn 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_links

Find links on a web page and optionally filter them with a regular expression.

python
discover_links(url: str, filter_pattern: str = "") -> str
ParameterTypeDefaultDescription
urlstrrequiredWeb page URL to scan
filter_patternstr""Regular expression used to filter links

The tool resolves relative links and returns up to 100 URLs.

fetch_llms_txt

Read an llms.txt file and list its documentation links.

python
fetch_llms_txt(    url: str,    include_content: bool = False,    max_length_per_url: int = 2000,) -> str
ParameterTypeDefaultDescription
urlstrrequiredURL of an llms.txt file
include_contentboolFalseFetch the content of all linked pages
max_length_per_urlint2000Maximum 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.

Prompts

  • fetch_manual creates a request to fetch and summarize one URL.
  • research_topic creates a request to research a topic with optional URLs.

Development

Clone the repository and install the development dependencies:

bash
git clone https://github.com/praveenc/fetchv2-mcp-server.gitcd fetchv2-mcp-serveruv sync --dev

Run the tests:

bash
uv run pytest

Run the server with MCP Inspector:

bash
uv run mcp dev src/fetchv2_mcp_server/server.py

Run lint and type checks:

bash
uv run ruff check .uv run pyright

Contributing

Read CONTRIBUTING.md before you submit a change.

Support

Use the GitHub issue tracker to report a problem or request a feature.

License

This project uses the MIT License. See LICENSE for details.

來源:README.md,提交 b6a920d

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v2.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分