Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JEVCRAWL_MODELNoModel id. Pinned by default because thresholds are calibrated per version.jev-1.13.0
TYPESAFE_API_KEYYesJev API key (required). Get one from https://console.typesafe.ai/
JEVCRAWL_BASE_URLNoJev-compatible endpointhttps://api.typesafe.ai
JEVCRAWL_CACHE_DIRNoAnswer cache directory~/.jevcrawl/cache
JEVCRAWL_RENDER_JSNoRender JavaScript-only pages when the js extra is installed (0 turns it off)1
JEVCRAWL_RESPECT_ROBOTSNoSkip URLs the site's robots.txt disallows (0 turns it off)1

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
crawlA

Crawl a website toward a goal and return only the relevant passages, verbatim.

Use this instead of fetching pages yourself when the answer may be several pages deep (documentation, help centers, policies, product catalogs). A small decision model scores every block of text and every link, follows the most promising links first, and stops as soon as the collected text answers the goal. No language model runs inside the crawl.

Args: goal: A specific question to answer, e.g. "How many days do I have to get a refund?". Vague goals ("learn about the shop") return vague results. start_url: Where to start; the crawl stays on this host and its subdomains. max_pages: Page limit. Start with 10-30. max_seconds: Wall-clock limit. return_tokens: Most text (estimated tokens) to hand back. max_decision_usd: Hard limit on what the decision model may cost for this call.

Returns: blocks: relevant passages, best first. Each has url, heading_path, text (copied from the page), char_start/char_end (offsets into the page text whose sha256 is in pages) and relevance (0-1). uncertain: borderline passages. Read these before concluding something is missing. pages: every page fetched. stats: what it cost and why it stopped; check stats.stopped_because ("answered", "frontier_empty", "max_pages", "max_seconds", "budget") and stats.degraded (true means the decision model was unreachable and results are unscored). stats.needs_js_urls lists pages that only render with JavaScript and could not be rendered; stats.js_rendered_urls those it rendered. On failure: {"error": code, "message": ...}.

Quote returned text together with its url.

scrapeA

Fetch one known page and return its text as blocks, optionally pruned to a goal.

Without goal: every block of the page that survives the free filters (navigation, footers and repeated boilerplate removed), in page order, with no decision-model call. With goal: only the blocks that help answer it (blocks) plus borderline ones (uncertain); links are not followed.

Returns the same shape as crawl (blocks, uncertain, pages, stats), or {"error": code, "message": ...}. Text is verbatim with char_start/char_end offsets.

mapA

Rank the URLs of a site by how likely they are to answer a goal, without returning content.

Runs the same best-first exploration as crawl but only scores links. Use it to decide which pages deserve a scrape, or to see what a site offers on a topic.

Returns urls: the top limit entries, best first, each {url, priority, p_target, p_hub, anchor, found_on} (p_target: the page itself likely answers the goal; p_hub: it likely leads to pages that do), plus pages (fetched) and stats. On failure: {"error": code, "message": ...}.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

The three tools have clearly distinct roles: crawl performs multi-page goal-directed exploration, scrape fetches one known page, and map ranks URLs without returning content. Although crawl and scrape can both accept a goal, the descriptions make the boundary explicit through link-following and page scope.

Naming Consistency5/5

All tool names are concise lowercase verbs in a consistent style: crawl, scrape, map. There is no mixing of naming conventions or verb forms.

Tool Count5/5

Three tools is a tight, well-scoped set for a goal-directed web crawling server. Each tool handles a distinct phase: discovery (map), single-page extraction (scrape), and multi-page retrieval (crawl).

Completeness5/5

The surface covers the full retrieval lifecycle for the stated domain: ranking URLs to explore, fetching a known page, and crawling multiple pages toward a goal. No obvious operational gap remains for the advertised web-crawling purpose.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues