Crawl4AI Web Scraper and Crawler - UBOS

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Crawl4AI MCP Server

A Model Context Protocol (MCP) server implementation that integrates Crawl4AI with Cursor AI, providing web scraping and crawling capabilities as tools for LLMs in Cursor Composer’s agent mode.

System Requirements

Python 3.10 or higher installed.

Current Features

  • Single page scraping
  • Website crawling

Installation

Basic setup instructions also available in the Official Docs for MCP Server QuickStart.

Set up your environment

First, let’s install uv and set up our Python project and environment:

MacOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Make sure to restart your terminal afterwards to ensure that the uv command gets picked up.

After that:

  1. Clone the repository

  2. Install dependencies using UV:

# Navigate to the crawl4ai-mcp directory
cd crawl4ai-mcp

# Install dependencies (Only first time)
uv venv
uv sync

# Activate the venv
source .venv/bin/activate

# Run the server
python main.py
  1. Add to Cursor’s MCP Servers or Claude’s MCP Servers

You may need to put the full path to the uv executable in the command field. You can get this by running which uv on MacOS/Linux or where uv on Windows.

{
  "mcpServers": {
    "Crawl4AI": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/crawl4ai-mcp",
        "run",
        "main.py"
      ]
    }
  }
}

Tools Provided

This MCP server exposes the following tools to the LLM:

  1. scrape_webpage(url: str)

    • Description: Scrapes the content and metadata from a single webpage using Crawl4AI.
    • Parameters:
      • url (string, required): The URL of the webpage to scrape.
    • Returns: A list containing a TextContent object with the scraped content (primarily markdown) as JSON.
  2. crawl_website(url: str, crawl_depth: int = 1, max_pages: int = 5)

    • Description: Crawls a website starting from the given URL up to a specified depth and page limit using Crawl4AI.
    • Parameters:
      • url (string, required): The starting URL to crawl.
      • crawl_depth (integer, optional, default: 1): The maximum depth to crawl relative to the starting URL.
      • max_pages (integer, optional, default: 5): The maximum number of pages to scrape during the crawl.
    • Returns: A list containing a TextContent object with a JSON array of results for the crawled pages (including URL, success status, markdown content, or error).

Featured Templates

View More
AI Characters
Sarcastic AI Chat Bot
127 1270
AI Assistants
Image to text with Claude 3
150 983
Verified Icon
AI Assistants
Speech to Text
128 1302

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.