/ ディレクトリ / プレイグラウンド / Fetch
● 公式 modelcontextprotocol ⚡ 即起動

Fetch

作者 modelcontextprotocol · modelcontextprotocol/servers

Claudeにウェブを与える最もシンプルな方法 — URLをフェッチしてクリーンなMarkdownを取得。JSレンダリング不要、APIキー不要、面倒なし。

リファレンスFetch MCP。URLを受け取り、ページをダウンロード、ボイラープレートを削除、Markdownに変換、チャンクを返します。静的ページ、ドキュメント、変更履歴、RSS向け — JavaScriptの実行が不要な場所に最適です。SPAとアンチボットサイトの場合は、代わりにFirecrawlまたはChrome DevToolsを使用してください。

なぜ使うのか

主な機能

ライブデモ

実際の動作

fetch.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "fetch",
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "fetch": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-server-fetch"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add fetch -- uvx mcp-server-fetch

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Fetch

URLから記事やブログ投稿を要約する

👤 チャットにリンクを貼って「これは何?」と聞く誰もが対象 ⏱ ~3 min beginner

使うタイミング: ペイウォールなしの記事、ドキュメントページ、またはブログ投稿にぶつかり、自分で読まずに要約と意見が欲しいとき。

フロー
  1. Markdown出力でフェッチする
    https://example.com/blog/post をフェッチして、最初の約3000文字をクリーンなMarkdown形式で提供してください。✓ コピーしました
    → コンテンツは動作中のヘッダーとナビゲーションなしで到着
  2. 要約し、主張を抽出する
    5個の箇条書きで要約してください。著者がした具体的な数字や主張をすべてリストして、それらが現れた文を含めてください。✓ コピーしました
    → 箇条書き形式の要約と引用(パラフレーズではない)
  3. 批評
    著者の主な論旨への最強の反論は何ですか?具体的に答えてください。✓ コピーしました
    → 本当の批評、「一方、...」的なぼやけた内容ではなく

結果: 30秒で記事を読んだ結果、検証可能な引用付き。

注意点
  • ページがJSレンダリングされており、フェッチはほぼ空のシェルを返す — 最初のフェッチ出力を確認してください — 疑わしく短いか「Loading...」と言っている場合は、FirecrawlまたはChrome DevTools MCPに切り替えてください
  • max_lengthで長いページが切り詰められたstart_indexを使ってページネーション:start_index: 5000での2番目の呼び出しは、最初の呼び出しが終わったところから始まります
組み合わせ: memory

ベンダーの変更履歴を確認して、今週何が変わったかを確認する

👤 依存関係のリリースや競合他社の機能を追跡する開発者 ⏱ ~5 min beginner

使うタイミング: 依存するライブラリが静的ページにリリースノートを公開していて、1ヶ月間確認していないとき。

フロー
  1. 変更履歴ページをフェッチする
    https://vendor.com/changelog をフェッチして、2026-03-01以降のすべてのリリースを日付と変更内容の1行要約付きでリストしてください。✓ コピーしました
    → 日付付きの年代順リスト
  2. 影響度で分類する
    各項目を以下のように分類:破壊的変更、新機能、バグ修正、内部。破壊的または廃止予定としてマークされたものにフラグを立ててください。✓ コピーしました
    → リリースごとのタグ、破壊的項目が明記されている
  3. 我々に影響を与えるものを指摘する
    このライブラリは主に<機能X>のために使用しています。これらの変更のどれが我々の使用に影響を与え、どのようなアクション(ある場合)を取るべきですか?✓ コピーしました
    → 実行可能なリスト、一般的な「ノートを確認する」ではなく

結果: 2分でバージョンをアップしてテストするか、リリース全体をスキップするか判断できる。

注意点
  • 変更履歴はページネーション — 最初のページは過去2ヶ月のみstart_indexでスクロールするか、アーカイブURLを明示的にフェッチしてください
  • GitHubリリースページは現在JS経由でレンダリング — 代わりにraw APIを使用:https://api.github.com/repos/owner/repo/releasesはJSなしでJSONを返します
組み合わせ: github · memory

RFCまたはドキュメントページをコーディングタスクのコンテキストに取り込む

👤 仕様またはAPI統合を実装しているエンジニア ⏱ ~15 min intermediate

使うタイミング: 公開仕様(OAuth、RFC 9457問題詳細、REST APIのリファレンスドキュメント)に対してコーディングしており、Claudeに正規情報源を持たせたいとき。

フロー
  1. 仕様ページをフェッチする
    https://datatracker.ietf.org/doc/html/rfc9457 をMarkdownとしてフェッチしてください。セクション1-4のみを返してください。✓ コピーしました
    → 規範的なセクションのクリーンなMarkdown
  2. それに対して実装する
    そのRFCを信頼できる情報源として、問題詳細オブジェクトのTypeScript型とバリデーターを書いてください。コメントで特定のセクション番号を引用してください。✓ コピーしました
    // per RFC 9457 §3.1インラインリファレンス付きのコード
  3. エッジケースチェック
    同じRFCから、実装が処理していないエッジケースまたはオプションフィールドは何ですか?処理するか、選択肢を文書化するか判断してください。✓ コピーしました
    → 仕様に対する正直なギャップ分析

結果: コードレビューで擁護できる追跡可能な引用を備えた、仕様に忠実な実装。

注意点
  • IETFページは巨大 — 完全なRFCはコンテキスト予算を超える可能性 — 必要なセクションのみをフェッチしてください。アンカーリンクまたはstart_indexを使用し、完全なドキュメントではなく
組み合わせ: filesystem · github

組み合わせ

他のMCPと組み合わせて10倍の力を

fetch + filesystem

フェッチしたページをローカルに保存してオフラインRAGまたはアーカイブ用

https://docs.anthropic.com/en/docs/mcp をフェッチして/knowledge/anthropic/mcp.mdとして保存してください。✓ コピーしました
fetch + memory

ページの重要な事実を記憶して、次回再フェッチしない

Stripe価格ページをフェッチして、トランザクションごとの料金を「stripe-pricing」エンティティの観察として本日の日付で保存してください。✓ コピーしました

複数のソースをフェッチして、段階的に推論する

トピックXに関する競合する3つの記事をフェッチしてください。段階的推論を使用して、実際に意見が異なる場所と単に別の言葉を使用している場所を特定してください。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
fetch url: str, max_length?: int (default 5000), start_index?: int, raw?: bool 単一のURLをMarkdownとして取得;raw=trueを設定してMarkdown変換をスキップ 無料(帯域幅のみ)

コストと制限

運用コスト

APIクォータ
クォータなし — 帯域幅とターゲットサイトのレート制限のみに制限
呼び出しあたりのトークン
デフォルトmax_lengthは5000文字(約1500トークン);長いページは複数の呼び出しが必要
金額
無料
ヒント
同じページを繰り返してページネーションしている場合は、最初のフェッチ後にファイルシステムMCPを使用してキャッシュしてください。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: なし
データ送信先: マシンからターゲットURLへの直接 — プロキシなし、第三者なし

トラブルシューティング

よくあるエラーと対処法

コンテンツが疑わしく短い(<200文字)

ページはおそらくJSレンダリング。curlでURLを表示して確認;curlの出力も小さい場合は、フェッチでは役立たない — FirecrawlまたはChrome DevTools MCPを使用してください。

確認: curl -sL <url> | wc -c
403禁止

サイトはブラウザ以外のユーザーエージェントをブロックしています。Fetch MCPはデフォルトで最新のUAを送信しています;それでもブロックされている場合は、サイトがスクレイピングを明示的に禁止しています — それを尊重してください。

robots.txtにより許可されていません

ユーザーが開始した1回限りのフェッチ(自動クローリングではない)の場合は、サーバードキュメントに従ってrobotsチェックを無効にできます。エージェントループの場合は無効にしないでください。

切り詰め — 応答が文の途中で切り詰められた

max_lengthを増やすか、最後の呼び出しが終わった場所にstart_indexを設定して再び呼び出してください。

代替案

Fetch 他との比較

代替案代わりに使う場面トレードオフ
FirecrawlターゲットがJSレンダリングSPAである場合、またはスキーマ経由の構造化JSON抽出が必要な場合無料クレジット後の有料;第三者の依存関係を追加
Chrome DevTools MCPコンテンツを表示するために、ページと対話(クリック、ログイン、スクロール)する必要がある場合より重い — 実際のブラウザを起動;ページあたりが遅い
Brightdata MCPターゲットがデータセンターIPをアクティブにブロックしており、レジデンシャルプロキシが必要な場合エンタープライズ価格;ほとんどのニーズでは過剰

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る