jevcrawl MCP

An MCP server and CLI that crawls sites: a small model picks links and passages so the agent reads only the answer.

  • 89 ★ on the repository
  • Last commit
  • Apache-2.0
MCP server

Extended access

Why this level

  • Page text goes to an external paid scoring service
  • Fetches pages at URLs set by the agent
All reasons and checks

rayenmlayeh/jevcrawl

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/jevcrawl

Detects the agents on your machine, shows the access level and pins the version.

What it sends to the author: what it sends to the author: page text (blocks, link labels, and URLs) is sent to TypeSafe for scoring. the API key is read from the environment and not stored.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Page text goes to an external paid scoring service
  • Fetches pages at URLs set by the agent

This is third-party code. Review the repository files before installing.

What it does

jevcrawl crawls a site to answer an agent's question and does not fetch everything. A small decision model picks each link and each passage, and the agent receives verbatim page fragments with URL, heading path and character offsets. The model only scores text and does not write any. There are three tools: `crawl(goal, start_url)` looks for an answer several pages deep, `scrape(url, goal)` reads one known page and `map(start_url, goal)` returns a ranked URL list. Without a goal `scrape` returns all text and makes no model call. Pages that are empty without JavaScript open in Chromium when the `js` extra is installed.

Who it is for. People whose agents look for answers in documentation and large sites and waste tokens on irrelevant pages.

Good fit when

  • The answer sits in documentation several clicks from the home page and reading the whole site is too costly.
  • One page is needed, with only the passages relevant to a given goal selected.
  • Before reading a site the agent needs a ranked URL list to choose what to open.
  • The result must contain verbatim text with URL and heading path for verification.

Not a fit when

  • There is no Jev key: a hosted model makes link decisions and crawling does not work without `TYPESAFE_API_KEY`.
  • A full site archive is needed: jevcrawl selects fragments and does not copy whole pages.
  • Login or closed sections are involved: the tool reads only public pages.

Example request

Find on docs.python.org what the := operator does and which version added it, and show quotes with URLs.

MCP

Transport
stdio
Authentication
API key

Environment variables

TYPESAFE_API_KEY required

Limitations

Needs a Jev key from `console.typesafe.ai` and the `uv` manager. Link and passage decisions come from a hosted model, so page text is scored by an external service and calls are billed: `crawl` has a `max_decision_usd` cap, default 0.05 dollars. Pages with JavaScript need the `jevcrawl[js]` extra and a one-time Chromium download, and the browser opens at most five pages per call. Benchmarks in the README ran on 50 and 20 tasks, which are small samples.

How to disable. Remove the server from client settings, for example `claude mcp remove jevcrawl`, and revoke the key in the Jev console.

FAQ

How do I connect it to Claude Code?

With `claude mcp add jevcrawl -e TYPESAFE_API_KEY=<key> -- uvx jevcrawl`. For Claude Desktop and Cursor add the `uvx` command with the `jevcrawl` argument under `mcpServers`.

Where does the key come from?

It is issued by the `console.typesafe.ai` console and passed in the `TYPESAFE_API_KEY` variable. Without it nothing makes link decisions.

How do `crawl`, `scrape` and `map` differ?

`crawl` looks for an answer across several pages, `scrape` reads one and `map` only ranks URLs. The agent uses `map` to decide what to open next.

How do I read JavaScript pages?

Use `uvx --from "jevcrawl[js]" jevcrawl` and run `uvx --from "jevcrawl[js]" playwright install chromium` once. Such page URLs appear in `stats.js_rendered_urls`.

Is it protected against injected instructions from pages?

According to the author, page text is only scored and never followed as an instruction. Still check the result before relying on it.

Discussion

No questions or reviews yet.

A plugin that crawls sites and turns pages into Markdown with metadata: seven skills and an MCP server with nine tools

PluginBroad access196Repository stars

MCP server that reads sites on your machine and hands the agent short Markdown with links, keeping raw HTML out of context.

MCP serverExtended access163Repository stars
Editors’ pick

The Firecrawl command-line client with agent skills: web search, scraping, crawling, URL mapping and page interaction

CLIExtended access684Repository stars
Official

An open-source crawler that turns websites into clean Markdown for AI agents: install from PyPI, run in Docker and connect to Claude Code over MCP

MCP serverExtended access87.3KRepository stars

MCP server for web search and crawling: SearXNG and You.com plus clean Markdown from pages, sites and logged-in areas

MCP serverExtended access190Repository stars

Local web search for agents: searches, reads pages and returns compact passages with sources, saving context tokens

MCP serverExtended access236Repository stars

README in short

Covers quick start for Claude Code and other clients, the three tools, the `js` extra, benchmark methodology against Crawl4AI and configuration.

README badge

Report a problem