FetchV2

السجل الرسمي البحث والويب

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

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

PYPI package fetchv2-mcp-server
Claude Code
claude mcp add fetchv2 -- uvx fetchv2-mcp-server==2.0.0
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "fetchv2": {
            "command": "uvx",
            "args": [
                "fetchv2-mcp-server==2.0.0"
            ]
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. FetchV2 MCP Server
  2. What it does
  3. Quick start
  4. Try it
  5. Typical documentation workflow
  6. Tool reference
  7. Prompts
  8. Development
  9. Contributing
  10. Support
  11. License

FetchV2 MCP Server

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:
uv python install 3.11
Install for Cursor or VS Code
Configure another MCP client

Add this server definition to your MCP client configuration:

{
  "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:

uv add fetchv2-mcp-server
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:

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

Then fetch the selected pages in one request:

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.

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.

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.

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

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.

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:

git clone https://github.com/praveenc/fetchv2-mcp-server.git
cd fetchv2-mcp-server
uv sync --dev

Run the tests:

uv run pytest

Run the server with MCP Inspector:

uv run mcp dev src/fetchv2_mcp_server/server.py

Run lint and type checks:

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.

الأسئلة الشائعة

ما هو FetchV2؟

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

كيف أثبّت FetchV2؟

يعمل على جهازك. في Claude Code: claude mcp add fetchv2 -- uvx fetchv2-mcp-server==2.0.0. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج FetchV2 إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل FetchV2 مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون FetchV2؟

ينشره praveenc. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.