crawl4ai-local-for-windows
Crawl4ai Local for Windows
Локальный MCP-сервер для Crawl4ai на Windows. Устанавливать WSL не нужно — просто запустите его напрямую.
См. также: - https://github.com/unclecode/crawl4ai - https://docs.crawl4ai.com/
Требования
Для этого проекта требуются uv и Python 3.14.
Related MCP server: crawl4ai-mcp-server
Установка
uv syncЗапуск
🚨️ Если правильно подключить MCP к кодинг-агенту, сервер запустится автоматически — запускать его отдельно не нужно.
uv run mainЧтобы запустить в режиме отладки (MCP Inspector) из терминала:
uv run mcp dev src/crawl4ai_local_for_windows/server.pyДобавление MCP к агенту
Claude Code
claude mcp add --transport stdio --scope user crawl4ai -- uv run --directory <parent_location>\crawl4ai-local-for-windows mainparent_location: Укажите его в виде C:\dev\repo\fix-a-lot
например,
claude mcp add --transport stdio --scope user crawl4ai -- uv run --directory C:\dev\repo\fix-a-lot\crawl4ai-local-for-windows main
# Check MCP installation
claude mcp list
claude mcp get crawl4aiHermes Agent
{
"mcpServers": {
"crawl4ai": {
"command": "uv",
"args": [
"run",
"--directory",
"<parent_location>\\crawl4ai-local-for-windows",
"main"
]
}
}
}parent_location: Укажите его в виде C:\\dev\\repo\\fix-a-lot
например,
C:\\dev\\repo\\fix-a-lot\\crawl4ai-local-for-windows
🚧 Команды, использованные при создании каркаса проекта
uv init
uv add crawl4ai mcp
uv run crawl4ai-setupAvailable Tools
2 toolscrawl_markdownB
주어진 URL을 크롤링해서 마크다운으로 반환한다.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full disclosure burden. It mentions crawling and markdown output but does not reveal network side effects, rate limits, following redirects, failure modes (unreachable URLs, non-HTML content), or whether it executes JavaScript. This leaves important behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence fully states the action, the object, and the return format. There is no wasted text or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool this is minimally viable, but it lacks context about the expected markdown structure (full page vs filtered content), input URL restrictions, or output schema-level details beyond what the output schema likely provides. The existence of a sibling tool also suggests usage guidance would have made the description more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one `url` parameter with 0% description coverage. The description references 'given URL' but adds no extra meaning beyond the obvious fact that `url` is the input. Since the parameter is self-explanatory, this is adequate but adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('crawl') on a specific resource (the given URL) and a clear output format (markdown). This naturally distinguishes it from the sibling tool 'crawl_screenshot', so an agent can immediately tell the two apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus crawl_screenshot or any other alternative. The description only states what it does, not the conditions under which an agent should prefer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crawl_screenshotB
스크린샷을 찍어 파일로 저장한다.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| output_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states that a screenshot is saved to a file; it does not disclose overwrite behavior, file format, URL rendering expectations, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no filler. It is appropriately sized for a simple tool and states the core action upfront.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only two required parameters and an output schema, so complexity is low. Still, with no annotations and no sibling comparison, the description leaves the agent to infer important operational details such as URL validity and output handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should clarify the parameters. It does not explicitly explain that 'url' is the page to screenshot or that 'output_path' is the destination file, though the phrase 'saves to a file' hints at the latter. This is minimal but not nonexistent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool takes a screenshot and saves it to a file. It names a specific verb ('screenshot') and resource (file output), making it easy to distinguish from the sibling crawl_markdown, which presumably produces markdown instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus crawl_markdown, or what requirements exist (e.g., valid URL, writable path). Usage must be inferred entirely from the tool name and terse description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
crawl_markdown - First observed
crawl_screenshot
TDQS
Scored across 2 tools
The two tools are clearly distinct: one returns markdown content, the other saves a screenshot. There is no overlap in their purposes or outputs.
Both tools follow the same verb_noun pattern with the 'crawl_' prefix, making the naming entirely predictable and consistent.
With only two tools, the server is slightly under the typical 3-15 range, but the minimal set is reasonable for a focused crawler that only offers markdown and screenshot output.
The core crawling workflow is covered, but there are noticeable gaps such as raw HTML output, link extraction, or crawling options like depth or custom selectors. Agents may need to work around these missing capabilities.
Maintenance
Related MCP Connectors
Hosted Web Crawler MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Scrape, crawl and search the web for AI agents via MCP.
Turn any public website into an MCP server for agents to search, read and navigate.
Zenrows MCP server: Fetch, Extract, Batch, and Browser Sessions for AI agents
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA locally-hosted MCP server that provides AI assistants with advanced web crawling capabilities, including structured data extraction, deep site crawling, and page screenshots. It enables users to convert single or multiple URLs into clean Markdown content for processing by LLMs without requiring external API keys for basic features.-
- AlicenseNot gradedqualityFmaintenanceA lightweight MCP server that exposes Crawl4AI web scraping and crawling capabilities as tools for AI agents, enabling single-page scraping and multi-page crawling with adaptive stopping.115MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for web scraping and browser automation, enabling AI agents to extract clean, token-efficient content from web pages.1MIT
- AlicenseNot gradedqualityDmaintenanceA local, dependency-free MCP server that gives AI agents controlled access to the active Windows desktop, enabling automated interaction with applications through screenshots, clicks, typing, and window management.45 npmMIT