Skip to content
Agentmart
Submit a tool

Spicrawl

Web scraping MCP server: any URL to Markdown or JSON, with JavaScript rendering and batch jobs.

Connector by OfficialSpicrawl · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)Remote (HTTP)
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/officialspicrawl-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://mcp.spicrawl.com/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Web scraping MCP server: any URL to Markdown or JSON, with JavaScript rendering and batch jobs.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
15 read · 6 write · 3 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 24

From the running server's own tool list (tools/list) on Oct 25, 2026.

Read 15 · Look things up without changing anything.

  • spicrawl_batch_list
  • spicrawl_batch_results
  • spicrawl_batch_status
  • spicrawl_batch_task_content
  • spicrawl_docs_index
  • spicrawl_docs_read
  • spicrawl_docs_search
  • spicrawl_request_get
  • spicrawl_requests_list
  • spicrawl_session_context
  • spicrawl_session_get
  • spicrawl_session_list
Show 3 more tools
  • spicrawl_usage
  • spicrawl_usage_reconciliation
  • spicrawl_usage_summary

Write 6 · Create, change, send or run things.

  • spicrawl_batch_add_items
  • spicrawl_batch_close
  • spicrawl_batch_retry
  • spicrawl_batch_submit
  • spicrawl_scrape
  • spicrawl_session_create

Delete 3 · Delete, drop, revoke or wipe things.

  • spicrawl_batch_cancel
  • spicrawl_session_delete
  • spicrawl_session_release

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • SPICRAWL_API_KEY

Other settings (environment variables or headers).

  • Authorization

Network hosts it talks to 1

  • mcp.spicrawl.com · found in remote endpoint, install command

Files it touches

  • Any path the agent passes to its tools

Tools (24)

As the server listed them on Oct 25, 2026. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • spicrawl_batch_add_itemsAdd URLs to an open batch job

    Append URLs to a batch job that was submitted with `open: true`. Same item vocabulary as `spicrawl_batch_submit` (EITHER `urls` or `items`, not both, plus shared settings for these new items). Fails with CONFLICT if the job is closed or finished. Not idempotent: calling twice adds the URLs twice. Returns `{ job, items_added, items_dispatched }`.

  • spicrawl_batch_cancelCancel a batch jobcan change or delete data

    Cancel a batch job: items not yet started are cancelled and will never run; items already finished keep their results; items already running finish first, so the job comes back `cancelling` and moves to `cancelled` when they drain. Cannot be undone — resubmit to run the URLs again. Returns the job object.

  • spicrawl_batch_closeClose an open batch job

    Stop an open batch job accepting items, so it completes once its queued work drains. Idempotent (closing a closed job succeeds). Returns the job object.

  • spicrawl_batch_listList batch jobsread-only

    List this API key's project's batch jobs, newest first, with status and progress. Returns `{ batches: [...], next_cursor? }`; pass `next_cursor` back as `cursor` for the next page.

  • spicrawl_batch_resultsRead a batch job's resultsread-only

    Return a page of FINISHED items of a batch job (one record per item: seq, url, external_id, status, error, and content, or a `result_url` API path (GET /v1/batch/{id}/tasks/{seq}/content, same key) for large bodies). Unfinished items are not listed yet. Returns `{ results: [...], next_cursor? }`; pass `next_cursor` back as `cursor` for the next page. Results expire after the job's retention window (410 Gone).

  • spicrawl_batch_retryRetry a batch job's failed items

    Re-queue every FAILED item of a batch job so it runs again (succeeded items are untouched; a job with no failures is returned unchanged). Returns `{ job, items_reset, items_dispatched }`.

  • spicrawl_batch_statusCheck a batch job's statusread-only

    Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once status is `completed`, `failed` or `cancelled`, read `spicrawl_batch_results`.

  • spicrawl_batch_submitSubmit a batch scrape job

    Submit many URLs to be scraped as one asynchronous job, with shared settings applied to every URL. Give EITHER `urls` or `items`, not both (at least one URL, unless `open` is true). Returns the job object (id, status, estimated_credits, progress). Poll with `spicrawl_batch_status`, read with `spicrawl_batch_results` or `spicrawl_batch_task_content`. Use this instead of many `spicrawl_scrape` calls when you have tens or thousands of URLs. Set `open: true` to keep the job accepting more URLs via `spicrawl_batch_add_items`; an open job never finishes until you call `spicrawl_batch_close`.

  • spicrawl_batch_task_contentRead one batch item's contentread-only

    Return the full payload one item of a batch job produced, by its `seq` (items are numbered from 0 in submission order). Cheaper than paging results when you need one URL's output. A CONFLICT error means either the item has not finished yet (poll `spicrawl_batch_status` and ask again) or it finished as failed (it will never produce content; the message says which). NOT_FOUND means no such seq.

  • spicrawl_docs_indexList the Spicrawl docsread-only

    The docs' llms.txt: every Spicrawl documentation page with its title, a one-line description and its Markdown URL. Use it to find the right page when a search does not, or to get an overview of what is documented; read a page with spicrawl_docs_read. No parameters.

  • spicrawl_docs_readRead a Spicrawl docs pageread-only

    Fetches one Spicrawl documentation page as Markdown. `path` may be a page path (`guides/anti-bot`), a docs URL from spicrawl_docs_search (url or md_url), or either with a `#anchor` (the whole page is returned; the anchor names the section to look at). Only pages on the Spicrawl docs (https://docs.spicrawl.com/docs) can be read. Pages over 60000 characters are truncated, and the text says so. Don't know the path? Use spicrawl_docs_search, or spicrawl_docs_index (llms.txt) for the list of every page.

  • spicrawl_docs_searchSearch the Spicrawl docsread-only

    Full-text search over the Spicrawl documentation (guides, API reference, errors, limits). Use it to look up a parameter name, value or combination for a spicrawl_* tool, or to explain an error a spicrawl_* tool returned: search the error code itself (e.g. `ERR::UPSTREAM::CHALLENGE`) and the result also carries a direct link to that code's entry on the errors page. Returns the best-matching pages, each with its title, the matching sections (heading, a short snippet, URL) and md_url; then call spicrawl_docs_read with a page's md_url or url to read it in full.

  • spicrawl_request_getGet one requestread-only

    The full log record of one past API call by its request id. Every response carries its id in the X-Request-Id header (and error bodies carry it too), so this is the tool for debugging a failed or slow scrape: it shows status, error_code/error_detail, attempts, the engine and proxy (tier, country, provider, sticky) actually used, whether and how the target blocked it (vendor/signal/rule), per-stage latency spans and credits charged. Returns not_found both for unknown ids and for ones older than your retention window, and for another project's request unless your key has the `read` scope.

  • spicrawl_requests_listList recent requestsread-only

    Recent API calls in your key's project, newest first, each with project_id, status, engine, http_status, error_code/error_detail, attempts, URL, proxy used, latency spans (queue/engine/upstream/total ms), block detection and credits. Use it to find failing calls (only_errors=true) or to spot patterns across a target. all_projects=true lists every project in your organization instead (needs a key with the `read` scope; 403 ERR::AUTH::INSUFFICIENT_SCOPE otherwise). Records only exist within the retention window reported in page.retention_hours / page.retained_since; an empty page means nothing i…

  • spicrawl_scrapeScrape a URL

    Retrieve a web page and return its content as markdown (default), text, HTML, a JSON envelope, or a printed PDF. Handles the fetch vs. browser decision, charset decoding, and PDF-to-text for you. Optionally extract structured data with CSS selectors (`extract`) or `autoparse`, return discovered `links`, take a `screenshot`, or scope the DOM with `include_tags`/`exclude_tags`. Each successful call is billed in credits (a failure costs 0). Results are cached by default, and a cache hit is billed like the fetch that stored it (the cache saves time, not credits); set `cache=false` for time-sensiti…

Show 9 more tools
  • spicrawl_session_contextDump a session's stored contextread-only

    Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` object can be passed to spicrawl_session_create to clone the session. The result contains secrets (login cookies): do not echo it to the user or logs unless asked.

  • spicrawl_session_createCreate a browsing session

    Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrapes. Use it for multi-step flows — log in, then fetch pages behind the login — by passing the returned `id` as `session_id` to every `spicrawl_scrape` call that should share the state. The rendering tier is fixed for the session's lifetime and every scrape on the session runs on it. Leave `engine` out and one is chosen for you. Release the session with `spicrawl_session_release` when done. Returns the session object (id, engine, status, s…

  • spicrawl_session_deleteDelete a sessioncan change or delete data

    Permanently delete a session and its stored state, including the record itself (prefer spicrawl_session_release if you only want to stop using it). Idempotent: deleting an already-deleted session succeeds. Refused while a scrape holds the session's lease unless `force` is true.

  • spicrawl_session_getGet a sessionread-only

    Return one session's metadata: status, `engine` (its rendering tier), proxy/exit, usage count, expiry, lease holder, and a summary of its stored context. Never returns the credentials themselves (use spicrawl_session_context for that).

  • spicrawl_session_listList sessionsread-only

    List this API key's project's sessions, newest first. Returns `{ sessions: [...], next_cursor? }`; pass `next_cursor` back as `cursor` for the next page. Never includes the stored credentials.

  • spicrawl_session_releaseRelease a sessioncan change or delete data

    End a session when you are done with it: frees its exit IP and browser state; it can no longer be used with spicrawl_scrape. Its stored cookies and storage are purged and cannot be recovered; start a new session and log in again to continue. The record stays visible (status `released`) so its history can still be inspected. Refused while a scrape holds the session's lease unless `force` is true. Returns the session object.

  • spicrawl_usageUsage breakdownread-only

    Billing-grade usage for your org over a date window, from the daily rollup (usage_daily), grouped by day, project, engine, feature or key. group_by=key returns per API key (key_id, name, prefix, project_id) counters per metric per day, from usage_key_daily; keyless (dashboard) usage is not in it, and a project-scoped key sees only its own project's keys. Use it to answer 'how many requests/credits did I use, and where'. The window defaults to the last 30 days including today; `to` is EXCLUSIVE (a single day 2026-08-01 is from=2026-08-01, to=2026-08-02) and the window may not exceed 400 days. T…

  • spicrawl_usage_reconciliationUsage reconciliationread-only

    Drift report for ONE day: re-derives usage from that day's request log and compares it with the billed daily rollup, so you can see whether the rollup missed or double-counted anything. Defaults to yesterday (UTC); today is still accumulating and would always show drift. Requires the `read` scope.

  • spicrawl_usage_summaryUsage summaryread-only

    A compact current-period summary of your org's usage (totals as of now, from the daily rollup). No parameters. Use for a quick 'how much have I used so far'; use spicrawl_usage for a windowed breakdown. Requires the `read` scope.

Signals

Stars
0
Forks
1
Open issues
0
Last commit
Oct 15, 2026 (14 days ago)
Last release
Oct 15, 2026 (14 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.OfficialSpicrawl/mcp
Version
0.1.8
Auth
Bearer token, API key
Packages
npm @spicrawl/mcp
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Spicrawl MCP server. Agent Mart. https://agentmart.dev/connectors/officialspicrawl-mcp (last updated 2026-10-24)