Skip to main content
Glama
eitan3
by eitan3

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SCRAPY_MCP_JOB_DIRNoWhere crawl jobs are stored.<tmp>/scrapy_mcp_jobs
SCRAPY_MCP_LOG_LEVELNoScrapy log level (to stderr).ERROR
SCRAPY_MCP_MAX_BYTESNoMax characters returned per page (then truncated).50000
SCRAPY_MCP_USER_AGENTNoUser-Agent header.scrapy-mcp/<version> …
SCRAPY_MCP_OBEY_ROBOTSNoObey robots.txt.true
SCRAPY_MCP_RETRY_TIMESNoRetries on transient failures.2
SCRAPY_MCP_AUTOTHROTTLENoAdapt delay to server latency.true
SCRAPY_MCP_JOB_TTL_DAYSNoDelete crawl jobs older than this (0 disables).7
SCRAPY_MCP_MAX_DEPTH_CAPNoHard cap for depth.10
SCRAPY_MCP_MAX_PAGES_CAPNoHard cap for pages.1000
SCRAPY_MCP_DOWNLOAD_DELAYNoSeconds between requests to a host.0.5
SCRAPY_MCP_REQUEST_TIMEOUTNoWall-clock cap for a blocking single fetch (s).60
SCRAPY_MCP_DOWNLOAD_TIMEOUTNoPer-request timeout (s).30
SCRAPY_MCP_DEFAULT_MAX_DEPTHNoCrawl depth default.2
SCRAPY_MCP_DEFAULT_MAX_PAGESNoCrawl page default.50
SCRAPY_MCP_CONCURRENT_REQUESTSNoGlobal concurrency.8
SCRAPY_MCP_CONCURRENT_REQUESTS_PER_DOMAINNoPer-host concurrency.4

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
fetch_pageA

Fetch a single web page and return its content (no JavaScript rendering).

format: 'markdown' (default, compact and readable), 'text' (visible text only), or 'html' (raw HTML). max_bytes: cap on returned characters; defaults to the server's SCRAPY_MCP_MAX_BYTES. Oversized content is truncated and truncated is set to true. obey_robots: override the server's robots.txt policy for this call only.

An HTTP error status (404, 500, ...) is returned in status, not raised.

extractA

Fetch a page and pull structured fields out of it with CSS or XPath selectors.

selectors maps an output field name to a selector. Each value is either:

  • a CSS string, e.g. "h1::text" or "a.product::attr(href)" (returns the first match), or

  • an object: {"css": "...", "all": true} / {"xpath": "//h1/text()", "all": true} ("all": true returns every match as a list; default returns the first match).

Example: {"title": "h1::text", "prices": {"css": ".price::text", "all": true}} Returns {"data": {field: value | [values]}}.

extract_tablesA

Fetch a page and extract every HTML as {headers, rows}.

max_tables: cap on how many tables to return (1-100). Each table is {"headers": [...], "rows": [[cell, ...], ...], "n_rows": int, "n_cols": int}.

extract_linksA

Fetch a page and return its links (de-duplicated, absolute URLs).

same_domain: keep only links on the same host as url. pattern: keep only links whose URL matches this regular expression. limit: maximum number of links to return (1-2000). Each link is {"url": ..., "text": ..., "nofollow": bool}.

get_sitemapA

Fetch a sitemap and return the URLs it lists.

Handles gzip-compressed sitemaps and recurses one level of into its child sitemaps. url should point at a sitemap (e.g. https://site.com/sitemap.xml). limit: maximum URLs to return (1-50000). Each entry is {"loc": ..., "lastmod": ..., "changefreq": ..., "priority": ...}.

check_robotsA

Check the site's robots.txt: is url crawlable, and what crawl-delay applies?

user_agent: the agent to evaluate rules for (defaults to the server's user agent). Returns {allowed, has_robots, crawl_delay, request_rate, sitemaps, robots_url}. Sites with no robots.txt are reported as allowed (has_robots=false).

start_crawlA

Start a bounded breadth-first crawl. Returns a job_id immediately (non-blocking).

The crawl follows in-scope links from start_url up to max_pages / max_depth.

  • allow_patterns / deny_patterns: regexes a link URL must match / must not match.

  • same_domain (default true): restrict the crawl to start_url's host.

  • selectors: same format as the extract tool; when given, each crawled page yields the extracted data. Otherwise each page yields a short text excerpt.

  • obey_robots, download_delay: per-crawl overrides of the server defaults.

Poll progress with crawl_status(job_id) and read items with crawl_results(job_id).

crawl_statusA

Report a crawl's state and progress.

state is one of: starting, running, finished, failed, cancelled, interrupted. ('interrupted' means the worker process died without finishing -- e.g. the machine or server restarted; any results gathered so far are still readable.)

crawl_resultsA

Page through a crawl's scraped items.

cursor: line offset to start from (use the returned next_cursor to continue). limit: items per page (1-1000). Safe to call while the crawl is still running -- you get whatever has been written so far.

cancel_crawlA

Stop a running crawl by killing its worker process. Results so far are kept.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/eitan3/Scrapy_MCP_Scraper'

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