mcpField
F
Fetch MCP Server

Fetch MCP Server

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

Fetch MCP Server について

Fetch MCP Server は、Web コンテンツを HTML、JSON、プレーンテキスト、Markdown、記事本文、YouTube 字幕として取得する MCP サーバーです。AI アシスタントにページや動画の字幕を読ませたい場合に適しており、SSRF 対策も備えています。

主な機能

  1. 01HTML、JSON、テキスト、Markdown による取得
  2. 02Mozilla Readability による本文抽出
  3. 03yt-dlp または直接解析による YouTube 字幕取得
  4. 04max_length と start_index によるページング
  5. 05カスタムヘッダーとプロキシ対応
  6. 06SSRF 対策と応答サイズ制限

活用シーン

  1. 01ナビゲーションや広告を除いた記事を AI アシスタントに読ませる
  2. 02YouTube 動画から指定言語の字幕を取得する
  3. 03プロキシ経由でファイアウォール内のページにアクセスする

MCP 対応

本プロジェクトは MCP サーバーであり、fetch_html、fetch_markdown、fetch_txt、fetch_json、fetch_readable、fetch_youtube_transcript などのツールを MCP クライアントに公開します。npx によるコマンドラインツールとしても利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"fetch-mcp-zcaceres": {
"command": "npx",
"args": [
"-y",
"mcp-fetch"
]
}
}
}
起動コマンドnpx -y mcp-fetch

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

パッケージ
npmmcp-fetch

ツール

5

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

パラメーター型必須説明
urlstringはい取得元の URL
methodenumいいえ使用する HTTP メソッド。デフォルトは GET です。GET | POST | PUT | DELETE | PATCH | HEAD | OPTIONS
headersobjectいいえリクエストに含める HTTP ヘッダー(キーと値のペア)
bodystringいいえリクエスト本文。文字列、JSON、またはフォームデータを指定できます
modeenumいいえリクエストのモード(cors、no-cors、または same-origin)cors | no-cors | same-origin
credentialsenumいいえリクエストに認証情報を含めるかどうかomit | same-origin | include
cacheenumいいえリクエストのキャッシュモードdefault | no-store | reload | no-cache | force-cache | only-if-cached
redirectenumいいえリダイレクトの処理方法。デフォルトは follow ですfollow | error | manual
referrerstringいいえリクエストとともに送信するリファラー
referrerPolicyenumいいえリクエストのリファラーポリシーno-referrer | no-referrer-when-downgrade | origin | origin-when-cross-origin | same-origin | strict-origin | strict-origin-when-cross-origin | unsafe-url
signalanyいいえリクエストを中止するための AbortSignal
timeoutnumberいいえリクエストのタイムアウト時間(ミリ秒)
followRedirectsbooleanいいえリダイレクトを追跡するかどうか。デフォルトは true です

詳細

Fetch MCP Server

fetch mcp logo

npm version

HTML、JSON、プレーンテキスト、Markdown、読みやすい記事コンテンツ、YouTube の文字起こしなど、複数の形式でウェブコンテンツを取得する MCP サーバーです。

Fetch Server MCP server

ツール

すべてのツールで、次の共通パラメーターを使用できます。

パラメーター型必須説明
urlstringはい取得する URL
headersobjectいいえリクエストに含めるカスタムヘッダー
max_lengthnumberいいえ返す最大文字数(デフォルト:5000)
start_indexnumberいいえこの文字インデックスから開始します(デフォルト:0)
proxystringいいえプロキシ URL(例:http://proxy:8080)
  • fetch_html — ウェブサイトを取得し、HTML の生データを返します。

  • fetch_markdown — ウェブサイトを取得し、Markdown に変換したコンテンツを返します。

  • fetch_txt — ウェブサイトを取得し、HTML タグ、スクリプト、スタイルを削除したプレーンテキストを返します。

  • fetch_json — URL を取得し、JSON レスポンスを返します。

  • fetch_readable — Mozilla Readability を使ってウェブサイトを取得し、記事の主要コンテンツを抽出して Markdown で返します。ナビゲーション、広告、定型コンテンツを除去します。記事やブログ投稿に最適です。

  • fetch_youtube_transcript — YouTube 動画の字幕/文字起こしを取得します。利用可能な場合は yt-dlp を使用し、そうでない場合はページから直接抽出します。字幕の言語を選択するための追加パラメーター lang(デフォルト:"en")を指定できます。

インストール

MCP サーバーとして

MCP クライアントの設定に追加します。

{
  "mcpServers": {
    "fetch": {
      "command": "npx",
      "args": ["mcp-fetch-server"]
    }
  }
}
CLI として
npx mcp-fetch <command> <url> [flags]

または、グローバルにインストールします。

npm install -g mcp-fetch-server
mcp-fetch <command> <url> [flags]

CLI の使用方法

mcp-fetch <command> <url> [flags]
コマンド
コマンド説明
htmlURL を取得し、HTML の生データを返します
markdownURL を取得し、Markdown を返します
readableURL を取得し、記事コンテンツを Markdown で返します(Readability を使用)
txtURL を取得し、プレーンテキストを返します
jsonURL を取得し、JSON を返します
youtubeYouTube 動画の文字起こしを取得します
フラグ
フラグ説明
--max-length <N>返す最大文字数
--start-index <N>この文字インデックスから開始します
--proxy <URL>プロキシ URL
--lang <code>YouTube の文字起こしに使用する言語コード(デフォルト:en)
--helpヘルプメッセージを表示します
--versionバージョンを表示します
例
# Fetch a page as markdown
mcp-fetch markdown https://example.com

# Extract article content without boilerplate
mcp-fetch readable https://example.com/blog/post

# Get a YouTube transcript in Spanish
mcp-fetch youtube https://www.youtube.com/watch?v=dQw4w9WgXcQ --lang es

# Fetch with a length limit
mcp-fetch html https://example.com --max-length 10000

# Fetch through a proxy
mcp-fetch json https://api.example.com/data --proxy http://proxy:8080

環境変数

変数説明
DEFAULT_LIMITレスポンスのデフォルト文字数制限(デフォルト:5000、制限なしにするには 0 を設定)
MAX_RESPONSE_BYTESレスポンス本文の最大サイズ(バイト単位、デフォルト:10485760/10 MB)

制限を指定する例:

{
  "mcpServers": {
    "fetch": {
      "command": "npx",
      "args": ["mcp-fetch-server"],
      "env": {
        "DEFAULT_LIMIT": "50000"
      }
    }
  }
}

機能

  • ウェブコンテンツを HTML、JSON、プレーンテキスト、Markdown として取得
  • Mozilla Readability で記事コンテンツを抽出(広告、ナビゲーション、定型コンテンツを除去)
  • YouTube 動画の文字起こしを抽出(yt-dlp または直接抽出を使用)
  • ファイアウォール内からのリクエストに対応するプロキシサポート
  • max_length と start_index によるページネーション
  • カスタムリクエストヘッダー
  • SSRF 保護(プライベートアドレス/localhost アドレスと DNS リバインディングをブロック)
  • メモリ枯渇を防ぐレスポンスサイズ制限

開発

bun install
bun run dev     # start with watch mode
bun test        # run tests
bun run build   # build for production

ライセンス

このプロジェクトは MIT License の下でライセンスされています。

コメント

MCP は初めてですか?

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

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