Skip to main content
Glama
fix-a-lot

crawl4ai-local-for-windows

by fix-a-lot

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 main

parent_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 crawl4ai

Hermes 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-setup

Available Tools

2 tools
crawl_markdownB

주어진 URL을 크롤링해서 마크다운으로 반환한다.

NameRequiredDescriptionDefault
urlYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

스크린샷을 찍어 파일로 저장한다.

NameRequiredDescriptionDefault
urlYes
output_pathYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 2 tool updatesv0.1.0
    • First observedcrawl_markdown
    • First observedcrawl_screenshot

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are clearly distinct: one returns markdown content, the other saves a screenshot. There is no overlap in their purposes or outputs.

Naming Consistency5/5

Both tools follow the same verb_noun pattern with the 'crawl_' prefix, making the naming entirely predictable and consistent.

Tool Count4/5

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.

Completeness3/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    A 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.
    115
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for web scraping and browser automation, enabling AI agents to extract clean, token-efficient content from web pages.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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 npm
    MIT