
ShadowCrawl
io.github.DevsHero由 GitHub 账号 DevsHero 发布v2.0.0-rc更新于 Oct 27, 2026
Stealth scraping & search. Bypasses Cloudflare, DataDome & LinkedIn via Cyborg HITL approach.
概览
隐身网页搜索、抓取与有状态浏览器自动化服务器,帮助助手绕过反爬保护获取并提取网页内容。
- 可以做什么
- 在多个搜索引擎上搜索,可选一次调用同时返回页面内容
- 抓取单页、批量页面或整站爬取,并提取结构化字段
- 执行有状态浏览器自动化:导航、点击、表单、标签页、截图、PDF、路由模拟、追踪与断言
- 通过 CDP 渲染、代理轮换和人工介入的验证或登录流程应对反爬拦截
- 检索持久化研究记忆,并运行多跳深度研究与可选的 LLM 综合
- 适用场景
- 适合助手需要大规模收集网页数据、从 JavaScript 较重或受保护的页面提取结构化信息,或执行可重复的浏览器工作流与端到端检查时使用。也适用于普通抓取常被拦截的研究与采集任务。
- 运行要求
- 远程端点需 OAuth 登录;或按 README 自行部署二进制。自托管需要 Chromium/Chrome,可选代理列表与 LanceDB 路径;深度研究还需 OpenAI 兼容端点及 OPENAI_API_KEY。建议配置超时相关环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 ShadowCrawl,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.DevsHero%2Fshadow-crawl/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"shadowcrawl": {
"type": "http",
"url": "https://shadowcrawl--devshero.run.tools/"
}
}
}README
CortexScout (cortex-scout) — Search and Web Extraction Engine for AI Agents
CortexScout is the Deep Research & Web Extraction module within the Cortex-Works ecosystem.
Designed for agent workloads that require token-efficient web retrieval, reliable anti-bot handling, and optional Human-in-the-Loop (HITL) fallback.
[MIT License] [Built with Rust] [MCP]
Overview
CortexScout provides a single, self-hostable Rust binary that exposes search, extraction, and stateful browser automation capabilities over MCP (stdio) and an optional HTTP server. Output formats are structured and optimized for downstream LLM use.
It is built to handle the practical failure modes of web retrieval (rate limits, bot challenges, JavaScript-heavy pages) through progressive fallbacks: native retrieval → Chromium CDP rendering → Stateful E2E Testing → HITL workflows.
Tools (Capability Roster)
Legacy names remain callable as compatibility aliases (web_search_json, web_fetch_batch, web_crawl, fetch_then_extract, human_auth_session). Agents should prefer the unified primary tools above.
Ecosystem Integration
While CortexScout runs as a standalone tool today, it is designed to integrate with CortexDB and CortexStudio for multi-agent scaling, shared retrieval artifacts, and centralized governance.
🎭 The "Playwright Killer" (Stateful Browser Automation)
CortexScout includes a built-in, stateful CDP automation engine designed specifically for AI Agents, completely replacing heavy frameworks like Playwright or Cypress for E2E testing workflows.
- The Silent Omni-Tool (
scout_browser_automate): Instead of calling dozens of browser tools, agents pass one array ofsteps. The runtime now covers Playwright-style action families in one call: navigation, hover/click/type/wait, locator-driven actions, assertions, tabs, screenshots/PDF, file upload, form fill, dialog policy, coordinate mouse actions, route mocking, console/network capture, and cookie/storage CRUD. - Persistent Agent Profile: Automation runs silently in the background (
--headless=new) using a dedicated isolated profile (~/.cortex-scout/agent_profile). It maintains cookies, localStorage, and session state across tool calls without causingSingletonLockcollisions with your active desktop browser. - QA Mock, Trace, And Verification Engine: Agents can install route mocks (
mock_api,route_list,unroute) with response header overrides/stripping, trace flows (trace_start,trace_stop,trace_export), capture console/network logs, checkpoint browser state, and run both CSS and locator-based assertions plus Playwright-style verification helpers. - The Agent Auth Portal (
scout_agent_profile_auth): If the silent agent encounters a CAPTCHA or complex OAuth login (like Google/Microsoft) on a new domain, this tool launches the agent's profile in a visible window. You solve the CAPTCHA once, the cookies are saved, and the agent returns to silent automation forever.
Playwright-Style Coverage Map
The main tradeoff versus raw Playwright MCP is packaging, not capability shape: Cortex Scout keeps the browser surface inside one stateful omni-tool so agents spend fewer turns and fewer tokens coordinating multi-step flows.
Anti-Bot Efficacy & Validation
This repository includes captured evidence artifacts that validate extraction and HITL flows against representative protected targets.
See proof/README.md for methodology and raw outputs.
Quick Start
Option A — Prebuilt binaries
Download the latest release assets from GitHub Releases and run one of:
cortex-scout-mcp— MCP stdio server (recommended for VS Code / Cursor / Claude Desktop)cortex-scout— optional HTTP server (default port5000; override via--port,PORT, orCORTEX_SCOUT_PORT)
Health check (HTTP server):
Option B — Build from source
Install protoc first. lance-encoding uses Protocol Buffers during the release build, so protoc must be on your PATH.
- macOS:
brew install protobuf - Ubuntu/Debian:
sudo apt-get install -y protobuf-compiler - Fedora:
sudo dnf install -y protobuf-compiler
Basic build (search, scrape, deep research, memory):
This works from the repository root because the manifest path is explicit.
Full build (includes hitl_web_fetch / visible-browser HITL):
If you also want the optional HTTP server binary, build it explicitly with cargo build --release --bin cortex-scout.
Local MCP smoke test:
This runs a newline-delimited JSON-RPC stdio session against the local cortex-scout-mcp binary and exercises the main public tools with safe example inputs.
MCP Integration (VS Code / Cursor / Claude Desktop)
Add a server entry to your MCP config.
VS Code (mcp.json — global, or settings.json under mcp.servers):
The hard timeout guard vars below are required in MCP configs. They are the safety rail that prevents a bad page, stalled browser launch, or stuck scrape stage from holding the whole MCP session open indefinitely.
Default behavior is direct/no-proxy. Add IP_LIST_PATH and PROXY_SOURCE_PATH only if you want proxy tools available. If you want proxy_control available without routing normal traffic through proxies, point IP_LIST_PATH at an empty ip.txt file and let agents populate it on demand.
Important: Always use
RUST_LOG=warn, notinfo. Atinfolevel, the server emits hundreds of log lines per request to stderr, which can confuse MCP clients that monitor stderr.
Windows: Windows has no
envcommand. Use thecommand+envobject format instead — see docs/IDE_SETUP.md.
With deep research (LLM synthesis via OpenRouter / any OpenAI-compatible API):
Multi-IDE guide: docs/IDE_SETUP.md
Configuration (cortex-scout.json)
Create cortex-scout.json in the same directory as the binary (or repository root). All fields are optional; environment variables act as fallback.
Key Environment Variables
Core
Browser / Anti-bot
Search
Proxy
Semantic Memory (LanceDB)
Deep Research
HTTP Server only
Agent Best Practices
Recommended operational flow:
- Call
memory_searchbefore any new research run — skip live fetching if similarity ≥ 0.60 andskip_live_fetchistrue. - For topic discovery use
web_searchfor URL-only discovery, orweb_search(include_content=true)to search and scrape top results in one round-trip. - For known URLs use
web_fetch(mode="single")withoutput_format="clean_json", and setquery+strict_relevance=trueto keep only relevant sections. - On 403/429: call
proxy_controlwithaction:"grab"to refresh the proxy list, then retry withuse_proxy:true. - For auth-gated pages: run
visual_scoutwhenauth_risk_score >= 0.4, then usehitl_web_fetch(auth_mode="challenge")for CAPTCHA walls orhitl_web_fetch(auth_mode="auth")for login walls. - For deep research:
deep_researchhandles multi-hop search + scrape + LLM synthesis automatically. Tunedepth(1–3) andmax_sourcesper run cost budget. - For UI automation and E2E testing: use
scout_browser_automatewith step arrays for tabs, locator assertions, screenshots/PDF, route mocks, file uploads, and browser-state setup. If blocked by first-time login/CAPTCHA, callscout_agent_profile_auth, then resume automation.
FAQ
Why does deep_research with Ollama or qwen3.5 sometimes fail or fall back to heuristic mode?
Some reasoning-capable local models return OpenAI-compatible /v1/chat/completions responses with message.reasoning populated but message.content empty. Cortex Scout now retries local Ollama endpoints through native /api/chat with think:false when that pattern is detected.
Recommended config for local 4B-class Ollama models:
llm_api_key: ""incortex-scout.jsonis valid and means "no auth required"- Keep
synthesis_max_sourcesat1-2 - Keep
synthesis_max_chars_per_sourcearound600-1000 - Keep
synthesis_max_tokensaround512-768
If you still see slow or unstable synthesis, reduce synthesis_max_sources before increasing token limits.
Why do I see Chromium profile lock errors?
Each headless request uses a unique temporary profile, so normal scraping and deep_research are safe from profile lock races. Only HITL flows (like hitl_web_fetch) using a real browser profile can hit a lock if you run them concurrently or have Brave/Chrome open on the same profile. To avoid: run HITL calls one at a time, and close all browser windows before reusing a profile.
Checklist:
- Use a recent build (2026-03-05 or newer)
- Avoid persistent profile paths unless you need a logged-in session
- Run HITL/profile flows sequentially
- Close all browser windows before reusing a profile
- Let Cortex Scout use its own temp profiles for concurrent research
My MCP client connects but tools fail or time out immediately. What should I check first?
Check these before anything else:
- Use
RUST_LOG=warn, notinfo. - On macOS/Linux
env-style configs, pass the binary path directly after the env assignments. Do not insert"--"inmcp.jsonargs. - On Windows, do not use
env; usecommandplus anenvobject. - Make sure the binary path points to a current build.
Versioning and Changelog
See CHANGELOG.md.
License
MIT. See LICENSE.
来源:README.md,提交 34ae735
工具
0版本历史
1- v2.0.0-rc最新Sep 16, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分