mcpField
F
FetchV2

FetchV2

ローカル
github.comブラウザ自動化37 週間前に更新

FetchV2 について

FetchV2は、ウェブページを読みやすいMarkdownに変換するMCPサーバーです。ウェブ情報を扱うエージェントやクライアント向けに、複数ページの取得、リンク探索、llms.txtの読み取りも提供します。

主な機能

  1. 01ページ本文をMarkdownとして抽出
  2. 021回のリクエストで最大10ページを取得
  3. 03ページ内リンクの探索と絞り込み
  4. 04llms.txtとリンク先ページの読み取り
  5. 05生HTML、表、リンクの取得
  6. 06長い応答のページネーション

活用シーン

  1. 01複数のドキュメントページをまとめて取得
  2. 02ドキュメントサイトからガイドへのリンクを検索
  3. 03llms.txtと関連ドキュメントを読み取る

MCP 対応

FetchV2は、ウェブ取得やリンク探索のツールをMCPクライアントに公開します。URL取得やトピック調査用のプロンプトも提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"praveenc-fetchv2": {
"command": "uvx",
"args": [
"fetchv2-mcp-server"
]
}
}
}
起動コマンドuvx fetchv2-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypifetchv2-mcp-server2.0.0

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
urlstringはい取得するウェブページの URL(http:// または https:// で始まる必要があります)
max_lengthintegerいいえ返す最大文字数。要約には 1000~2000、全コンテンツには 5000(デフォルト)を指定します。
start_indexintegerいいえページネーション用の文字オフセット。切り詰められたレスポンスの 'start_index=N' の値を使用します。
get_raw_htmlbooleanいいえコンテンツの抽出をスキップし、生の HTML を返します。元のマークアップが必要な場合や、抽出に失敗した場合に使用します。
include_linksbooleanいいえMarkdown 内のハイパーリンクを保持します。有効にすると、参照先をたどれます。
include_tablesbooleanいいえMarkdown 内の表を保持します。テキストのみの記事では無効にします。
include_metadatabooleanいいえ先頭にタイトル、著者、日付を含めます。無効にするとトークンを節約できます。
bypass_robots_txtbooleanいいえrobots.txt のチェックをスキップします。ユーザーが開始したリクエストにのみ使用してください。

詳細

FetchV2 MCP サーバー

PyPI version CI Python 3.11+ License: MIT

FetchV2 は、ウェブページを取得して整形された Markdown を返す Model Context Protocol(MCP)サーバーです。 Trafilatura を使用して、ナビゲーション、広告、フッターなどのページ要素を取り除きます。

できること

ツール用途
fetchウェブページを 1 件取得し、主要なコンテンツを抽出します
fetch_batch1 回のリクエストで最大 10 件のウェブページを取得します
discover_linksウェブページ上のリンクを検索し、絞り込みます
fetch_llms_txtllms.txt のインデックスを読み取り、必要に応じてリンク先のページを取得します

FetchV2 は、生の HTML を返したり、リンクやテーブルを保持したり、長いコンテンツをページ分割したりできます。 fetch ツールは、デフォルトで robots.txt を確認します。

クイックスタート

要件
  1. uv をインストールします。
  2. Python 3.11 以降をインストールします。
uv python install 3.11
Cursor または VS Code にインストールする
CursorVS Code
MCP サーバーをインストールVS Code にインストール
別の MCP クライアントを設定する

次のサーバー定義を MCP クライアントの設定に追加します。

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

一般的な設定ファイルの場所:

  • macOS の Claude Desktop:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows の Claude Desktop:%APPDATA%\Claude\claude_desktop_config.json
  • Windsurf:~/.codeium/windsurf/mcp_config.json
  • Kiro:プロジェクト内の .kiro/settings/mcp.json
Python 環境にインストールする

パッケージを直接インストールする場合は、次のコマンドのいずれかを使用します。

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

試してみる

次のようなタスクを MCP クライアントに依頼します。

  • 「<URL> からドキュメントを取得してください。」
  • 「<docs URL> にある、tutorial を含むリンクを探してください。」
  • 「次のページを読み、それぞれの違いを要約してください:[url1, url2, url3]。」

一般的なドキュメントのワークフロー

まず、関連するページを探します。

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

次に、選択したページを 1 回のリクエストで取得します。

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

ツールのリファレンス

fetch

ウェブページを 1 件取得し、主要なコンテンツを 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
パラメーター型デフォルト説明
urlstr必須ウェブページの URL
max_lengthint5000返す最大文字数
start_indexint0ページ分割に使用する文字オフセット
get_raw_htmlboolFalse抽出せずに生の HTML を返します
include_metadataboolTrueタイトル、著者、日付を含めます
include_tablesboolTrueMarkdown 内のテーブルを保持します
include_linksboolFalseMarkdown 内のリンクを保持します
bypass_robots_txtboolFalseユーザーが依頼した取得で robots.txt の確認を省略します

応答が途中で切れている場合は、次の呼び出しで返された start_index の値を使用します。

fetch_batch

最大10件のウェブページを取得し、結果をまとめます。

fetch_batch(
    urls: list[str],
    max_length_per_url: int = 2000,
    get_raw_html: bool = False,
) -> str
パラメーター型デフォルト説明
urlslist[str]必須取得するウェブページのURL
max_length_per_urlint2000各URLについて返す最大文字数
get_raw_htmlboolFalse抽出処理を行わず、生のHTMLを返します

このツールは失敗したURLを結果に報告し、ほかのURLの処理を続けます。 robots.txt は確認しません。

discover_links

ウェブページ上のリンクを検索し、必要に応じて正規表現で絞り込みます。

discover_links(url: str, filter_pattern: str = "") -> str
パラメーター型デフォルト説明
urlstr必須スキャンするウェブページのURL
filter_patternstr""リンクの絞り込みに使う正規表現

このツールは相対リンクを解決し、最大100件のURLを返します。

fetch_llms_txt

llms.txt ファイルを読み込み、ドキュメントへのリンクを一覧表示します。

fetch_llms_txt(
    url: str,
    include_content: bool = False,
    max_length_per_url: int = 2000,
) -> str
パラメーター型デフォルト説明
urlstr必須llms.txt ファイルのURL
include_contentboolFalseリンク先ページのコンテンツをすべて取得します
max_length_per_urlint2000リンク先の各ページについて返す最大文字数

デフォルトでは、このツールは llms.txt のインデックスのみを取得します。 include_content=True を設定すると、リンク先ページをすべて取得します。 このオプションを指定すると、大きなレスポンスが返る場合があります。

このツールは、/docs/guide.md などの相対URLを llms.txt のURLを基準に解決します。

プロンプト

  • fetch_manual は、URLを1つ取得して要約するリクエストを作成します。
  • research_topic は、任意のURLを指定してトピックを調査するリクエストを作成します。

開発

リポジトリをクローンし、開発用の依存関係をインストールします。

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

テストを実行します。

uv run pytest

MCP Inspector でサーバーを実行します。

uv run mcp dev src/fetchv2_mcp_server/server.py

リントと型チェックを実行します。

uv run ruff check .
uv run pyright

コントリビューション

変更を提出する前に、CONTRIBUTING.md をお読みください。

サポート

問題の報告や機能のリクエストには、GitHub issue tracker をご利用ください。

ライセンス

このプロジェクトは MIT License を採用しています。 詳細については、LICENSE をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。