検索では何が変わったのかわかりません。Marrow ならわかります。 ページの追加・変更・移動・削除をセクション単位で追跡します。
Marrow はクリーンな Markdownを返します ── 人間も AI も読めます。
scout → read: marrow_scout でリンク・構造を見て、marrow_read で精読します ── 無駄なトークンを抑えます。キャッシュも標準装備で、二度目からは速くて安い。監視は定額です。
RAG を組んでいる方へ: セクションごとに安定した id が振られるので、ベクトル DB への upsert がそのまま使えます。
「Marrow で検索して」というと、marrow_scout と marrow_read でクリーンな markdown を取得します。
AI に「このURLの更新を見て」と頼めば、前回読んだ時点とのセクション単位 diff が返ります ── 差分に追加課金はありません。
スキルにウォッチリストを持たせて、AI に「今日の巡回をして」と言うだけです。
多くのクローラーは、ブルドーザーのようにクローリングします ── ナビも広告もフッターも 関連商品カルーセルも全部。Marrow は髄(マロウ)を狙います。ページのバックエンドから本質を抜き、 描画されたフロントエンドを検証に使います。骨ではなく、栄養のある 髄だけをお届けします ── それが名前の由来です。
| ページ | トークン(vs Firecrawl・同一URL) |
|---|---|
| クリーンな記事(Wikipedia) | 同等 ── 削る土砂が少ない |
| ニュース記事(BBC) | 約 30% 少ない |
| 重い EC(Shopify 製品) | 約 75% 少ない |
| そのページの裏にある製品フィード | 最大 26× 小 |
余計なものが多いページほど効きます。 Firecrawl と Marrow で
同一 URL で直接実測しました。しかもこれは1ページあたりの話で ──
scout → read が「読まなくていいページを読まない」ことで、さらにトークンを節約します。
(バックエンドのソース JSON が取れないページは、フロントエンドからの Markdown 化にフォールバックします)。
Firecrawl は URL 監視をper-check で課金します ── 1ページ1クレジット。 URL と間隔が増えるほど積み上がります。Marrow は定額。頻繁にチェックしても無料です。
今日の巡回をして ── 変わったところだけ教えて。
ウォッチリストの5ページを確認しました。2件、動きがありました:
残りの3つは、昨日から変化ありません。
ウォッチリストはスキルに置いて、AI に聞くだけです。 1 read = 1クレジット、一日数回ならプランをほとんど消費しません。
URL を登録するだけ ── Marrow が定期的にチェックし、変化があれば Webhook を叩きます。 ダッシュボードも配線も不要です。定額で、チェック数は数えません。
試算例: 100 ページを 30 分間隔で監視 = 月 約 144,000 チェック。
| 項目 | Firecrawl | Marrow |
|---|---|---|
| 課金 | per-check(1/ページ/チェック) | 定額 ── チェックは数えない |
| 必要プラン | Growth(Standard の 10万クレジットでは足りない) | Pro ── 100監視 |
| コスト | $333/月 | $29.99/月 ── 約 11× 安い |
間隔を5分ごとに上げても同じ値段です。 Webhook は署名付きで、Firecrawl 互換形式です。(Firecrawl の金額は同社の掲載プランです)
何を見張っているか ── 競合の価格・採用ページ・規約改定 ── それはあなたの戦略そのものです。 クローラーが知る話ではありません。Marrow は漏れるものが無いように作ってあります。
API キーそのものが資格情報です ── gh auth や stripe login と同じ。
登録するものが無いので、フィッシングされるものもありません。キーを捨てれば、消えます。
カード情報は Stripe に直行します ── Marrow は一切見ませんし、名前も住所も保存しません。 手元にあるのは、メールのハンドルとクレジット残高だけです。
抽出ワーカーはステートレス、キャッシュは内容アドレス方式です ── 「ページが存在する」ことは記録しても 誰が引いたかは記録しません。あなたが引いた URL の一覧ダッシュボードは存在しません。
多くのクローラーは、まさにそのダッシュボードを持っています。あなたのウォッチリストは企業秘密 ── Marrow は持ちません。
ワンコマンド ── 無料キーを発行して、使っている全エージェントに Marrow を配線します。
$ npx -y marrow-setup --email you@example.com
claude mcp add marrow \
-e MARROW_API_KEY=mrw_xxx \
-- npx -y @marrowdev/mcp
{
"mcpServers": {
"marrow": {
"command": "npx",
"args": ["-y", "@marrowdev/mcp"],
"env": { "MARROW_API_KEY": "mrw_xxx" }
}
}
}
# ~/.codex/config.toml
[mcp_servers.marrow]
command = "npx"
args = ["-y", "@marrowdev/mcp"]
env = { MARROW_API_KEY = "mrw_xxx" }
ツール: marrow_scout · marrow_read · marrow_search ·
marrow_crawl · marrow_screenshot · marrow_monitor_*
Bearer キー付きの素の HTTP です。REST API は Firecrawl 互換です。
import requests
BASE = "https://api.marrow.navii.online"
H = {"Authorization": "Bearer mrw_xxx", "Content-Type": "application/json"}
# 精読 + 変化追跡 → 前回とのチャンク単位 diff も返る
r = requests.post(f"{BASE}/v1/scrape", headers=H, json={
"url": "https://example.com/pricing",
"formats": ["markdown", "changeTracking"],
})
ct = r.json()["data"]["changeTracking"]
print(ct["changeStatus"]) # new / same / changed
for c in ct["chunks"]: # delta
print(c["status"], c["anchor"])
# 見張る: 定額監視 → 変化を webhook へ
requests.post(f"{BASE}/v1/monitor", headers=H, json={
"url": "https://example.com/pricing",
"interval_minutes": 30,
"webhook_url": "https://you.example/hook",
})
const BASE = "https://api.marrow.navii.online";
const H = { Authorization: "Bearer mrw_xxx", "Content-Type": "application/json" };
// 精読 + 変化追跡
const res = await fetch(`${BASE}/v1/scrape`, {
method: "POST", headers: H,
body: JSON.stringify({
url: "https://example.com/pricing",
formats: ["markdown", "changeTracking"],
}),
});
const { data } = await res.json();
console.log(data.changeTracking.changeStatus); // new / same / changed
for (const c of data.changeTracking.chunks) {
console.log(c.status, c.anchor); // delta
}
// 見張る
await fetch(`${BASE}/v1/monitor`, {
method: "POST", headers: H,
body: JSON.stringify({
url: "https://example.com/pricing",
interval_minutes: 30,
webhook_url: "https://you.example/hook",
}),
});
# 精読 + 変化追跡
curl -X POST https://api.marrow.navii.online/v1/scrape \
-H "Authorization: Bearer mrw_xxx" -H "Content-Type: application/json" \
-d '{"url":"https://example.com/pricing","formats":["markdown","changeTracking"]}'
# 見張る
curl -X POST https://api.marrow.navii.online/v1/monitor \
-H "Authorization: Bearer mrw_xxx" -H "Content-Type: application/json" \
-d '{"url":"https://example.com/pricing","interval_minutes":30,"webhook_url":"https://you.example/hook"}'
REST API は Firecrawl 互換です。そのまま差し替え可能です。
| 機能 | Firecrawl | Marrow |
|---|---|---|
| キャッシュ | なし | 標準 ── 再読込ほぼ無料(0.1cr) |
| 変化追跡 | ページ単位 diff | チャンク単位 + 安定 id → ベクトル upsert |
| 監視 | per-check クレジット | 定額 ── 好きなだけチェック |
| トークン | マークダウン全量ダンプ | 30〜75% 少ない(実測・裏取り+scout→read) |
| プライバシー | アカウント + アクティビティ・ダッシュボード | アカウント不要 ── キーが資格情報・クエリは記録しない |
| 移行 | — | drop-in: base URL を変えるだけ |
キーは無料発行・カード不要。npx marrow-setup で今すぐ試せます。