Fetch MCP

by jae-jae
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables fetching and processing of dynamic web content that relies on JavaScript, executing client-side scripts to render full page content that traditional scrapers would miss.

  • Offers conversion of fetched web content to Markdown format, making it easy to integrate the retrieved information into markdown-based applications.

フェッチャーMCP

Playwright ヘッドレス ブラウザを使用して Web ページ コンテンツを取得するための MCP サーバー。

利点

  • JavaScript サポート: 従来の Web スクレーパーとは異なり、Fetcher MCP は Playwright を使用して JavaScript を実行するため、動的な Web コンテンツや最新の Web アプリケーションを処理できます。
  • インテリジェントなコンテンツ抽出: 組み込みの読みやすさアルゴリズムにより、Web ページから主要なコンテンツが自動的に抽出され、広告、ナビゲーション、その他の不要な要素が削除されます。
  • 柔軟な出力形式: HTML と Markdown の両方の出力形式をサポートしているため、さまざまな下流アプリケーションと簡単に統合できます。
  • 並列処理: fetch_urlsツールを使用すると、複数の URL を同時に取得できるため、バッチ操作の効率が大幅に向上します。
  • リソースの最適化: 不要なリソース (画像、スタイルシート、フォント、メディア) を自動的にブロックして、帯域幅の使用量を削減し、パフォーマンスを向上させます。
  • 堅牢なエラー処理: 包括的なエラー処理とログ記録により、問題のある Web ページを処理する場合でも信頼性の高い操作が保証されます。
  • 構成可能なパラメータ: さまざまなユースケースに合わせて、タイムアウト、コンテンツの抽出、出力フォーマットを細かく制御します。

クイックスタート

npx で直接実行します:

npx -y fetcher-mcp

初回セットアップ - ターミナルで次のコマンドを実行して、必要なブラウザをインストールします。

npx playwright install chromium

デバッグモード

--debugオプションをつけて実行すると、デバッグ用のブラウザ ウィンドウが表示されます。

npx -y fetcher-mcp --debug

構成MCP

Claude Desktop でこの MCP サーバーを構成します。

MacOSの場合: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows の場合: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "fetcher": { "command": "npx", "args": ["-y", "fetcher-mcp"] } } }

特徴

  • fetch_url - 指定された URL から Web ページのコンテンツを取得します
    • Playwrightヘッドレスブラウザを使用してJavaScriptを解析します
    • メインコンテンツのインテリジェントな抽出とMarkdownへの変換をサポート
    • 次のパラメータをサポートします:
      • url : 取得するウェブページのURL(必須パラメータ)
      • timeout : ページ読み込みのタイムアウト(ミリ秒単位)。デフォルトは 30000(30 秒)
      • waitUntil : ナビゲーションが完了したとみなすタイミングを指定します。オプション: 'load'、'domcontentloaded'、'networkidle'、'commit'、デフォルトは 'load'
      • extractContent : メインコンテンツをインテリジェントに抽出するかどうか。デフォルトは true
      • maxLength : 返されるコンテンツの最大長(文字数)。デフォルトでは制限なし
      • returnHtml : Markdownの代わりにHTMLコンテンツを返すかどうか。デフォルトはfalse
      • waitForNavigation : 最初のページ読み込み後に追加のナビゲーションを待機するかどうか(アンチボット検証のあるサイトで便利)、デフォルトは false
      • navigationTimeout : 追加のナビゲーションを待機する最大時間(ミリ秒単位)。デフォルトは 10000(10 秒)です。
      • disableMedia : メディアリソース(画像、スタイルシート、フォント、メディア)を無効にするかどうか。デフォルトは true
      • debug : デバッグモードを有効にするかどうか(ブラウザウィンドウを表示する)。指定されている場合、--debug コマンドラインフラグを上書きします。
  • fetch_urls - 複数の URL から Web ページのコンテンツを並列に一括取得します
    • マルチタブ並列フェッチを使用してパフォーマンスを向上
    • ウェブページ間の明確な区別とともに統合された結果を返します
    • 次のパラメータをサポートします:
      • urls : 取得するURLの配列(必須パラメータ)
      • その他のパラメータはfetch_urlと同じです

ヒント

特殊なウェブサイトシナリオの取り扱い

アンチクローラー機構への対処

  • 読み込みが完了するまで待機: CAPTCHA、リダイレクト、またはその他の検証メカニズムを使用する Web サイトの場合は、プロンプトに次の内容を含めます。
    Please wait for the page to fully load
    これにはwaitForNavigation: trueパラメータが使用されます。
  • タイムアウト期間を延長する: 読み込みが遅いウェブサイトの場合:
    Please set the page loading timeout to 60 seconds
    これにより、 timeoutnavigationTimeout両方のパラメータがそれに応じて調整されます。

コンテンツ取得調整

  • 元の HTML 構造を保持: コンテンツの抽出が失敗する可能性がある場合:
    Please preserve the original HTML content
    extractContent: falseおよびreturnHtml: true設定します。
  • 完全なページコンテンツを取得: 抽出されたコンテンツが制限されすぎている場合:
    Please fetch the complete webpage content instead of just the main content
    extractContent: falseを設定します。
  • コンテンツを HTML として返す: デフォルトの Markdown ではなく HTML 形式が必要な場合:
    Please return the content in HTML format
    returnHtml: trueを設定します。

デバッグと認証

デバッグモードを有効にする

  • 動的デバッグのアクティブ化: 特定のフェッチ操作中にブラウザ ウィンドウを表示するには:
    Please enable debug mode for this fetch operation
    これにより、サーバーが--debugフラグなしで起動された場合でもdebug: trueが設定されます。

認証にカスタムCookieを使用する

  • 手動ログイン: 自分の資格情報を使用してログインするには:
    Please run in debug mode so I can manually log in to the website
    debug: trueを設定するか、 --debugフラグを使用して、手動ログイン用にブラウザ ウィンドウを開いたままにします。
  • デバッグブラウザとの対話: デバッグモードが有効な場合:
    1. ブラウザウィンドウは開いたままです
    2. 資格情報を使用して手動でウェブサイトにログインできます
    3. ログインが完了すると、認証されたセッションでコンテンツが取得されます
  • 特定のリクエストに対してデバッグを有効にする: サーバーがすでに実行されている場合でも、特定のリクエストに対してデバッグ モードを有効にすることができます。
    Please enable debug mode for this authentication step
    この特定のリクエストに対してのみdebug: trueを設定し、手動ログイン用のブラウザ ウィンドウを開きます。

発達

依存関係をインストールする

npm install

Playwrightブラウザをインストールする

Playwright に必要なブラウザをインストールします。

npm run install-browser

サーバーを構築する

npm run build

デバッグ

デバッグには MCP Inspector を使用します。

npm run inspector

デバッグ用にブラウザ表示モードを有効にすることもできます。

node build/index.js --debug

関連プロジェクト

  • g-search-mcp : 複数のキーワードを同時に並列検索できる、Google検索用の強力なMCPサーバーです。バッチ検索やデータ収集に最適です。

ライセンス

MITライセンスに基づいてライセンスされています

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Playwright ヘッドレス ブラウザを使用して Web ページ コンテンツを取得し、メイン コンテンツを抽出して Markdown 形式に変換できる MCP サーバー。

  1. Advantages
    1. Quick Start
      1. Debug Mode
    2. Configuration MCP
      1. Features
        1. Tips
          1. Handling Special Website Scenarios
          2. Debugging and Authentication
        2. Development
          1. Install Dependencies
          2. Install Playwright Browser
          3. Build the Server
        3. Debugging
          1. Related Projects
            1. License
              ID: o6qc1j6a1z