A side-by-side look at the Fetch and Crw MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Fetch for search & data extraction work as a local process; choose Crw for search & data extraction as a local process. You can also run both side by side in one mcpServers block.
create_entities, create_relations, add_observations.CRW_API_KEY.crw_scrape, crw_crawl, crw_check_crawl_status.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Search & Data Extraction | Search & Data Extraction |
| Quality signal | 90/100 · Excellent | 72/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | OAuth 2.0 |
| Pricing | Free | Freemium |
| Required env vars | None listed | CRW_API_KEY |
| Verified owner | Verified | Community listing |
| GitHub stars | 91,147 | 1,134 |
| Directory activity | 4 views 0 installs 0 upvotes | 4 views 0 installs 0 upvotes |
| Tools | 9 | 8 |
| Full listing | View Fetch | View Crw |
create_entitiesCreate multiple new entities in the knowledge graphcreate_relationsCreate multiple new relations between entities in the knowledge graph. Relations should be in active voiceadd_observationsAdd new observations to existing entities in the knowledge graphdelete_entitiesDelete multiple entities and their associated relations from the knowledge graphdelete_observationsDelete specific observations from entities in the knowledge graphdelete_relationsDelete multiple relations from the knowledge graphread_graphRead the entire knowledge graphsearch_nodesSearch for nodes in the knowledge graph based on a queryopen_nodesOpen specific nodes in the knowledge graph by their namescrw_scrapeScrape one URL to markdown, HTML, or links.crw_crawlStart an async site crawl; returns a job id to poll with crw_check_crawl_status.crw_check_crawl_statusPoll an async crawl job and retrieve its pages.crw_mapDiscover URLs on a site via sitemap and/or a short crawl. Returns a URL list only, no page content.crw_extractExtract structured JSON from URLs via a prompt and/or JSON schema. Async job — poll crw_check_extract_status with the returned id. Needs an LLM.crw_check_extract_statusPoll an extract job; returns status and, when complete, a per-URL results array.crw_cancel_extractRequest cancellation of an extract job. Returns the canonical status; cancelling remains non-terminal until the claimed URL settles.crw_parse_fileParse a local PDF (base64 in contentBase64) to markdown. No OCR: scanned PDFs return empty markdown with a warning.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}
{
"mcpServers": {
"us-crw": {
"command": "npx",
"args": [
"-y",
"crw-mcp@latest"
],
"env": {
"CRW_API_KEY": "YOUR_CRW_API_KEY_HERE"
}
}
}
}