MCP Server Reference
Complete method reference with request examples and responses.
Prompts shown are examples only. Claude understands natural language — you can phrase requests however feels natural to you.
Installation
Add SarvCrawl MCP to your AI client. Requires Node.js 20+ and a SarvCrawl API key.
Add to your AI clientPick your client — all options use npx, no cloning or file management needed.
HTTP Mode (Shared Server)
Run kb-mcp as a persistent HTTP service on a server. Teammates connect with just a URL — no Node.js or file copying needed on their machine. Run one instance per user on separate ports.
Start HTTP serverSet HTTP_STREAMABLE_SERVER=true. Default port is 3001. Ensure the port is open in your firewall.
claude mcp add (HTTP)Teammates run this on their machine — no files needed locally.
Knowledge Base Management
Create, list, and delete knowledge bases. Always call kb_list first to discover the kb_id values needed by every other tool.
kb_listCalled kb_list
● Here are your knowledge bases:
| Name | ID | Pages | Docs | Size |
|---|---|---|---|---|
| Product Docs | kb_Prd8mZ2xQi | 247 | 12 | 18.42 MB |
| Research KB | kb_Res4kN7vLp | 89 | 3 | 4.21 MB |
2 knowledge bases total. Want me to search one, list its pages, or do something else?
kb_createCalled kb_create
● Created "Product Docs" successfully.
ID: kb_Prd8mZ2xQi
Created: 2026-06-15
Ready for ingestion — use kb_scrape, kb_crawl, or upload to add content.
kb_deleteCalled kb_delete
● Deleted "Research KB" — 89 pages and 3 documents permanently removed.
This cannot be undone.
Scrape
Scrape a single URL and store its content in a knowledge base. Returns a job_id immediately — poll kb_check_job_status until status is "completed". For multi-page sites, use kb_crawl instead.
kb_scrapeCalled kb_scrape
● Scrape job queued (job_rnDLH7FukV). Polling for completion…
● Still running — waiting a moment and checking again…
● Job completed ✓ — 1 page stored, ~23.7k tokens indexed.
Content is searchable in your Research KB. Use kb_search to query it.
Crawl
Recursively crawl a website from a root URL and store every discovered page. Only one crawl can run at a time per user — if you receive a CONCURRENCY_LIMIT error, wait for the current crawl to finish first.
kb_crawlCalled kb_crawl
● Crawl job queued (job_crwAbc123). This may take a few minutes…
● Running — 47 pages stored so far, following links at depth 2…
● Job completed ✓ — 312 pages stored, ~8.4M tokens indexed.
docs.example.com is fully archived. Use kb_search or kb_list_pages to access it.
Web Search
Run a web search and store the top results with full page content into a knowledge base. Use when you don't have a specific URL but want to gather information on a topic.
kb_web_searchCalled kb_web_search
● Web search job queued (job_wsrXyz789). Fetching top results…
● Job completed ✓ — 10 pages stored from search results.
Results for "knowledge infrastructure 2024" are indexed in your Research KB.
Map
Discover all indexed URLs on a website without downloading page content. Use to audit site structure or plan what to crawl before running kb_crawl.
kb_mapCalled kb_map
● Map job queued (job_mapDef456). Discovering URLs on example.com…
● Job completed ✓ — 1,247 URLs discovered.
No content downloaded. Run kb_crawl with specific paths to store pages.
Monitor
Create a recurring check that re-scrapes a page (or re-crawls a site), diffs it against the last check, and posts a webhook when something is new, changed, or removed. Unlike other jobs, a monitor never "completes" — it stays "running" indefinitely by design. Use kb_cancel_job to stop it (required before kb_delete_job will work).
kb_create_monitorCalled kb_create_monitor
● Monitor created (job_mon9Kp2Xz) — watching https://example.com/pricing, checking daily.
● First check ran — page stored as baseline, no diff yet.
● Change detected ✓ — a price line changed. Webhook sent to your notify_url.
The monitor keeps running on its schedule. Use kb_cancel_job to stop it.
Job Tools
Monitor, debug, and manage async jobs. Status flow: queued → running → completed | failed | cancelled. Always poll kb_check_job_status after starting any async job.
kb_check_job_statusCalled kb_check_job_status
● Scrape job — completed ✓
Type: scrape
Pages stored: 1
Duration: ~40s
Tokens indexed: 23,712
Use kb_search or kb_list_pages to access the stored content.
kb_job_logsCalled kb_job_logs
● Processing log for job_rnDLH7FukV:
10:00:05Starting scrape for https://sarv.com
10:00:12Fetched page (23,712 tokens)
10:00:28Stored to MinIO: kb_xxx/scrape/job_rnDLH7FukV/
10:00:30Elasticsearch indexed — 1 page complete
kb_job_treeCalled kb_job_tree
● Crawl tree for docs.example.com (47 nodes, max depth 4):
● docs.example.com (8 links)
● /guide (5 links)
● /guide/intro
● /guide/setup
● /api-reference (12 links)
Showing 5 of 47 nodes.
kb_job_source_mdCalled kb_job_source_md
● Extracted markdown from job_rnDLH7FukV:
# Document Title
This is the extracted text from the uploaded PDF.
The content has been converted to clean markdown…
… 23,712 tokens total
kb_job_auditCalled kb_job_audit
● PDF quality audit for job_rnDLH7FukV:
Similarity score: 0.94 / 1.00
Pages processed: 12
OCR used: No (embedded text is clean)
Quality rating: High ✓
Extraction quality looks excellent for this document.
kb_cancel_jobCalled kb_cancel_job
● Cancelled job_crwAbc123 ✓
Upstream Sarvcrawl crawl also stopped.
47 pages already stored remain in your KB.
kb_delete_jobCalled kb_delete_job
● Deleted job_rnDLH7FukV and all its data.
1 page removed from Elasticsearch index
Files removed from MinIO storage
Knowledge base intact — only this job was deleted.
kb_daily_statsCalled kb_daily_stats
● Ingestion stats for Research KB — last 7 days:
| Date | Pages | Docs |
|---|---|---|
| 2026-06-09 | 87 | 0 |
| 2026-06-10 | 124 | 3 |
| 2026-06-11 | 211 | 5 |
| 2026-06-12 | 0 | — |
| 2026-06-13 | 47 | 1 |
| 2026-06-14 | 89 | 2 |
558 pages, 11 documents added over 5 active days.
Pages & Search
Browse pages stored in a knowledge base and run full-text search. Use after a job completes to access the stored content.
kb_searchCalled kb_search
● Found 42 results for "semantic search" in Research KB:
1. Knowledge Infrastructure 2024 0.94
…built on semantic search and vector embeddings…
https://example.com/article
2. Semantic Search Explained 0.87
…fuzzy matching with field-weighted boosting…
https://example.com/guide/search
Showing 2 of 42. Use kb_get_page to read any result's full content.
kb_semantic_searchCalled kb_semantic_search
● Top semantic matches for "how do refunds work?":
Refund policy rrf 0.031
Refunds are processed within 5-7 business days…
https://example.com/help/refunds
Cancellations & returns rrf 0.028
…request a refund from your orders page within 30 days…
https://example.com/help/returns
Chunk-level hits — pass page_id to kb_get_page for the full page.
kb_list_pagesCalled kb_list_pages
● 89 pages stored in Research KB:
…and 86 more. Pass a page id to kb_get_page to read its full content.
kb_get_pageCalled kb_get_page
● Markdown content of "Knowledge Infrastructure 2024":
# Knowledge Infrastructure 2024
Modern knowledge systems are built on semantic search
and vector embeddings, enabling fuzzy matching across
millions of documents with sub-second response times.
… 23,712 tokens total
Files
Browse the raw files stored in MinIO for each job. Useful for inspecting what was saved before exporting.
kb_list_job_filesCalled kb_list_job_files
● Files stored for job_rnDLH7FukV:
| File | Size | Tokens |
|---|---|---|
| content.md | 12.1 KB | 3,200 |
| content.json | 8.8 KB | 2,100 |
Total: 20.9 KB, 5,300 tokens across 2 files.