Anyfetch について
Anyfetchは、通常の自動リクエストを拒むサイトも読み取る、AIエージェント向けのオープンソース検索・取得サーバー兼コマンドラインツールです。複数の検索元とブラウザー風のリクエストを組み合わせ、関連箇所の抽出やPDF読取にも対応します。
主な機能
- 01ウェブと専門情報源の検索
- 02ブラウザー風リクエストでページ取得
- 03検索に関連するページ箇所の抽出
- 04ページ番号付きテキストでPDF読取
- 05複数URLの並列取得
- 06MCPサーバーまたはCLIとして利用
活用シーン
- 01ウェブや学術情報源を横断した調査
- 02一般的なエージェント要求を拒むページの読取
- 03長い文書から関連段落を抽出
- 04複数ページを一度に取得して解析
MCP 対応
web_search、web_fetch、web_fetch_manyを備えたstdio MCPサーバーを提供します。MCPクライアントからanyfetch mcpコマンドで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
3掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | |
| fresh | boolean | いいえ | 過去 15 分以内に取得したコピーがあっても、ページを再取得します。 |
| query | string|null | いいえ | 質問またはキーワード。一致するページ部分のみを返し、省略箇所は [...] で示します。最大 max_chars 文字(query 指定時のデフォルトは 5000)です。長いページから情報を 1 つ取得する場合に使用します。query と offset は併用できません。 |
| offset | integer | いいえ | 返すコンテンツの開始文字位置です。max_chars と併用して、長いページを分割して読み取ります。 |
| max_chars | integer|null | いいえ | 返すコンテンツの最大文字数(デフォルトは 50000)です。結果の total_chars は全体の長さを示します。 |
詳細
Anyfetch
AI エージェント向けのウェブ検索とウェブ取得。小さなバイナリひとつで、API キーは不要です。エージェントのアクセスを拒否するサイトも読み取れます。
無料のオープンソースソフトウェアです。AliasMode の開発元が提供しています。
エージェントのハーネスはボットの識別情報を使ってページを取得するため、ウェブ上の多くのサイトから 403 が返されます。Anyfetch は実際のブラウザーと同じ方法でリクエストを送信するので、エージェントがページを取得できます。
| AI エージェントをブロックする人気サイト97件 | 読み取れたページ数 |
|---|---|
| Anyfetch | 82 |
| 住宅用 IP の NobleProxy を使った Anyfetch | 87 |
| curl | 46 |
| 参照用 MCP 取得サーバー | 39 |
Claude Code 組み込みの WebFetch | 36 |
Anyfetch は、表中のほかのどのツールも読み取れなかったサイトを28件読み取れました。その中には、The New York Times、Reuters、Bloomberg、The Washington Post、The Economist、Medium、Reddit、Stack Overflow、IMDb、YouTube があります。
| 調査用の質問33件をそれぞれ2回実施 | 2回とも正しく回答 |
|---|---|
| Anyfetch を使ったエージェント | 32 |
Claude Code 組み込みの WebSearch と WebFetch を使った同じエージェント | 27 |
質問のうち13件は、AI エージェントをブロックするサイトのページに関するものです。組み込みの取得機能は、この13ページをひとつも読み取れませんでした。検索では、そのうち7件について別の情報源から回答を見つけました。Anyfetch は、どちらの実行でも12件に回答しました。質問は Anyfetch が読み取れるページをもとに作成したため、このグループから組み込みツールが見落とす情報がわかります。
| ページを1つ、起動直後の状態から取得 | 所要時間 | 最大メモリ使用量 |
|---|---|---|
| Anyfetch | 0.19 s | 17 MB |
| ヘッドレス Chromium | 1.15 s | 544 MB |
サイトの測定は2026-10-12、バージョン0.8.0で実施しました。質問の測定は2026-10-12、バージョン0.7.1で実施しました。所要時間とメモリ使用量の測定は2026-10-11に実施しました。すべてクラウドサーバーで測定し、プロキシ行を除いてプロキシは使用していません。測定方法と再実行方法をご覧ください。
エージェントが利用できるもの
- キーなしで検索できます。 Brave、Yahoo、DuckDuckGoの検索結果に対応し、ドメインや日付での絞り込み、フレーズの引用検索、ページ送りができます。GitHub、Stack Overflow、Hacker News、arXiv、研究論文向けの専門ソースにも対応しています。または、ご自身のSearXNGを利用できます。
- 検索と読み込みを1回の呼び出しで行えます。 検索結果一覧とともに上位の結果を取得するよう指定すると、各ページからクエリに一致する部分を取得できます。
- ページ全体ではなく、回答を取得できます。 URLと質問を指定すると、ページから質問に一致する部分だけを取得できます。Python 3.15のリリースノートは218,000文字ですが、そこから1つの質問に対する回答を取得したところ、2,200文字でした。
- 整ったMarkdown。 リンク、表、コードブロックはそのまま保持されます。長いページは分割して取得されます。
- PDF。 論文やレポートをページごとにテキストとして取得できます。
- JavaScriptが必要なサイト。 Anyfetchはページ内のデータを読み取り、Stack Overflow、Reddit、IMDb、Xの投稿、PyPI、crates.ioでは、サイトの公開APIまたはフィードを利用します。Redditのスレッドでは、すべてのコメントとそのスコアを取得できます。ブラウザーは起動しません。スクリプトなしでは何も表示されないページでは、オプションの軽量エンジンであるLightpandaを利用できます。
- ニュースと回答。 ReutersとBloombergの全文記事、The Economistの最新記事、Quoraの回答を、各サイトが送信するデータから取得できます。
- ホームページと一覧ページ。 1つの記事に絞られていないページは、見出しとリンクをページ上の順序で取得できます。
- ブラウザー相当のリクエスト。 SafariのTLS、HTTP/2、ヘッダーフィンガープリントを使用します。取得を拒否された場合は、同じブラウザーとして、または2つ目のブラウザーとして自動で再試行します。RedditやBehanceのような、決まった手順だけのボットチェックを通過します。
- Cloudflareのチェック。 サイトがJavaScriptチェックを要求する場合は、ご自身のFirefoxで1度だけ通過します。その後、Anyfetchは通常のリクエストでサイトを読み取ります。
- 2回目以降は高速です。 1回の呼び出しで複数のページを同時に取得できます。直近15分以内に取得したページは、ローカルコピーから返されます。
- 軽量です。 16 MBのRustバイナリです。ブラウザー、JavaScriptエンジン、Python、Nodeは同梱されていません。
- どこでも使えます。 エージェントハーネス向けのstdio MCP サーバーと、それ以外の用途向けのシンプルなCLIを利用できます。
インストール
macOSとLinuxの場合:
curl -fsSL https://aliasmode.github.io/anyfetch/install.sh | sh
WindowsのPowerShellの場合:
irm https://aliasmode.github.io/anyfetch/install.ps1 | iex
インストーラーはanyfetchを~/.local/binに配置します。その後、マシン上で見つかった各エージェントハーネス(Claude Code、Codex、Gemini CLI、Hermes Agent、Pi、Cline、Amp、OpenClaw、Cursor)にAnyfetchを接続します。新しいエージェントセッションを開始すると、エージェントでweb_search、web_fetch、web_fetch_manyを利用できます。
後からハーネスをインストールしましたか? anyfetch setupを実行してください。各ハーネス独自のコマンドを使用し、接続した内容を通知します。また、何度実行しても安全です。
Node.jsをお使いですか? その場合、インストールは不要です。このサーバーをMCPクライアントに指定すれば、npxがご利用のプラットフォーム向けのプログラムを取得します。
{
"mcpServers": {
"anyfetch": { "command": "npx", "args": ["-y", "@aliasmode/anyfetch", "mcp"] }
}
}
macOSまたはLinuxでClaude Codeだけをお使いですか? その場合は、代わりにAnyfetchをプラグインとしてインストールできます。プラグインは初回起動時にプログラムを取得します。
claude plugin marketplace add aliasmode/anyfetch && claude plugin install anyfetch@anyfetch
Claude Code 2.1.275以降では、これを1ステップで実行できます:/plugin install anyfetch --marketplace aliasmode/anyfetch。プラグインとインストーラーを両方使うと、エージェントに各ツールが重複して表示されるため、どちらか一方を使ってください。
エージェントを手動で接続する
anyfetch setupを実行すると、この設定が自動で行われます。手動で設定する場合は、各ハーネスでコマンドを1つ実行する必要があります。
Claude Code
claude mcp add --scope user anyfetch -- anyfetch mcp
Codex
codex mcp add anyfetch -- anyfetch mcp
または~/.codex/config.tomlで設定します。
[mcp_servers.anyfetch]
command = "anyfetch"
args = ["mcp"]
Hermes Agent
hermes mcp add anyfetch --command anyfetch --args mcp
Hermesは接続すると、ツールの一覧を表示し、有効にするか尋ねます。Yと答えてください。
Pi
pi mcp add anyfetch -- anyfetch mcp
Piでは、デフォルトでMCPツールがコードモードの背後に隠されています。ツールをモデルに直接表示するには、~/.pi/agent/mcp.jsonで公開設定を指定します。
{
"mcpServers": {
"anyfetch": { "command": "anyfetch", "args": ["mcp"], "exposure": "direct" }
}
}
Gemini CLI
gemini mcp add -s user anyfetch anyfetch mcp
OpenCode — ~/.config/opencode/opencode.jsonで設定します。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"anyfetch": { "type": "local", "command": ["anyfetch", "mcp"], "enabled": true }
}
}
Cursor — ~/.cursor/mcp.jsonで設定します。
{
"mcpServers": {
"anyfetch": { "command": "anyfetch", "args": ["mcp"] }
}
}
その他のハーネス
| ハーネス | コマンド |
|---|---|
| Cline | cline mcp add anyfetch --yes -- anyfetch mcp |
| Amp | amp mcp add anyfetch -- anyfetch mcp |
| OpenClaw | openclaw mcp add anyfetch --command anyfetch --arg mcp |
| Goose | goose session --with-extension "anyfetch mcp" |
| VS Code (Copilot) | code --add-mcp "{\"name\":\"anyfetch\",\"command\":\"anyfetch\",\"args\":[\"mcp\"]}" |
その他のMCPクライアントでは、コマンドにanyfetch、引数にmcpを指定して、stdioサーバーを追加してください。
Anyfetchは、公式のMCP Registryにio.github.aliasmode/anyfetchとして登録されており、npmでは@aliasmode/anyfetchとして公開されています。
MCPを使わない場合は、エージェントにCLIを使わせてください。これをAGENTS.mdまたはハーネスの指示ファイルに追加します。
## Web access
- Search the web: `anyfetch search "<query>"`
- Read pages: `anyfetch fetch <url> [<url>...] --format markdown`
デフォルトで使うようにする。 Anyfetchは、組み込みのウェブツールの代わりに自分のツールを使うようエージェントに指示します。Claude Codeを使ったテストでは、エージェントはウェブに関する8件のタスクのうち8件でAnyfetchを選びました。それ以前は8件中2件でした。選択肢をなくすには、組み込みツールをオフにします。
- Claude Codeでは、
~/.claude/settings.jsonに"permissions": { "deny": ["WebFetch", "WebSearch"] }を設定します。 - Codexでは、
~/.codex/config.tomlにweb_search = "disabled"を設定します。
コマンドラインから使う
anyfetch search "rust async runtime comparison"
anyfetch search "tokio select" --site docs.rs --time year
anyfetch search "postgres vacuum freeze" --read 3
anyfetch search "retrieval augmented generation" --provider papers
anyfetch fetch https://stackoverflow.com/questions/231767 --format markdown
anyfetch fetch https://arxiv.org/pdf/1706.03762 --max-chars 8000 --offset 8000
anyfetch fetch https://docs.python.org/3.15/whatsnew/3.15.html --query "sampling profiler rate"
anyfetch fetch https://www.rust-lang.org/ https://go.dev/ https://ziglang.org/
デフォルトでは出力はJSONなので、スクリプトやエージェントで解析できます。--format markdownを指定すると、ページの内容だけが出力されます。
ツール
web_fetch
| 入力 | 説明 |
|---|---|
url | 読み込むページです。 |
query | 省略可能です。質問またはキーワードを指定します。結果には、ページ内で一致した部分だけが含まれます。 |
max_chars | 省略可能です。返す内容の最大文字数です。デフォルトは50,000文字、queryを指定した場合は5,000文字です。 |
offset | 省略可能です。返す内容の先頭文字の位置です。queryを指定した場合は使用されません。 |
fresh | 省略可能です。過去15分以内のコピーがあっても、再取得します。 |
結果には、title、description、content(Markdown)、total_chars、url(リダイレクト後)、status、retrieved_atが含まれます。長いページを分割して読むには、total_charsに達するまでoffsetを増やして再度呼び出します。各部分はローカルコピーから取得するため、サイトへのリクエストは1回だけです。
queryを指定すると、ページは段落、表、コードブロックごとに分割されます。クエリの単語に最もよく一致する部分が、見出しごとにページ順で返され、省略された部分には[...]が入ります。この場合、結果にはfocused: trueも含まれます。一致する部分がないページは、冒頭から返されます。同じページについて2つ目の質問をする場合は、ローカルコピーが使われます。
HTMLはMarkdownに変換されます。PDFは[Page N]マーク付きのテキストに変換されます。JSON、プレーンテキスト、XMLフィードはそのまま返されます。
web_fetch_many
| 入力 | 説明 |
|---|---|
urls | 読み込むページです。各ページは同時に取得されます。 |
query | 省略可能です。web_fetchと同じです。各ページから最大5,000文字が返されます。 |
max_chars | 省略可能です。ページごとに返す内容の最大文字数です。デフォルトでは、ページ間で合計50,000文字を共有します。 |
fresh | 省略可能です。web_fetchと同じです。 |
結果にはpagesが含まれ、URLごとに1件ずつ、順番に並びます。各項目にはページの内容、またはそのerrorが含まれます。
web_search
| 入力 | 意味 |
|---|---|
query | 検索クエリです。引用符で囲んだフレーズも使用できます。 |
provider | 任意です。以下の一覧を参照してください。デフォルトは auto です。 |
site | 任意です。たとえば docs.rs のように、1 つのドメインの結果に絞り込めます。 |
time | 任意です。day、week、month、year のいずれかです。 |
page | 任意です。結果ページ番号です。1 から指定します。 |
read | 任意です。この件数までの上位結果について、クエリに一致する各ページの部分も返します。 |
searxng_url | searxng プロバイダーで使用する、SearXNG インスタンスのベース URL です。JSON 出力を有効にする必要があります。 |
各結果には title、url、snippet が含まれ、read を設定した場合は content も含まれます。
| プロバイダー | ソース |
|---|---|
auto | Brave、Yahoo、DuckDuckGo を同時に使用します。各検索結果を統合し、複数のエンジンで上位にランクされたページを先に表示します。engines には応答したエンジン名が含まれます。 |
brave | Brave Search。1 ページあたり約 20 件の結果です。 |
yahoo | Yahoo Search。1 ページあたり 7 件の結果です。year フィルターはありません。 |
duckduckgo | DuckDuckGo。最初のページのみです。 |
searxng | 独自の SearXNG インスタンスです。 |
github | GitHub リポジトリ。スター数と言語も表示されます。 |
stackoverflow | Stack Overflow の質問。スコアと回答数も表示されます。 |
hackernews | Hacker News の記事。ポイント数とディスカッションへのリンクも表示されます。 |
arxiv | arXiv の論文。要約も表示されます。 |
papers | OpenAlex の研究論文。引用数とオープンアクセスのリンクも表示されます。 |
site、time、引用符で囲んだフレーズは、ウェブ検索エンジンに適用されます。専門分野別のソースは、独自のリクエスト制限がある無料の公開 API です。
エラー
呼び出しに失敗すると、エージェントが対処できる code を含む error オブジェクトが返されます。
| コード | 意味 |
|---|---|
challenge_required | サイトがブラウザーを必要とするボット対策チェックを返しました。 |
http_error | サイトがリクエストを拒否しました。status に HTTP コードが含まれます。 |
rate_limited | サイトからリクエスト頻度を下げるよう求められました。指定されている場合、retry_after に待機時間が含まれます。 |
timeout | 30 秒以内にサイトから応答がありませんでした。 |
unsupported_content | URL のコンテンツがテキストでも PDF でもありません(たとえば画像)。 |
extraction_failed | ページに読み取り可能なコンテンツがありません。スキャンされた PDF にはテキストがありません。 |
Cloudflare のチェック
一部のサイトでは、最初のリクエストのたびに JavaScript チェックが返されます。Anyfetch はこれを次の 2 つの手順で処理します。
- Firefox が一度だけチェックを通過します。Firefox は一時的なプロファイルを使って数秒間、非表示で実行されます。
- Anyfetch はそのサイトのクリアランスを保存し、通常のリクエストに戻ります。Medium では、一度のチェックで 1 年間有効です。
テストでは、このようなサイトの最初のページの取得に約 5 秒かかり、次のページは 2 秒未満でした。
この機能には、マシン上に Firefox または Firefox ベースのブラウザーが必要です。ブラウザーがない場合、動作は変わらず、取得結果は challenge_required になります。
| 設定 | 効果 |
|---|---|
ANYFETCH_BROWSER=off | ブラウザーを起動しません。 |
ANYFETCH_BROWSER=/path/to/browser | この Firefox ベースのブラウザーを使用します。 |
MCP サーバーでは、サーバーのエントリーに変数を設定してください。Claude Code の場合:
claude mcp add --scope user anyfetch -e ANYFETCH_BROWSER=off -- anyfetch mcp
注意事項:
- Linux でテスト済みです。Windows および Snap パッケージ版 Firefox(Ubuntu のデフォルト)では、
ANYFETCH_BROWSERでブラウザーを指定した場合にのみ使用されます。 - クリアランスは取得したアドレスに紐付くため、ブラウザーはプロキシと併用されません。
- 保存されたクリアランスは
~/.config/anyfetch/clearance/にあります。サイトの情報を削除するには、ファイルを削除してください。
スクリプトが必要なページ
ほとんどのページは、JavaScript なしで Anyfetch にテキストを提供します。HTML 内、ページのデータ内、または公開 API 経由で取得できます。一部のページは、スクリプトが実行されるまで何も表示しません。MSN、Spotify、Airbnb がその例です。こうしたページでは、Anyfetch はLightpandaを使用できます。これは、フルブラウザーを必要としない小型のヘッドレスエンジンです。
Lightpanda はオプションで、別途インストールする必要があります。README に従ってインストールし、lightpanda を PATH に追加すると、Anyfetch は必要なページでこれを使用します。テストでは、MSN はコンテンツなしの状態から12秒で154,000文字に、Spotify はコンテンツなしの状態から3秒で23,000文字になりました。すでに取得できるページはレンダリングされないため、高速なままです。
| 設定 | 効果 |
|---|---|
ANYFETCH_RENDERER=off | レンダラーを起動しません。 |
ANYFETCH_RENDERER=/path/to/lightpanda | このプログラムを使用します。 |
注意:
- Lightpanda は独自にリクエストを送信します。プロキシとの併用はできず、ボットチェックがあるサイトでは拒否されることがあります。
- フィードや一覧など、アプリケーションページをレンダリングすると、ページ全体が Markdown として返されます。
プロキシを使用する
サイトによっては、リクエストの内容にかかわらず、クラウドサーバーのアドレスを拒否します。エージェントをサーバー上で実行する場合は、Anyfetch を住宅用プロキシ経由で接続します。~/.config/anyfetch/proxy に1行追加してください。
host:port:username:password
すると Anyfetch は、すべての検索と取得をその HTTP プロキシ経由で行います。このファイルにはパスワードが平文で保存されるため、秘密にしてください。chmod 600 ~/.config/anyfetch/proxy を実行します。直接接続に戻すには、ファイルを削除してください。
自分のアドレスからの接続は許可し、プロキシのアドレスからの接続は拒否するサイトもあります。どちらの種類にもアクセスするには、2行目に direct という単語を追加します。すると Anyfetch はまずプロキシ経由で試し、プロキシ経由の接続が拒否された場合は、サイトに直接アクセスします。
プロキシが必要ですか?弊社のサービス、NobleProxyをご利用ください。テストでは、NobleProxy のアドレスを1つ使うことで、Anyfetch がアクセスできたサイトは97サイト中82サイトから87サイトに増え、毎回同じ結果が得られました。サーバーアドレスを拒否するThe Wall Street Journal、Tripadvisor、Yelp、Etsy、Bandcampにアクセスできました。お客様だけが使用する静的な住宅用 IP アドレスを、帯域幅無制限、HTTP 対応で利用できます。
対応していないこと
Anyfetch 自体は JavaScript を実行せず、CAPTCHA を解いたり、ログインしたりもしません。HTML 内にデータがなく、公開 API もないため、スクリプトの実行後にしかコンテンツが表示されないページは、Lightpanda がインストールされていない限り、タイトルと説明のみを返します。サイトが初めて訪れたユーザーに送信する内容を読み取ります。CAPTCHA、アカウント、またはサブスクリプションがないと読み込めないページにはアクセスできず、Anyfetch はエラーコードでそのことを知らせます。
エージェントに、ログインや保存済みセッションを使える実際のブラウザーが必要ですか?AliasModeをご利用ください。弊社が提供する無料のオープンソースのアンチディテクトブラウザーで、エージェント向けの独自の MCP サーバーも備えています。
ベンチマーク
冒頭の数値は、bench/ にある2つのスクリプトと1つの質問セットから得られたものです。
-
読み取ったページ数。
bench/bench.pyは、bench/sites.txtにある97個のサイトを、それぞれのツールで1回ずつ読み取ります。ツールが500文字以上のテキストを返し、そのテキストがボットチェックではない場合、そのページを読み取ったとみなします。このルールはすべてのツールに適用しています。Anyfetchは3回実行し、82、81、82ページを読み取りました。表には中央の実行結果を示しています。NobleProxy の固定住宅IP(米国ケーブルプロバイダーの固定アドレス)を使い、プロキシファイルのdirect行を指定した場合、3回の実行すべてで87ページを読み取りました。このプロキシにより、The Wall Street Journal、Tripadvisor、Yelp、Etsy、Bandcampも読み取れるようになりました。ほかのツールはプロキシ経由ではテストしていません。Claude CodeのWebFetchはスクリプトから実行できないため、エージェントが各サイトで1回ずつ呼び出し、実際のコンテンツが返ったかどうかを記録しました。 -
時間とメモリ。
bench/speed.pyは、各プログラムで10ページを読み取ります。ページごとにプログラムを新規起動し、中央値を報告します。 -
調査用の質問。
bench/tasks.jsonには33個の質問があります。それぞれに、正確な答えと、その答えを裏付けるソースページ上の文が1つ含まれています。ページの日付は2026年7月から10月のため、モデルは記憶だけでは答えられません。Claude Sonnetエージェントは、Anyfetchのみを使った場合と、Claude Codeに組み込まれたWebSearchとWebFetchのみを使った場合のそれぞれで質問に回答しました。指示は同じで、質問ごとのウェブ呼び出しは最大8回、ツールから答えが得られない場合はUNKNOWNとします。Anyfetchはプロキシ、Firefox、Lightpandaを使わずに実行しました。各ツールを2回実行し、両方の実行で正解した場合に、その質問を正解として数えています。
| 質問グループ | Anyfetch | 組み込みツール |
|---|---|---|
| AI エージェントをブロックするサイトのページ | 13問中12問 | 13問中7問 |
| オープンなサイトのページ | 10問中10問 | 10問中10問 |
| URLなし:まず検索してから読み取る | 10問中10問 | 10問中10問 |
1回の実行では、Anyfetchは32問と33問に回答し、組み込みツールは28問と27問に回答しました。Anyfetchが間違えた1問はRedditのスレッドでした。その日はRedditがテストマシンのレートを制限しており、1回の実行で、Anyfetchは投稿のリンクではなくコメント内のリンクを読み取っていました。
このテストについて、知っておくべきことが3つあります。質問の作成者は各回答をAnyfetchで確認したため、最初のグループにはAnyfetchが読み取れるページのみが含まれています。Financial Timesは作成者のリストにありましたが、記事の閲覧には購読が必要なため、質問はありません。質問のうち30問はテストより1日古いもので、そのうち28問の答えは同じ日にソースページで再確認しました。すべての回答はbench/results/tasks.tsv にあります。
また、同じ97個のサイトを、APIキーを使わず、デフォルト設定のままでほかの8つのツールでも読み取りました。
| ツール | 読み取ったページ数 |
|---|---|
| Anyfetch | 82 |
| Exa MCP(ホスト型、保存済みのコピーから回答) | 78 |
| Scrapling、ステルスブラウザー | 71 |
| Scrapling、プレーンHTTP | 69 |
Hermes Agent web_extract(ホスト型リーダー) | 68 |
| Crawl4AI | 66 |
| Jina Reader | 61 |
| Playwright MCP | 52 |
| DuckDuckGo MCP サーバー | 49 |
各ツールの実行方法と比較する前に知っておくべきことは、bench/other-tools/NOTES.md に記載されています。全サイトを含む完全な順位はaliasmode.com にあります。
サイトごとの結果はbench/results/ にあります。サイトのルールは頻繁に変わり、ネットワークによって結果も異なるため、ご自身で実行してください。
python3 bench/bench.py anyfetch curl
pip install mcp-server-fetch && python3 bench/bench.py reference
python3 bench/speed.py /path/to/chromium
ソースからビルドする
Rust 1.98、cmake、clang が必要です(TLSライブラリはBoringSSLです)。WindowsではNASMも必要です。
cargo install --git https://github.com/aliasmode/anyfetch
ライセンス
Apache-2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。