FATSEARCH について
FATSEARCHは、AIエージェント向けにウェブページ、PDF、文書、GitHub検索結果をキャッシュ付きMarkdownに変換するMCPサーバー兼コマンドラインツールです。まず通常のHTTP取得を試し、設定済みプロバイダーで描画が必要なページや取得が阻まれるページにも対応し、IDでセクションを参照できます。
主な機能
- 01ページやファイルをMarkdownに変換
- 02結果のキャッシュとセクションID
- 03描画・取得制限へのプロバイダー対応
- 04ウェブとGitHubの検索
- 05取得コスト・時間・トークン数の記録
活用シーン
- 01エージェントでJavaScriptページやPDFを読む
- 02ページ全体でなく必要なセクションを取得
- 03取得コストとトークン使用量を確認
- 04エージェントからウェブやGitHubを検索
MCP 対応
FATSEARCHはstdioのMCPサーバーとして`fats(cmd)`ツールを公開します。MCPクライアントはコマンドラインと同じコマンドで、取得、検索、キャッシュ内容の確認を行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
エージェントに組み込まれた fetch では読めないページ(JS ページ、PDF)を、独自のプロバイダーキーを使って読み込みます。
ディスク上にクリーンな Markdown として保存し、アウトラインと ID で移動できます。
同じ質問 · 同じ回答 · コンテキストを81分の1に
それが狙いです。
エージェントが読むページごとに、これだけのコストがかかります
| Wikipedia · Rust · モデル入力は100万トークンあたり$2(Claude Sonnet 5.5、2026-10-19) | コンテキスト内のトークン数 | Fetch | モデル料金 |
|---|---|---|---|
| Firecrawl | 112,517 | 1クレジット | $0.23 |
| Bright Data Unlocker | 103,625 | 1リクエスト | $0.21 |
| Oxylabs Web API | 102,609 | 1リクエスト | $0.21 |
| Tavily Extract | 97,504 | 0.2クレジット | $0.20 |
| Jina Reader | 94,415 | 無料 | $0.19 |
| FATSEARCH | 918 | $0 | $0.002 |
エージェントには短いアウトラインが渡されます。詳しく知りたいときはページ全体ではなく、1つのセクションを読みます。
メニュー、Cookie バナー、ナビゲーション、フッターリンク、トラッキングスクリプトは取り除かれます。
価格、日付、数値は保持されます (loss guard がすべてカウントします)。
ヒント
「無料」の fetch は、モデル側では約100倍のコストがかかります。そして、その後のすべてのターンでもコンテキストに残ります。
チャットにキーが送られることはありません
fats setup <provider> を実行すると、127.0.0.1 上でランダムなトークンに保護された、30分間有効な一度限りのキー入力フォームが開きます。
ブラウザーでそこにキーを貼り付けるため、チャット、モデルのコンテキスト、エージェントのログにキーが残りません。
フォームは別のオリジンからの POST を拒否し、キーをその場で検証して、モード 0600 で保存し、該当するプロバイダーにのみ送信します。
$ fats setup decodo
= setup decodo · waiting for the key at http://127.0.0.1:59802/k/e0c8baba7a5b058947f4fdab97dabb05/decodo · 30 min · $0
tell the user (never ask for the key in chat):
1. open https://dashboard.decodo.com/web-data/playground (no account yet: https://dashboard.decodo.com/register)
2. Copy the API key shown on the Web Data playground. Do NOT paste it in this chat.
3. open http://127.0.0.1:59802/k/e0c8baba7a5b058947f4fdab97dabb05/decodo , paste the key, press Save
then: fats setup (when the user says done; end your turn, do not poll · checks it, $0)
link dead (30 min passed)? run fats setup decodo again and give the user the new line 3
fats setup は、まだキー入力を待っているフォーム(! form_waiting decodo · 23 min left · <its URL>)か、期限切れのフォーム(! form_expired decodo · the link the user got is dead → fats setup decodo · new link, same 3 steps)を表示します。
SSH 経由(SSH_CONNECTION または SSH_TTY が設定されている場合)では、ターミナルでキーを貼り付ける方法を示す行がもう1つ表示されます。
## 難しいページについて
fats はまずプレーンな HTTP を試します(無料)。ページが JavaScript のシェル、CAPTCHA、またはアクセス制限に阻まれている場合は、プロバイダーに切り替えます。最も安価なものから試し、ヘッジを行い、すべての呼び出しでコストを追跡します。
$ fats https://www.nytimes.com/ dry:true
nytimes.com/ fetch plain → oxy (after a captcha) → bd ∥ oxyjs after 5s → new u1 · up to $0.0040
$ fats stats
u1 rust-lang.org · Rust Programming Language · plain 230ms $0.0000 · 1.2ktok
u2 en.wikipedia.org · Rust (programming language… · plain 558ms $0.0000 · 40.9ktok
fats stats が示すのはマーケティング文句ではなく、実際の数値です。
難しいページ 38 件 ソーシャル · ニュース · ショッピング · 旅行 · クラシファイド · 検索 · 各 1 回実行
| 返されたテキストに回答が含まれるまでの時間 | 1 s | 10 s | 20 s | 60 s |
|---|---|---|---|---|
| FATSEARCH 0.2.0 2026-10-21 | 12 | 19 | 19 | 35 /38 |
| Firecrawl 2026-10-16 | 0 | 22 | 24 | 24 |
| Tavily 2026-10-16 | 9 | 17 | 18 | 19 |
FATSEARCH は難しいページをより多く読み取ります。Firecrawl と Tavily は、読み取れたページではより高速です(同じページの中央値:23.7 s 対 4.9 s、23.7 s 対 1.0 s)。読み取りは別の日に実行しました。方法と全行 → · 上の表:1 ページ、6 つのリーダー →
エージェントでのテスト結果 FATSEARCH 0.1.3 · Claude Code 2.1.280、各 1 回実行、2026-10-19
- 51 のタスクで、FATSEARCH MCP と Firecrawl MCP を比較:正解は 50/51 対 51/51 · 1,000 タスクあたり $15.06 対 $53.48 · 中央値 5.3 s 対 6.7 s · 遅いほうから 10%の所要時間 43.8 s 対 21.5 s。詳細 →
- Claude Code の WebFetch は npm、Medium、G2 で 403 エラーになりましたが、FATSEARCH は 3 つすべてを読み取りました。詳細 →
- Wikipedia の 1 ページでオープンソースのリーダーを比較:FATSEARCH は回答までに 1,384 トークンを使用。mcp-server-fetch、Crawl4AI、mcp-searxng、セルフホスト可能な Firecrawl はページ全体で 75k~117k を使用しました。詳細 →
- 敗北した結果も含む全表:docs/benchmarks.md
はじめに
| 1 · インストール | 2 · キー (任意) | 3 · 接続 |
|---|---|---|
brew install fatsearch/tap/fatsearch | fats setup | claude mcp add --scope user fats -- fats mcp |
または curl -fsSL https://fatsearch.com/install.sh | sh · Windows:npm i -g fatsearch · cargo install --locked fatsearch · すべてのホスト →
メモ
パッケージ名は
fatsearch、コマンド名はfatsです(ripgrep→rgと同様です)。Homebrew、npm、インストール スクリプトでは、別名としてfatsearchも追加されます。cargo installで追加されるのはfatsのみです。 アカウントは不要です。 プロバイダーキーがなくても、fatsは通常のリクエストで取得できる内容を読み取ります。ウェブ検索には Oxylabs または Bright Data のキーが必要です。 いずれか 1 つのキー(Oxylabs、Bright Data、または Decodo)があれば、そのプロバイダーを通じてページをレンダリングし、アクセス制限を解除します。
## セットアップ
ターミナルで操作する場合: fats setup を実行します。メニューには(↑↓ Enter)、無料の取得と各プロバイダーの状態が表示され、その後に設定(エージェント接続、キャッシュ、統計、テレメトリー)が表示されます。プロバイダーを選び、キーを貼り付けます(• と文字数で表示されます)。fats は保存前にキーをリアルタイムで確認します。fats setup oxy を実行すると、特定のプロバイダーに直接進めます(bd、decodo、gh も同様です)。
エージェントを使う場合、またはターミナルがない場合: エージェントが fats setup oxy(または bd、decodo、gh)を実行します。プロバイダーのダッシュボードへのリンクと、127.0.0.1 上で一度だけ使えるフォームを表示します。このフォームは30分間開いています。エージェントから URL を受け取り、チャットには決して貼り付けず、ブラウザーでフォームにキーを貼り付けます(表示内容)。その後、エージェントが fats setup を実行してキーを確認します($0)。
キーはキー用ディレクトリ内の auth.json(モード 0600)に保存され、各プロバイダーにのみ送信されます。auth.json が唯一のキーの保存元です。 fats は環境変数からキーを送信しないため、保存したキーがすべての呼び出しで使われます(fats は各キーの末尾4文字を表示します:keys oxy …6XBR · bd none · decodo none · gh none · auth.json)。ブラウザーを使えないマシン(CI、SSH)では、キーをパイプで渡してください:printf %s "$KEY" | fats setup oxy でキーを確認して保存します。キーをすでに環境変数に設定している場合は、一度 fats setup import-env を実行します。キーを確認して、まだ保存されていない場合に限りコピーし、保存済みのキーを置き換えることはありません。キーを置き換えると、古いファイルは auth.json.bak(0600)として保持されます。
| プロバイダー | キー | ページ、JS なし | ページ、レンダリングあり | ウェブ検索 |
|---|---|---|---|---|
| 無料(プレーン HTTP、自分の IP) | なし | $0 | — | — |
| Oxylabs Web API | fats setup oxy(インポート:OXYLABS_WEB_API_KEY) | $0.0010 | $0.0015 | $0.0010 |
| Bright Data Web Unlocker | fats setup bd(インポート:BRIGHTDATA_API_KEY、ゾーン:BRIGHTDATA_UNLOCKER_ZONE) | — | $0.0015 | $0.0015 |
| Decodo Web Data API | fats setup decodo(インポート:DECODO_AUTH_TOKEN) | $0.0010 | $0.0015 | — |
GitHub(fats gh) | fats setup gh で gh CLI のトークンをコピー(インポート:GH_TOKEN) | $0 | — | — |
ページごとの定価です。dry:true と fats stats で使われます。Oxylabs と Bright Data の使用額は fats account で確認できます。Decodo ではこのキーの使用量を確認できないため、表示される $ は定価であり、実際の使用額との照合は行われません。
キーを失わずに無効にする: fats setup oxy off を実行し、再び有効にするには fats setup oxy on を実行します。
無料の取得では自分の接続が使われます: 自分の IP からページごとに1リクエスト、サイトごとに開始できるのは毎秒最大1回です。ページはプロバイダーへのリクエストを購入するのではなく、順番を待ちます。プロバイダーはそれぞれ独自の IP を使い、速度制限はありません。fats setup free off を実行すると、すべてのページがプロバイダーに送られるため、ページごとに料金がかかります。
MCP
ツールは1つ。文字列は1つ。コマンドは同じです。
claude mcp add --scope user fats -- fats mcp # Claude Code
codex mcp add fats -- fats mcp # Codex
{"mcpServers": {"fats": {"command": "fats", "args": ["mcp"]}}} # Cursor, Desktop, …
ツールは fats(cmd) で、カードは約60トークンです。fats u1#3 を知っているエージェントなら、ツール全体を使えます。
MCP Registry:mcp-name: io.github.fatsearch/fats
コマンド
| コマンド | 説明 |
|---|---|
fats <url> | 取得 → 整理 → アウトライン作成。u1 としてキャッシュ |
fats u1#3 | セクション3を読む |
fats u1 price | ページ内を絞り込む |
fats u1 links · fats l4 | 番号付きリンク · 1つをたどる |
fats rust async runtime | ウェブ検索 → 結果を ID で表示 |
fats gh rust markdown | GitHub リポジトリをスター数順に表示 |
fats ./report.pdf | ローカルファイル。ページごとに1セクション |
fats stats | すべての取得について、プロバイダー、ms、料金、トークンを表示 |
… dry:true | 実行内容と料金を表示 |
オプション limit:20 country:de js:true wait:30 fresh:true · すべてを1画面で確認:fats help · うまく使う方法:fats guide
## エージェント向け
エージェントスキルはこのリポジトリでバージョン管理されています(skills/fatsearch/SKILL.md)。コンテキストをあふれさせずにページを読む方法や、fats がない場合のインストール、接続、確認方法が記載されています。
npx skills add fatsearch/fatsearch # Agent Skills standard: Claude Code, Codex, Cursor, Copilot, Gemini CLI, …
gh skill install fatsearch/fatsearch # the same through GitHub CLI ≥ 2.90
どちらの CLI もないエージェントは、リリースに固定された以下のファイルを読み込みます。
https://raw.githubusercontent.com/fatsearch/fatsearch/v0.2.4/skills/fatsearch/SKILL.md。
これにより、エージェントはレビュー可能なバージョン管理済みのテキストを確認でき、実行するものがウェブサイトから取得されることはありません。
エージェント向けのプレーンな Markdown ドキュメント:fatsearch.com/llms.txt。
テレメトリー
FATSEARCH は、問題の修正に役立てるため、匿名の使用状況統計を共有します。読んだ内容や検索した内容が共有されることはありません。
- 送信されないもの: URL、検索内容、ページのテキスト、ファイル、API キー、IP アドレス、ID。
- 送信されるもの: fatsearch のバージョン、OS、使用したパッケージ(npm、Homebrew、cargo など)、使用したコマンド、エラー、動作したプロバイダー、コードのクラッシュ。
fats telemetry show で送信内容を正確に確認できます。fats setup → Settings → Telemetry、fats setup telemetry off、FATS_TELEMETRY=0 または DO_NOT_TRACK=1 で無効にできます。詳細:docs/telemetry.md
17–21 MB のバイナリ 4 ms で起動 5 ms でキャッシュ済みデータを読み込み $0 の通常のページ $0.001–0.0065 の難しいページ(キー 3 つ)
17 MB(macOS arm64)~21 MB(Linux x86_64) · ネイティブ環境では 4 ms、npm の shim では Node の分として約 40 ms 追加
デーモン不要 · ブラウザー不要 · 匿名の使用状況統計(無効化:fats setup telemetry off · FATS_TELEMETRY=0 · DO_NOT_TRACK=1) · 実行ごとの詳細 →
(まだ)できないこと
match:near/match:topic:ローカルモデルが必要です- スキャンされた PDF の OCR →
! no_text - DOCX / XLSX →
! not_in_v1 zip - OS のキーチェーン:キーは
auth.jsonに保存されます(モード 0600) - リモート MCP:stdio のみ
- ログイン:ログインが必要なページは引き続きアクセスできません
それぞれ、足りないものと対処方法を説明する ! の行が表示されます。決して黙って処理しません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
