Skip to main content
Glama
coolaigit

site-crawler-mcp

by coolaigit

site-crawler-mcp

Un servidor MCP de rastreo completo del sitio construido sobre crawl4ai (Apache-2.0). Rastrea todos los enlaces internos de un sitio web como un spider de motor de búsqueda (BFS), filtra páginas por fecha de publicación / título / URL, y puede operar sobre páginas rastreadas (resumir, hacer clic en enlaces, descargar archivos). Los resultados se devuelven como JSON y se persisten en SQLite para su reutilización por cualquier proyecto.

Resumen en español: un MCP de rastreo completo de enlaces internos «como el crawler de Google». Basado en crawl4ai con encapsulación propia, admite recorrido BFS completo del sitio, filtrado por fecha/título/URL, operaciones en páginas (resumen LLM/clic en enlaces/descarga de archivos), resultados en JSON + persistencia en SQLite. Regístrelo en Reasonix / Claude Desktop / Cursor o cualquier cliente MCP para reutilizarlo globalmente.

Características

  • Rastreo BFS completo del sitio — recorre todos los enlaces internos (max_depth / max_page controlables)

  • Filtro de tiempo — extrae la fecha de publicación de metadatos de página / JSON-LD / URL primero, recurre a la hora de rastreo cuando no está disponible (resultado etiquetado con time_source)

  • Filtro de título — incluir/excluir por palabra clave en el título (sin distinción de mayúsculas/minúsculas)

  • Filtros de patrón URL y dominio — coincidencia glob/regex de URL, restricción al mismo dominio

  • Rastreo educado — respeta robots.txt y limita la tasa por defecto (configurable)

  • Operaciones en páginas — resumen LLM (LiteLLM: DeepSeek / GLM / OpenAI…, fallback local), hacer clic en un enlace específico (selector CSS o texto del enlace), descargar archivos

  • Persistencia en SQLite — herramienta query_crawls para reutilizar datos rastreados en proyectos posteriores

Related MCP server: Spider MCP Server

Herramientas

Herramienta

Descripción

crawl_site

Rastreo BFS completo del sitio. Parámetros: start_url, max_depth, max_pages, published_after/before, title_contains/title_exclude, url_pattern, include_external, respect_robots, rate_limit

scrape_page

Extraer una sola página (markdown / título / fecha de publicación / enlaces)

summarize_page

Resumir el contenido de la página. mode=auto (LLM primero → fallback local) / llm / local; llm_provider (formato LiteLLM, ej. deepseek/deepseek-chat), llm_api_key_env (por defecto DEEPSEEK_API_KEY)

click_link

Hacer clic en un enlace dentro de la página (selector CSS o link_text) y extraer la página de destino

download_file

Descargar archivos de la página al directorio de salida (por defecto E:\Reasonix-项目\crawler-output)

query_crawls

Consultar resultados de rastreo persistidos desde SQLite (filtros de título/URL/tiempo)

Requisitos

  • Python ≥ 3.12 (probado en 3.12.13)

  • uv recomendado (opcional — también funciona con pip normal)

  • Navegadores Playwright: python -m playwright install chromium (o apunte PLAYWRIGHT_BROWSERS_PATH a una instalación de navegador existente)

Instalar y Registrar

# 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"]

Para Claude Desktop / Cursor, agregue los mismos command/args bajo mcpServers en sus archivos de configuración.

Inicio Rápido (API de Python)

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())

Cómo funciona el filtro de tiempo

Los filtros de URL de crawl4ai solo funcionan sobre las URL, por lo que aquí se implementa el filtrado a nivel de contenido:

  1. Poda a nivel de URL — TimeRangeFilter / TitleFilter (patrones de fecha en URL, palabras clave en URL)

  2. A nivel de contenido — después de obtener cada página, la fecha de publicación se extrae de <meta property="article:published_time">, JSON-LD datePublished, <time datetime>, o YYYY/MM/DD en la URL. Si no se encuentra ninguna, se usa la hora de rastreo (decisión documentada como time_source).

Cumplimiento

  • Respeta robots.txt y límites de tasa por defecto para evitar estresar los sitios de destino o ser bloqueado por IP.

  • Para aprendizaje / investigación / sus propios sitios; siga los Términos de Servicio de los sitios de destino y las leyes locales.

Licencia

MIT

Construido sobre 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