Repository navigation
v1.1.0
MCP: six tools instead of four. Point any MCP-capable agent at ByteCrawl and
it can now do everything the playground does. Nothing to install:
claude mcp add --transport http bytecrawl https://bytecrawl.vercel.app/mcp| Tool | What it does |
|---|---|
focused_crawl |
Crawl a site, rank pages by relevance to a query |
compare_strategies |
New. All three strategies, one budget, side by side |
fetch_markdown |
One page → clean Markdown |
extract |
Structured records, or a flat list from one selector |
list_links |
New. Every outbound link, absolute and deduplicated |
fetch_json_api |
Hit a hidden JSON API |
Local (pip install bytecrawl[mcp], then claude mcp add bytecrawl -- bytecrawl-mcp)
exposes the identical six, with no page cap and browser support.
Added
compare(url, query)— run Shark-Search, OPIC and BFS over one site on the
same budget and see which actually finds the topic. On Wikipedia + "san
francisco" that is 6 relevant pages out of 6 for Shark-Search against 1 of 6
for BFS. The three run concurrently, so it costs about as long as one crawl.
Returns a winner, ortiedwhen nothing separates them.extractaccepts a singleselectselector for a flat list of values, as an
alternative toitem+fields.- HTTP API:
/api?url=SITE&method=compare&query=TOPICfor the same comparison
without any install.
Changed
Page.links()now returns absolute, deduplicated URLs and drops
#fragments,mailto:and asset files — the same normalisation the crawlers
already used. On a long Wikipedia article that is 2,222 raw hrefs down to
1,408 pages you can actually visit. Passraw=Truefor the old output.normalize()moved tobytecrawl.core(still importable from
bytecrawl.crawler), so links and crawling share one definition of a link.
Fixed
- The demo site: a jumping footer, a webfont that resized the logo on first
paint, and the strategy comparison now looks the same on every page.