Fetch MCP Server について
Fetch MCP Serverは、Webページの取得とコンテンツ抽出をLLM向けに行います。JavaScript描画が必要なページや単純なスクレイピングを防ぐページにも対応し、ブラウザー自動化、OCR、HTML抽出、文書解析の結果を評価して出力を選びます。
主な機能
- 01ブラウザー自動化によるURL取得
- 02OCRとレイアウト検出によるテキスト抽出
- 03HTML、PDF、DOCX、PPTXの解析
- 04抽出内容のMarkdown変換
- 05抽出結果の評価と選択
- 06生HTMLの取得に対応
活用シーン
- 01JavaScript描画ページの内容を取得
- 02ページのスクリーンショットからテキストを抽出
- 03Web上のPDFやOffice文書を読む
- 04ページの元のHTMLを取得
MCP 対応
MCPクライアントに、URLと任意のraw設定を受け取るfetchツールを公開します。ページ内容をMarkdownとして抽出するfetchプロンプトも提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Fetch MCP サーバー

ブラウザー自動化、OCR、複数の抽出方法を使用してウェブコンテンツを取得する機能を提供する、Model Context Protocol サーバーです。このサーバーを使うと、JavaScript のレンダリングが必要なページや、単純なスクレイピングを防ぐ手法が使われているページからも、LLM がコンテンツを取得して処理できます。
利用可能なツール
fetch- ブラウザー自動化と複数の抽出方法(OCR を含む)を使用して、インターネット上の URL を取得します。url(string、必須):取得する URLraw(boolean、任意):簡略化せず、リクエストされたページの実際の HTML コンテンツを取得します(デフォルト:false)
サーバーは、コンテンツの抽出に複数の方法を使用します。
- undetected-chromedriver によるブラウザー自動化
- レイアウト検出機能を備えた pytesseract による OCR
- requests/BeautifulSoup による HTML 抽出
- ドキュメント解析(PDF、DOCX、PPTX)
- 元の Markdown 変換方式
サーバーは高度なスコアリングシステムを使用して、次の点を考慮しながら最適な結果を選択します。
-
基本コンテンツスコア(最大 50 点)
- コンテンツの長さに応じて加点(100 文字ごとに 1 点、最大 50 点)
- 極端に短いコンテンツ(100 文字未満)にはペナルティを適用
-
構造ボーナス(最大 20 点)
- 段落を含む、構造の整ったコンテンツに加点
- 段落が多いほど、コンテンツの構成が優れていると判断
-
品質ペナルティ
- エラーメッセージを検出してペナルティを適用
- エラーを示す内容が含まれている場合はスコアを減点
- コンテンツの構造と読みやすさを検証
このスコアリングシステムにより、使用した抽出方法にかかわらず、最も信頼性が高く、品質の優れたコンテンツが選択されます。スコアリングの判断を追跡するためのデバッグログも利用できます。
プロンプト
- fetch
- ブラウザー自動化を使用して URL を取得し、その内容を Markdown として抽出します
- 引数:
url(string、必須):取得する URL
インストール
Docker を使用する
Docker を使用して mcp-server-fetch をインストールして実行するには、次の手順に従います。
-
Docker イメージをビルドする:
docker build -t mcp-server-fetch . -
Docker コンテナーを実行する:
docker run --rm -i mcp-server-fetch
設定
Roo Code または Claude App の設定
Claude の設定に追加します。
{
"mcpServers": {
"fetch": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"mcp-server-fetch"
],
"disabled": false,
"alwaysAllow": []
}
}
}
カスタマイズ - User-agent
デフォルトでは、リクエストがモデルから(ツール経由で)送られたか、ユーザーが開始したもの(プロンプト経由)かに応じて、サーバーは次のいずれかの user-agent を使用します。
ModelContextProtocol/1.0 (Autonomous; +https://github.com/modelcontextprotocol/servers)
または
ModelContextProtocol/1.0 (User-Specified; +https://github.com/modelcontextprotocol/servers)
設定の args リストに引数 --user-agent=YourUserAgent を追加すると、これをカスタマイズできます。
ブラウザー自動化と OCR
サーバーには、高度なコンテンツ抽出機能が追加されています。
- Cookie 同意バナーの自動処理
- ページ全体のスクリーンショットのキャプチャ
- pytesseract によるレイアウト検出機能付き OCR
- 複数の抽出方法を使用し、最適な結果を自動選択
コントリビューション
mcp-server-fetch の拡張と改善に役立つコントリビューションを歓迎します。新しいツールの追加、既存機能の強化、ドキュメントの改善など、皆さまからの貢献は大切です。
ほかの MCP サーバーの例や実装パターンについては、次をご覧ください。 https://github.com/modelcontextprotocol/servers
プルリクエストを歓迎します!新しいアイデア、バグ修正、機能強化などをぜひお寄せください。mcp-server-fetch をさらに強力で便利なものにしていきましょう。
ライセンス
mcp-server-fetch は MIT License のもとでライセンスされています。MIT License の利用規約に従う限り、ソフトウェアを自由に使用、変更、配布できます。詳細については、プロジェクトリポジトリ内の LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。