Fetch MCP Server について
Fetch MCP Server は、Web コンテンツを HTML、JSON、プレーンテキスト、Markdown、記事本文、YouTube 字幕として取得する MCP サーバーです。AI アシスタントにページや動画の字幕を読ませたい場合に適しており、SSRF 対策も備えています。
主な機能
- 01HTML、JSON、テキスト、Markdown による取得
- 02Mozilla Readability による本文抽出
- 03yt-dlp または直接解析による YouTube 字幕取得
- 04max_length と start_index によるページング
- 05カスタムヘッダーとプロキシ対応
- 06SSRF 対策と応答サイズ制限
活用シーン
- 01ナビゲーションや広告を除いた記事を AI アシスタントに読ませる
- 02YouTube 動画から指定言語の字幕を取得する
- 03プロキシ経由でファイアウォール内のページにアクセスする
MCP 対応
本プロジェクトは MCP サーバーであり、fetch_html、fetch_markdown、fetch_txt、fetch_json、fetch_readable、fetch_youtube_transcript などのツールを MCP クライアントに公開します。npx によるコマンドラインツールとしても利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 取得元の URL |
| method | enum | いいえ | 使用する HTTP メソッド。デフォルトは GET です。GET | POST | PUT | DELETE | PATCH | HEAD | OPTIONS |
| headers | object | いいえ | リクエストに含める HTTP ヘッダー(キーと値のペア) |
| body | string | いいえ | リクエスト本文。文字列、JSON、またはフォームデータを指定できます |
| mode | enum | いいえ | リクエストのモード(cors、no-cors、または same-origin)cors | no-cors | same-origin |
| credentials | enum | いいえ | リクエストに認証情報を含めるかどうかomit | same-origin | include |
| cache | enum | いいえ | リクエストのキャッシュモードdefault | no-store | reload | no-cache | force-cache | only-if-cached |
| redirect | enum | いいえ | リダイレクトの処理方法。デフォルトは follow ですfollow | error | manual |
| referrer | string | いいえ | リクエストとともに送信するリファラー |
| referrerPolicy | enum | いいえ | リクエストのリファラーポリシーno-referrer | no-referrer-when-downgrade | origin | origin-when-cross-origin | same-origin | strict-origin | strict-origin-when-cross-origin | unsafe-url |
| signal | any | いいえ | リクエストを中止するための AbortSignal |
| timeout | number | いいえ | リクエストのタイムアウト時間(ミリ秒) |
| followRedirects | boolean | いいえ | リダイレクトを追跡するかどうか。デフォルトは true です |
詳細
Fetch MCP Server

HTML、JSON、プレーンテキスト、Markdown、読みやすい記事コンテンツ、YouTube の文字起こしなど、複数の形式でウェブコンテンツを取得する MCP サーバーです。
ツール
すべてのツールで、次の共通パラメーターを使用できます。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
url | string | はい | 取得する URL |
headers | object | いいえ | リクエストに含めるカスタムヘッダー |
max_length | number | いいえ | 返す最大文字数(デフォルト:5000) |
start_index | number | いいえ | この文字インデックスから開始します(デフォルト:0) |
proxy | string | いいえ | プロキシ 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]
コマンド
| コマンド | 説明 |
|---|---|
html | URL を取得し、HTML の生データを返します |
markdown | URL を取得し、Markdown を返します |
readable | URL を取得し、記事コンテンツを Markdown で返します(Readability を使用) |
txt | URL を取得し、プレーンテキストを返します |
json | URL を取得し、JSON を返します |
youtube | YouTube 動画の文字起こしを取得します |
フラグ
| フラグ | 説明 |
|---|---|
--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 の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。