The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Amenbo listing page.
English | 日本語
Skims the web without making waves — a Japanese-web-native MCP server for low-impact, token-efficient web collection: outline→section progressive disclosure and diff-only refetches keep context small.
amenbo(アメンボ / water strider)は、Claude Code や Codex のようなコーディングエージェント向けの MCP サーバーです。水面に波を立てずに滑る虫のように、収集先に負荷をかけず、少ないトークンで Web から情報を集めます。とりわけ日本語サイトに最適化しています。MCP クライアントを持たないシェル環境からは、同じコアを共有する CLI としても使えます(CLIとして使う参照)。
汎用のスクレイピングツールの多くは英語圏の Web を前提に作られており、日本語サイトでは次のような取りこぼしが起きがちです。amenbo はこれらの課題に対応します。
<ruby> の振り仮名を除去し、本文の二重化を防止類似ツール(公式 fetch MCP / Jina Reader / Playwright MCP / PixelRAG pixelshot)との実測比較は、記事「エージェントのWeb取得、ツール次第でトークンが5000倍違った話」を参照してください。ハーネスと生ログは bench/ にあります。
mode: outline で見出しツリーと各節のトークン量だけ先に返し、必要な節だけ section 指定で取得。長大なページを丸ごと流し込みませんunchanged、あれば変更された節だけを返しますAMENBO_CACHE_TTL_MS)で、Cache-Control は延長方向のみ採用します(max-age が 15 分より長ければそちらを使い、上限 24 時間。no-store は保存しません)。max-age=0 や no-cache で期限を縮めることはしません — 主要サイトの実測ではその宣言が大半で、従うとツール呼び出しの度に取得しに行くことになり、低負荷という前提が崩れるためですMarkdown 取得(通常の fetch / links)はこれだけで動きます。JS 描画が必要な SPA への昇格やスクリーンショットなど、ブラウザ(Chromium)経由の取得を使う場合のみ、初回に一度だけ実行してください(約 170MB のダウンロード):
または開発用途:
Claude Code(--scope user は全プロジェクト共通。プロジェクト単位なら外す):
Codex CLI:
VS Code:
その他のクライアント(Cursor / Cline など)は、各クライアントの MCP 設定(Cursor: ~/.cursor/mcp.json、Cline: MCP Servers 画面の settings JSON)に次のエントリを追加します:
グローバルインストールを避ける場合は "command": "npx", "args": ["-y", "amenbo"]、ローカルビルドを使う場合は "command": "node", "args": ["/path/to/amenbo/dist/server.js"] を指定してください。
stdio 経由で MCP の 2026-07-28(ステートレスコア)と 2025 系の両方に応答します。クライアントがどちらの版を話すかに関わらず、上記の設定のまま繋がります。
ツール定義だけでは「段階開示で取る」といった使い方の作法までは伝わりません。以下を CLAUDE.md や AGENTS.md にコピペすると、エージェントが amenbo を効率よく使うようになります。
CLAUDE.md に書かず、その場のセッションだけに読み込むこともできます。MCP プロンプト対応クライアントでは、サーバーが同じ作法を usage プロンプトとして配布しています(Claude Code では /mcp__amenbo__usage)。
amenbo は MCP サーバーと同一のコア(取得、キャッシュ、politeness、抽出ロジック)を共有する CLI としても動作します。引数なし、または amenbo serve は従来通り MCP サーバーとして起動する(.mcp.json の "command": "amenbo" はそのまま動きます)ので、既存の MCP 登録には影響しません。
各サブコマンドの詳細は amenbo <fetch|links|screenshot> --help を参照してください。
MCP と CLI の使い分け:
grep/部分読みしたい場合、または MCP 非対応のエージェント/ツールチェーンから使う場合に向く。1 コマンド= 1 プロセスのためブラウザは毎回起動するキャッシュ、差分応答(unchanged/diff)、レート制御(robots.txt/ドメイン毎の直列アクセス)の状態は MCP サーバーと CLI で共有されます(同じ ~/.cache/amenbo を使うため)。ただしレート制御のプロセス間共有はベストエフォートです。同一ドメインへの直列化は各プロセス内でのみ厳密に保証され、MCP サーバーと複数の CLI 実行が同時に同じドメインへアクセスした場合、最小間隔が多少すり抜けることがあります。
fetch でページを取得| パラメータ | 説明 |
|---|---|
url | 取得対象 URL(http/https のみ。PDF 可) |
mode | auto(既定・品質スコアで Markdown/screenshot 自動切替) / markdown / outline(見出し要約) / screenshot |
selector | 本文を絞り込む CSS セレクタ |
section | outline で得た section ID。その節の Markdown のみ返す(祖先見出しがあれば応答に section_path(› 区切りのパンくず)を付与) |
page | ページ番号(既定 1) |
max_tokens | 1 ページの概算トークン上限(既定 8000) |
force_full | true で差分応答・定型ブロック除去を無効化する(max_tokens によるページ分割は従来通り働く) |
links でリンクを列挙| パラメータ | 説明 |
|---|---|
url | 起点 URL |
filter | URL/リンクテキストの部分一致、または * を使った glob |
sitemap → RSS/Atom → ページ内リンクの順で探索します。
screenshot でスクリーンショットを撮影| パラメータ | 説明 |
|---|---|
url | 撮影対象 URL(http/https のみ) |
fullPage | 既定 true。false で最初のビューポート分のみ |
width | タイル幅 px(既定 1280) |
scale | 解像度スケール 0.5〜1.0(既定 1.0)。小さいほど画像トークン減 |
| 変数 | 既定 | 説明 |
|---|---|---|
AMENBO_CACHE_DIR | ~/.cache/amenbo | キャッシュ(SQLite + PNG)の保存先 |
AMENBO_CACHE_TTL_MS | 900000(15分) | キャッシュの有効期限 |
AMENBO_MAX_BODY_BYTES | 20971520(20MB) | 取得ボディの上限サイズ |
file:, ftp: 等)を拒否。DNS 解決した接続先が private / loopback / link-local / 予約アドレスなら拒否。DNS rebinding(TOCTOU)対策として実接続を検証済み IP に固定しますselector 指定か mode: "screenshot" で取り直してくださいHTTP_PROXY / HTTPS_PROXY 等の環境変数は尊重しません。SSRF 対策として接続先を検証済み IP に固定する設計(DNS rebinding 対策)と、プロキシへ名前解決を委ねる方式が両立しないためです。上流プロキシ必須のネットワークでは現状ご利用いただけませんclone 後に1回、秘密情報検査(gitleaks)の pre-commit フックを有効化する:
記事や研究で参照する場合は Zenodo の DOI を使ってください。上のバッジの 10.5281/zenodo.21553636 は全バージョン共通の Concept DOI で、常に最新版へ解決されます。特定の版を指す場合は、その版の DOI を Zenodo のレコードから取得してください。
機械可読な引用情報は CITATION.cff にあります(GitHub の "Cite this repository" から BibTeX / APA を生成できます)。