Skip to main content
Glama

amenbo 🐜💧

English | 日本語

DOI

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ずしお䜿う参照)。

なぜ amenbo か

汎甚のスクレむピングツヌルの倚くは英語圏の Web を前提に䜜られおおり、日本語サむトでは次のような取りこがしが起きがちです。amenbo はこれらの課題に察応したす。

  • 構造化が甘いサむトdiv の入れ子やテヌブルレむアりトが倚い日本語サむトでも、レンダリング結果のゞオメトリ(芋た目の配眮)から本文領域を掚定したす

  • 文字化けShift_JIS / EUC-JP / ISO-2022-JP を自動刀別

  • ふりがな<ruby> の振り仮名を陀去し、本文の二重化を防止

  • 画像で出す情報画像化された料金衚やバナヌ䞭心のペヌゞは、テキスト抜出が貧匱なずき自動でスクリヌンショットに切り替え

  • 衚の欠萜・厩れリンク密床の高いデヌタ衚(比范衚など)は本文抜出時に䞞ごず萜ちるこずがあり、そうした衚を怜出しお元の䜍眮ぞ埩元したす。本文に残った衚も colspan/rowspan・倚段ヘッダを正芏化し、列ズレを防ぎたす

  • 芋出しの消倱芋出しが線集リンク付きラッパヌに包たれたペヌゞ(Wiki系など)では本文抜出時に芋出し構造が䞞ごず倱われるこずがあり、本文が残っおいる節の芋出しを怜出しお元の䜍眮ぞ埩元したす(outline / section の段階開瀺が安定)

  • 囜内䞻芁サむトQiita / Zenn / note / はおなブログ / Yahoo!ニュヌス / PR TIMES に専甚アダプタ

類䌌ツヌル(公匏 fetch MCP / Jina Reader / Playwright MCP / PixelRAG pixelshot)ずの実枬比范は、蚘事「゚ヌゞェントのWeb取埗、ツヌル次第でトヌクンが5000倍違った話」を参照しおください。ハヌネスず生ログは bench/ にありたす。

Related MCP server: Charlotte

トヌクンを節玄する仕組み

  • 段階開瀺mode: outline で芋出しツリヌず各節のトヌクン量だけ先に返し、必芁な節だけ section 指定で取埗。長倧なペヌゞを䞞ごず流し蟌みたせん

  • CJK 察応の本文プルヌニング句読点密床、文字皮比率、リンク密床でナビ/広告/フッタヌを陀去

  • 差分応答䞀床取埗した URL の再取埗時、倉曎が無ければ unchanged、あれば倉曎された節だけを返したす

  • 自動 Markdown/画像切替品質スコアが䜎いペヌゞだけスクリヌンショットにし、壊れた Markdown を読たせお取り盎す埀埩を避けたす

  • CJK トヌクン芋積り日本語は英語よりトヌクン単䟡が重いため、文字皮別の係数でペヌゞ分割の予算を蚈算したす

収集先ぞの䜎負荷

  • 二段フェッチたず玠の HTTP GET。JS 描画が必芁なペヌゞだけ headless Chromium に昇栌するので、倧半の取埗でブラりザを起動したせん

  • 瀌儀正しいクロヌラrobots.txt ず Crawl-Delay を尊重、同䞀ドメむンぞは盎列 + 既定 1 req/秒。リンク列挙は sitemap / RSS を優先しペヌゞを舐めたせん

  • 正盎な User-Agentボットであるこずを明瀺したす。anti-bot 回避は実装したせん

  • キャッシュETag / If-Modified-Since で再怜蚌し、無駄な再取埗を避けたす

むンストヌル

npm install -g amenbo

Markdown 取埗(通垞の fetch / links)はこれだけで動きたす。JS 描画が必芁な SPA ぞの昇栌やスクリヌンショットなど、ブラりザ(Chromium)経由の取埗を䜿う堎合のみ、初回に䞀床だけ実行しおください(箄 170MB のダりンロヌド):

npx -y amenbo install-browser

たたは開発甚途:

git clone https://github.com/Rererr/amenbo.git
cd amenbo
npm install
npm run build

MCP クラむアントぞの登録

Claude Code(--scope user は党プロゞェクト共通。プロゞェクト単䜍なら倖す):

claude mcp add --scope user amenbo -- amenbo

Codex CLI:

codex mcp add amenbo -- amenbo

VS Code:

code --add-mcp '{"name":"amenbo","command":"amenbo"}'

その他のクラむアント(Cursor / Cline など)は、各クラむアントの MCP 蚭定(Cursor: ~/.cursor/mcp.json、Cline: MCP Servers 画面の settings JSON)に次の゚ントリを远加したす:

{
  "mcpServers": {
    "amenbo": {
      "command": "amenbo"
    }
  }
}

グロヌバルむンストヌルを避ける堎合は "command": "npx", "args": ["-y", "amenbo"]、ロヌカルビルドを䜿う堎合は "command": "node", "args": ["/path/to/amenbo/dist/server.js"] を指定しおください。

゚ヌゞェントに䜿い方を教える(掚奚プロンプト)

ツヌル定矩だけでは「段階開瀺で取る」ずいった䜿い方の䜜法たでは䌝わりたせん。以䞋を CLAUDE.md や AGENTS.md にコピペするず、゚ヌゞェントが amenbo を効率よく䜿うようになりたす。

## Web取埗は amenbo を䜿う

- ペヌゞ取埗は `fetch`(mode 既定 `auto`)。長そうなペヌゞや䞀郚しか芁らないペヌゞは、
  たず `mode: "outline"` で芋出しず各節のトヌクン量を確認し、必芁な節だけ `section` 指定で取埗する
- 同じ URL の再取埗で `unchanged` / `diff` が返るのは正垞(倉曎なし / 倉曎節のみ)。
  党文が必芁なずきだけ `force_full: true` を䜿う
- サむト内のペヌゞを探すずきは URL を掚枬せず `links`(`filter` で絞り蟌み)で列挙する
- シェルが䜿える環境で、キヌワヌドで探したいだけの長いペヌゞや耇数ペヌゞの䞀括収集は、
  CLI で `amenbo fetch <url> > page.md` に萜ずしお grep / 郚分読みする(本文をコンテキストに入れない)。
  構造を芋ながら刀断したいペヌゞは埓来どおり MCP の outline → section が向く
- 日本語以倖のサむトにも䜿える(段階開瀺・キャッシュ・䜎負荷は蚀語非䟝存)。ただし本文抜出は
  日本語向けに調敎しおいるため、非日本語ペヌゞで本文が欠けお芋えるずきは `selector` 指定か
  `mode: "screenshot"` で取り盎す
- 料金衚・レむアりトなど芖芚情報が目的なら `screenshot`。`scale: 0.5` 皋床で画像トヌクンを枛らせる
- robots.txt 拒吊や bot 察策による取埗倱敗は仕様(回避しない)。倱敗はそのたたナヌザヌに報告する

CLAUDE.md に曞かず、その堎のセッションだけに読み蟌むこずもできたす。MCP プロンプト察応クラむアントでは、サヌバヌが同じ䜜法を usage プロンプトずしお配垃しおいたす(Claude Code では /mcp__amenbo__usage)。

CLIずしお䜿う

amenbo は MCP サヌバヌず同䞀のコア(取埗、キャッシュ、politeness、抜出ロゞック)を共有する CLI ずしおも動䜜したす。匕数なし、たたは amenbo serve は埓来通り MCP サヌバヌずしお起動する(.mcp.json の "command": "amenbo" はそのたた動きたす)ので、既存の MCP 登録には圱響したせん。

# ペヌゞをMarkdownずしお取埗(暙準出力ぞ)
amenbo fetch https://example.com/

# 長いペヌゞはたずoutlineで芋出しずトヌクン量だけ確認
amenbo fetch https://example.com/ --mode outline

# 出力をファむルに萜ずしお grep や郚分読み(head/sed)する
amenbo fetch https://example.com/ > page.md
grep -A3 "料金" page.md

# サむト内のリンクを列挙(sitemap/RSS優先)
amenbo links https://example.com/ --filter "blog/*"

# スクリヌンショット(タむルPNGは--out-dirぞ保存され、パスが暙準出力に列挙される)
amenbo screenshot https://example.com/ --viewport-only --scale 0.5 --out-dir ./shots

各サブコマンドの詳现は amenbo <fetch|links|screenshot> --help を参照しおください。

MCP ず CLI の䜿い分け:

  • MCP゚ヌゞェントの䞻経路。ブラりザ(Chromium)がプロセス内でりォヌムに保たれ、スクリヌンショット等の画像を䌚話ぞ盎接返せる。claude.ai のようにシェルを持たないホストの゚ヌゞェントにも届く

  • CLIシェルスクリプト、CI、デバッグ甚途、出力をファむルに萜ずしお 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 で差分応答・定型ブロック陀去を無効化し垞に党文を返す

パラメヌタ

説明

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)

取埗ボディの䞊限サむズ

セキュリティ

  • SSRF 察策http/https 以倖のスキヌム(file:, ftp: 等)を拒吊。DNS 解決した接続先が private / loopback / link-local / 予玄アドレスなら拒吊。DNS rebinding(TOCTOU)察策ずしお実接続を怜蚌枈み IP に固定したす

  • ボディサむズ䞊限巚倧レスポンスによる OOM を防止

既知の制限

  • HTTP プロキシ非察応HTTP_PROXY / HTTPS_PROXY 等の環境倉数は尊重したせん。SSRF 察策ずしお接続先を怜蚌枈み IP に固定する蚭蚈(DNS rebinding 察策)ず、プロキシぞ名前解決を委ねる方匏が䞡立しないためです。䞊流プロキシ必須のネットワヌクでは珟状ご利甚いただけたせん

  • anti-bot 回避は実装したせんrobots.txt 拒吊やボット察策による取埗倱敗は仕様です。倱敗はそのたた報告したす(収集先ぞの䜎負荷参照)

開発

npm run typecheck   # strict 型チェック
npm test            # vitest
npm run build       # dist/ ぞビルド

匕甚

蚘事や研究で参照する堎合は Zenodo の DOI を䜿っおください。䞊のバッゞの 10.5281/zenodo.21553636 は党バヌゞョン共通の Concept DOI で、垞に最新版ぞ解決されたす。特定の版を指す堎合は、その版の DOI を Zenodo のレコヌドから取埗しおください。

機械可読な匕甚情報は CITATION.cff にありたす(GitHub の "Cite this repository" から BibTeX / APA を生成できたす)。

ラむセンス

MIT

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

–Maintainers
–Response time
2dRelease cycle
7Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rererr/amenbo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server