{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_qkdqrrmzzghb","handle":"spicrawl-mcp","url":"https://wellknown.network/agents/spicrawl-mcp","links":{"self":"https://wellknown.network/agents/spicrawl-mcp/record.json","html":"https://wellknown.network/agents/spicrawl-mcp","markdown":"https://wellknown.network/agents/spicrawl-mcp/record.md","api":"https://wellknown.network/api/v1/agents/spicrawl-mcp","status":"https://wellknown.network/api/v1/agents/spicrawl-mcp/status","claim":"https://wellknown.network/agents/spicrawl-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/spicrawl-mcp/claim.json","badge":"https://wellknown.network/agents/spicrawl-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/spicrawl-mcp/history","tools":"https://wellknown.network/api/v1/agents/spicrawl-mcp/tools"},"ard":{"identifier":"urn:air:mcp.spicrawl.com:server:spicrawl-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Spicrawl","summary":"Web scraping MCP server: any URL to Markdown or JSON, with JavaScript rendering and batch jobs.","description":"Web scraping MCP server: any URL to Markdown or JSON, with JavaScript rendering and batch jobs.","publisher":{"name":"OfficialSpicrawl","url":null},"homepage":"https://docs.spicrawl.com/agents/mcp","repository":"https://github.com/OfficialSpicrawl/mcp","version":"0.1.8","license":"Apache-2.0","protocols":["mcp"],"tags":["spicrawl","mcp","mcp-server","model-context-protocol","web-scraping","web-scraper","scraper","batch-scraping","markdown","html-to-markdown","data-extraction","structured-data","javascript-rendering","browser-automation","llm","rag","ai-agents","claude","claude-code","cursor"],"pricing":null,"endpoints":[{"url":"https://mcp.spicrawl.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:@spicrawl/mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-15T07:37:28.635036Z","npmKeywords":["spicrawl","mcp","mcp-server","model-context-protocol","web-scraping","web-scraper","scraper","batch-scraping","markdown","html-to-markdown","data-extraction","structured-data","javascript-rendering","browser-automation","llm","rag","ai-agents","claude","claude-code","cursor"],"publishedAt":"2026-10-15T07:37:28.635036Z","registryName":"io.github.OfficialSpicrawl/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.extraction","name":"Data Extraction","confidence":1,"provenance":"derived"},{"slug":"data.web-scraping","name":"Web Scraping","confidence":1,"provenance":"declared"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":1,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":1,"provenance":"declared"},{"slug":"data.vector-search","name":"Vector Search","confidence":1,"provenance":"declared"},{"slug":"code.documentation","name":"Code Documentation","confidence":0.583,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":0.569,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.525,"provenance":"derived"}],"categories":["code","data","dev","documents","infra","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-22T04:27:23.859Z","lastProbedAt":"2026-10-22T04:27:23.859Z","statusComputedAt":"2026-10-22T04:30:22.648Z","reliability30d":{"probes":45,"successRate":1,"p50Ms":183,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":45,"ok":45,"authBoundaryOk":13,"serviceOk":32,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-22T04:27:23.859Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":188,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T21:33:28.039Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":162,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T11:25:22.882Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":186,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T02:28:55.292Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":162,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T20:23:27.860Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":194,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T13:29:41.855Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":175,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T07:28:59.600Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":189,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T01:29:32.962Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":190,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T18:32:31.557Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":205,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T11:29:48.649Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":154,"error":null,"detail":{"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"toolCount":24,"toolsHash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","serverName":"spicrawl-mcp-server","capabilities":["tools"],"serverVersion":"0.1.7","protocolVersion":"2025-06-18"}}],"tools":[{"name":"spicrawl_scrape","description":"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"},{"name":"spicrawl_batch_submit","description":"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, un"},{"name":"spicrawl_batch_list","description":"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"},{"name":"spicrawl_batch_status","description":"Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once s"},{"name":"spicrawl_batch_results","description":"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/batc"},{"name":"spicrawl_batch_task_content","description":"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 nee"},{"name":"spicrawl_batch_cancel","description":"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 th"},{"name":"spicrawl_batch_retry","description":"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_"},{"name":"spicrawl_batch_add_items","description":"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 share"},{"name":"spicrawl_batch_close","description":"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."},{"name":"spicrawl_session_create","description":"Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrape"},{"name":"spicrawl_session_list","description":"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 "},{"name":"spicrawl_session_get","description":"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 "},{"name":"spicrawl_session_context","description":"Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` obj"},{"name":"spicrawl_session_release","description":"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 "},{"name":"spicrawl_session_delete","description":"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: "},{"name":"spicrawl_usage","description":"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 "},{"name":"spicrawl_usage_summary","description":"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'; us"},{"name":"spicrawl_usage_reconciliation","description":"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"},{"name":"spicrawl_requests_list","description":"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, lat"},{"name":"spicrawl_request_get","description":"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"},{"name":"spicrawl_docs_search","description":"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 spicraw"},{"name":"spicrawl_docs_read","description":"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 eit"},{"name":"spicrawl_docs_index","description":"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 d"}],"package":{"name":"@spicrawl/mcp","registry":"npm","observedAt":"2026-10-22T04:32:10.983Z","publishedAt":"2026-10-15T07:37:16.080Z","latestVersion":"0.1.8","weeklyDownloads":227},"toolSurface":{"id":"ts_3b77f5cumvf6","endpointId":"ep_t58pfdtfddsq","hash":"d45e3e27498ab54eafc826867024900c73635fba178bae3fafe7641ea5e379bd","toolCount":24,"serverName":"spicrawl-mcp-server","serverVersion":"0.1.7","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-13T11:25:31.100Z","lastSeenAt":"2026-10-22T04:27:23.861Z","observations":32,"toolNames":["spicrawl_scrape","spicrawl_batch_submit","spicrawl_batch_list","spicrawl_batch_status","spicrawl_batch_results","spicrawl_batch_task_content","spicrawl_batch_cancel","spicrawl_batch_retry","spicrawl_batch_add_items","spicrawl_batch_close","spicrawl_session_create","spicrawl_session_list","spicrawl_session_get","spicrawl_session_context","spicrawl_session_release","spicrawl_session_delete","spicrawl_usage","spicrawl_usage_summary","spicrawl_usage_reconciliation","spicrawl_requests_list","spicrawl_request_get","spicrawl_docs_search","spicrawl_docs_read","spicrawl_docs_index"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_t58pfdtfddsq","url":"https://mcp.spicrawl.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-20T20:23:27.875Z","auth":{"observedAt":"2026-10-20T20:23:28.068Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-20T20:23:28.392Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"spicrawl.com","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-09-26T05:53:09.000Z","validTo":"2026-12-25T05:53:08.000Z","daysToExpiry":63,"sanCount":2,"fingerprint256":"AA:32:6B:D9:13:49:4E:A0:AE:D5:69:BD:95:9C:30:53:09:6F:E6:46:A9:74:9F:BE:79:52:32:2F:5E:04:D4:72"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"npm","key":"@spicrawl/mcp","url":"https://www.npmjs.com/package/@spicrawl/mcp","firstSeenAt":"2026-10-05T18:20:58.536Z","fetchedAt":"2026-10-22T04:17:52.077Z","normalizedAt":"2026-10-22T04:17:52.077Z"},{"source":"mcp_registry","key":"io.github.OfficialSpicrawl/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.OfficialSpicrawl%2Fmcp","firstSeenAt":"2026-10-09T23:22:48.813Z","fetchedAt":"2026-10-19T01:20:02.674Z","normalizedAt":"2026-10-19T01:20:02.674Z"}]},"firstSeenAt":"2026-10-05T18:20:58.536Z","updatedAt":"2026-10-22T04:32:10.983Z"}