Claude CodeでURLを上手に読ませる|defuddleとjinaの違いと使い分け(Xの読み取り設定つき)
まず前提:Claude Code標準のWebFetchdefuddleとは:ローカルで動く「無料・高速・プライベート」な抽出エンジンjina(Jina Reader)とは:URLの頭に1行足すだけの「変換サービス」defuddleとjinaの違い(早見表)僕の使い分けXなど動的サイトを読み取るときのおすすめ設定Claude Codeに入れておくおすすめ設定1. jinaは「公式MCPサーバー」で入れるのが一番きれい2. defuddleはローカルCLIをBashで叩く3. settings.jsonで許可を通す4. CLAUDE.mdに「使い分けの方針」を書いておくまとめ参考リンク(公式)
Claude Codeを使っていて、地味に効いてくるのが「Webページの読み取り」です。
記事のリサーチ、ライブラリのドキュメント確認、競合サイトのチェック。AIにURLを渡して「これ読んで」とやる場面は、思った以上に多いですよね。ところが何も考えずにそのまま読ませると、ナビゲーションや広告やフッターまで全部トークンに乗ってきて、無駄にコストがかかるし、肝心の中身もぼやけます。
そこで出てくるのが defuddle と jina です。どちらも「Webページを、AIが読みやすいきれいなマークダウンに変換する」道具なんですが、性格がまったく違います。今日はこの2つの違いと、僕なりの使い分け、それからみんながつまずく「XのURLをどう読ませるか」までまとめておきます。
まず前提:Claude Code標準のWebFetch
土台の話から。Claude Codeには標準で があって、URLを渡すとページを取得し、マークダウンに変換して中身を答えてくれます。
便利なんですが、標準のままだと弱点もあります。
- ログインが必要なページや非公開URLは読めない
- JavaScriptでガリガリ描画する動的サイト(Xなど)が苦手
- ページによってはノイズが多めに残る
ここを補ってくれるのが defuddle と jina です。「標準の読み取りを強化する2つの選択肢」くらいの感覚で読んでもらえればOKです。
defuddleとは:ローカルで動く「無料・高速・プライベート」な抽出エンジン
defuddle は、Webページから本文だけを抜き出して、きれいなマークダウンに整えてくれるオープンソースのツールです。広告・サイドバー・コメント欄・ヘッダー・フッターといった「本文じゃない部分」をごっそり削ぎ落としてくれます。
作者は、Obsidianの「Web Clipper」を作っている kepano(Steph Ango)さん。もともとWeb Clipperの中身として作られたエンジンが、単体で使えるよう公開されたものです。定番の Mozilla Readability の代替で、よりミスが少なく、脚注・数式・コードブロックの扱いが安定しているのが売りです。
ポイントは 自分のマシンの中(ローカル)で動く こと。
- 完全無料・オープンソース
- 外部サービスにURLを送らないのでプライベート
- ブラウザ / Node.js / CLI で動く
- 本文に加えて、著者・タイトル・公開日・文字数などのメタ情報も抜いてくれる
使い方もシンプルです。
弱点は、JavaScriptを実行しないこと。受け取ったHTMLから本文を抜くだけなので、中身をJSで後から描画するタイプのサイト(後で出てくるXなど)だと、肝心のコンテンツが取れないことがあります。
jina(Jina Reader)とは:URLの頭に1行足すだけの「変換サービス」
jina(Jina Reader)は、Jina AIが提供しているURL変換サービスです。使い方は拍子抜けするほど簡単で、読みたいURLの頭に をつけるだけ。
これだけで、AIフレンドリーなマークダウンが返ってきます。
defuddleと決定的に違うのは、jinaは サーバー側でヘッドレスChromeを動かしてページをちゃんと描画する こと。つまりJavaScriptで後から表示されるコンテンツ(SPA、無限スクロール、そしてX)にも強い。ピーク時に1日100億トークンをさばいているサービスなので、安定感もあります。
挙動はリクエストヘッダーで細かく制御できます。
- … JavaScriptレンダリングを強制する(動的サイト向け)
- … 出力フォーマットの指定
- … 画像に自動でキャプション(alt)をつける
- … 読み込み待ちの秒数
弱点は2つ。
- 外部サービスにURLを渡すことになる(社内ドキュメントなど秘匿性が高いものは注意)
- 匿名アクセスはレート制限がきつい。安定して使うなら無料のAPIキーを取って使うのがおすすめ
defuddleとjinaの違い(早見表)
| defuddle | jina(Jina Reader) | |
|---|---|---|
| 動く場所 | ローカル(自分のPC) | Jinaのサーバー |
| 料金 | 完全無料・OSS | 無料枠あり+有料API |
| JavaScript描画 | しない | する(ヘッドレスChrome) |
| プライバシー | 高い(外に出ない) | URLを外部に送る |
| 得意なページ | 普通の記事・ドキュメント | X・SPA・動的サイト |
| 使い方 | URLの頭に |
ざっくり言うとこうです。
- 静的な記事・ドキュメントを大量にさばく → defuddle(無料・速い・漏れない)
- JSで動くサイト、特にX → jina(描画してくれる)
トークン削減効果はどちらも大きくて、HTMLをそのまま読むのに比べてマークダウン変換で おおよそ8割減 になります(生HTMLで約9,500トークンが、整形後は約1,700トークンというデータも)。リサーチを何十ページも回すなら、この差は無視できません。
僕の使い分け
実際のところ、僕はこう振り分けています。
- まず defuddle を試す 普通の記事・公式ドキュメント・ブログはこれで十分。無料だし速いし、URLを外に出さないのが安心。
- JSサイト・取りこぼしたら jina に切り替える defuddleで本文が空っぽ、もしくは中身がスカスカなら、JS描画が必要なサイト。 をかぶせて取り直す。
- 秘匿性が高いものは defuddle 一択 社内資料や未公開URLは、外部サービスに渡さないローカル処理で完結させる。
「無料・プライベート優先で defuddle、描画力が要るところだけ jina」。これが基本方針です。
Xなど動的サイトを読み取るときのおすすめ設定
ここが一番つまずくところ。XのURLをClaude Codeにそのまま渡しても、まともに読めません。 Xは中身をJavaScriptで描画するうえ、近ごろはログインの壁も厚いからです。defuddleも標準WebFetchも、ここは苦手。
なので、Xを読むときは jina + ブラウザ描画 が現実的なおすすめ設定です。
- 読みたいツイートのURLの頭に をつける
- を指定して、JavaScript描画を強制する
- 安定して回したいなら 無料APIキー を取得して使う(匿名はレート制限がきつい)
curlで確認するならこんなイメージです。
実際に自分の環境で試してみました。標準のままだと弾かれるXのツイートURLを、jina経由にしたら本文も投稿者も日付もちゃんと取れました。標準WebFetchで「読めません」と返ってきたものが、 をかぶせるだけで素通りする感覚です。
ひとつ正直に書いておくと、Xは仕様変更でログイン必須化が進んでいて、jinaを使っても取れないツイートはあります。 万能ではありません。それでも、標準のまま投げるよりは段違いに通りやすい。Xに限らず、SPAや無限スクロール系のサイトはこの「jina + 」を基本セットにしておくと安定します。
Claude Codeに入れておくおすすめ設定
ここまでの使い分けを、Claude Code側に最初から仕込んでおくと毎回ラクです。おすすめは次の3段構えです。
1. jinaは「公式MCPサーバー」で入れるのが一番きれい
jinaはURLにプレフィックスを足すだけでも使えますが、Claude Codeに常設するなら Jina AI公式のリモートMCPサーバー を入れるのがおすすめです。(URL読み取り)や といったツールがそのまま生えて、JS描画込みでXのような動的サイトも読めるようになります。
に直接書くならこうです。
2. defuddleはローカルCLIをBashで叩く
defuddleはインストール不要で から呼べるので、Claude CodeのBash経由でそのまま使えます。毎回の確認をなくすなら、settings.jsonで事前承認しておくと快適です。
3. settings.jsonで許可を通す
毎回の確認ダイアログを消したいツールを に並べておきます。
APIキーは settings.json に平文で書かず、シェルの環境変数として渡すのが安全です。 などに次の一行を足すだけ。設定側は で参照しているので、これで通ります。
4. CLAUDE.mdに「使い分けの方針」を書いておく
settingsは「何ができるか」、CLAUDE.mdは「どう動いてほしいか」の置き場所です。次のような一段落を入れておくと、Claudeが自動で振り分けてくれます。
これで「普段はローカルのdefuddle、動的サイトとXだけjina」という判断を、毎回指示しなくてもやってくれるようになります。
まとめ
- defuddle … ローカルで動く無料の本文抽出エンジン。静的な記事・ドキュメント向け。速くて漏れない。
- jina(Jina Reader) … URLの頭に を足すだけの変換サービス。JS描画ができるのでX・SPAに強い。
- 使い分け … 普段は defuddle、動的サイト・Xだけ jina に切り替える。
- Xを読むなら … jina + + 無料APIキー。ただしログイン壁で取れないこともある。
- Claude Codeに常設するなら … jinaは公式MCPサーバー、defuddleはBashのCLI、使い分けの方針はCLAUDE.mdに。毎回指示しなくて済む。
AIに調べ物をさせる時代、「どう読ませるか」は意外と成果を分けます。トークンも節約できて、出力の精度も上がる。地味だけど、入れておいて損のない一手です。
試してみて「ここ詰まった」「こっちの設定が良かった」みたいなのがあれば、気が向いたときにでも感想を聞かせてください!
同じことを試している人の話を聞くのが好きなので🙌
こういうAI周りの小ネタや、20代の働き方・キャリアの話は、普段は公式LINEで気ままに流しています📲
「これ試したよ!」みたいな雑な感想でも普通に嬉しいので、よかったら覗いてみてください✨
同年代でこの手の話を肩肘張らずにできる人を、いつも探しているタイプです。都内ならコーヒーでも飲みながら直接話すのも大歓迎なので、気が向いたらLINEから気軽に声かけてください☕️
参考リンク(公式)
- Jina Reader(公式): https://jina.ai/reader/
- Jina Reader(GitHub): https://github.com/jina-ai/reader
- Defuddle(GitHub): https://github.com/kepano/defuddle
- Claude Code Web fetch tool(公式ドキュメント): https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-fetch-tool
