Skip to main content
Glama
coolaigit

site-crawler-mcp

by coolaigit

site-crawler-mcp

A site-wide crawler MCP server built on crawl4ai (Apache-2.0). It crawls every internal link of a website like a search-engine spider (BFS), filters pages by publish time / title / URL, and can operate on crawled pages (summarize, click links, download files). Results are returned as JSON and persisted to SQLite for reuse by any project.

中文简介:一个「像谷歌爬虫一样」的全站内链爬虫 MCP。基于 crawl4ai 自研封装, 支持 BFS 全站遍历、时间/标题/URL 筛选、页面操作(LLM 概括/点击链接/下载文件)、 结果 JSON 返回 + SQLite 持久化。注册到 Reasonix / Claude Desktop / Cursor 等任意 MCP 客户端即可全局复用。

Features

  • Site-wide BFS crawl — traverse all internal links (max_depth / max_pages controllable)

  • Time filter — extract publish time from page meta / JSON-LD / URL first, fall back to crawl time when unavailable (result tagged with time_source)

  • Title filter — include / exclude by title keyword (case-insensitive)

  • URL pattern & domain filters — glob/regex URL matching, same-domain restriction

  • Polite crawling — respects robots.txt and rate-limits by default (toggleable)

  • Page operations — LLM summarize (LiteLLM: DeepSeek / GLM / OpenAI…, local fallback), click a specific link (CSS selector or link text), download files

  • SQLite persistencequery_crawls tool to reuse crawled data in later projects

Related MCP server: Spider MCP Server

Tools

Tool

Description

crawl_site

BFS site-wide crawl. Params: start_url, max_depth, max_pages, published_after/before, title_contains/title_exclude, url_pattern, include_external, respect_robots, rate_limit

scrape_page

Scrape a single page (markdown / title / publish time / links)

summarize_page

Summarize page content. mode=auto (LLM first → local fallback) / llm / local; llm_provider (LiteLLM format, e.g. deepseek/deepseek-chat), llm_api_key_env (default DEEPSEEK_API_KEY)

click_link

Click a link inside the page (selector CSS or link_text) and scrape the target page

download_file

Download page files to output dir (default E:\Reasonix-项目\crawler-output)

query_crawls

Query persisted crawl results from SQLite (title/URL/time filters)

Requirements

  • Python ≥ 3.12 (tested on 3.12.13)

  • uv recommended (optional — plain pip works too)

  • Playwright browsers: python -m playwright install chromium (or point PLAYWRIGHT_BROWSERS_PATH at an existing browser install)

Install & Register

# 1. Create environment & install
uv venv .venv --python 3.12
uv pip install --python .venv\Scripts\python.exe crawl4ai "mcp>=1.2,<2"
uv pip install --python .venv\Scripts\python.exe -e .

# 2. Install browser (once)
.venv\Scripts\python.exe -m playwright install chromium

# 3. Register as MCP server (example for Reasonix config.toml)
[[plugins]]
name    = "site-crawler-mcp"
type    = "stdio"
command = "C:\\path\\to\\site-crawler-mcp\\.venv\\Scripts\\python.exe"
args    = ["-m", "site_crawler_mcp.server"]

For Claude Desktop / Cursor, add the same command/args under mcpServers in their config files.

Quick Start (Python API)

import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main():
    params = StdioServerParameters(command="python", args=["-m", "site_crawler_mcp.server"])
    async with stdio_client(params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            res = await session.call_tool("crawl_site", {
                "start_url": "https://example.com",
                "max_depth": 2,
                "max_pages": 20,
                "title_contains": "Example",
            })
            print(res.content[0].text)

asyncio.run(main())

How the time filter works

crawl4ai's URL filters work on URLs only, so content-level filtering is implemented here:

  1. URL-level pruning — TimeRangeFilter / TitleFilter (URL date patterns, URL keywords)

  2. Content-level — after each page is fetched, publish time is extracted from <meta property="article:published_time">, JSON-LD datePublished, <time datetime>, or YYYY/MM/DD in the URL. If none found, crawl time is used (decision documented as time_source).

Compliance

  • Respects robots.txt and rate limits by default to avoid stressing target sites or getting IP-banned.

  • For learning / research / your own sites; please follow target sites' ToS and local laws.

License

MIT

Built on crawl4ai (Apache-2.0).

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Enables automated web research and intelligence gathering through recursive web crawling, multi-engine search integration, and persistent SQLite storage with support for keyword filtering and multiple export formats.
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    A comprehensive website crawler and SEO analyzer that stores site data in a local SQLite database for AI-driven auditing. It enables users to detect technical SEO issues, broken links, and security vulnerabilities through natural language queries or terminal commands.
    4
    54
    16
    Apache 2.0
  • A
    license
    -
    quality
    C
    maintenance
    Enables web crawling and content extraction from web pages, supporting multiple output formats like text, markdown, XML, and JSON, with robots.txt compliance and rate limiting.
    14
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Scrape, crawl, map & search the web. Open-source, self-hostable Rust crawler & search for AI agents.

  • Converts any URL to clean, LLM-ready Markdown using real Chrome browsers

  • Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/coolaigit/site-crawler-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server