MCP Webscan Server
Servidor de escaneo web MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) para el escaneo y análisis de contenido web. Este servidor proporciona herramientas para obtener, analizar y extraer información de páginas web.
Características
Obtención de páginas : convierte páginas web a Markdown para facilitar su análisis
Extracción de enlaces : extrae y analiza enlaces de páginas web
Rastreo de sitios : rastree sitios web de forma recursiva para descubrir contenido
Comprobación de enlaces : identificar enlaces rotos en páginas web
Coincidencia de patrones : encuentre URL que coincidan con patrones específicos
Generación de mapas de sitios : genere mapas de sitios XML para sitios web
Related MCP server: Open Crawler MCP Server
Instalación
Instalación mediante herrería
Para instalar Webscan para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install mcp-server-webscan --client claudeInstalación manual
# Clone the repository
git clone <repository-url>
cd mcp-server-webscan
# Install dependencies
npm install
# Build the project
npm run buildUso
Iniciando el servidor
npm startEl servidor se ejecuta en el transporte stdio, lo que lo hace compatible con clientes MCP como Claude Desktop.
Herramientas disponibles
fetch-pageObtiene una página web y la convierte a Markdown.
Parámetros:
url(obligatorio): URL de la página a buscar.selector(opcional): selector CSS para orientar contenido específico.
extract-linksExtrae todos los enlaces de una página web con su texto.
Parámetros:
url(obligatorio): URL de la página a analizar.baseUrl(opcional): URL base para filtrar enlaces.limit(opcional, predeterminado: 100): número máximo de enlaces a devolver.
crawl-siteRastrea recursivamente un sitio web hasta una profundidad específica.
Parámetros:
url(obligatorio): URL inicial para rastrear.maxDepth(opcional, predeterminado: 2): profundidad máxima de rastreo (0-5).
check-linksComprueba si hay enlaces rotos en una página.
Parámetros:
url(obligatorio): URL para comprobar los enlaces.
find-patternsEncuentra URL que coinciden con un patrón específico.
Parámetros:
url(obligatorio): URL donde buscar.pattern(obligatorio): patrón de expresión regular compatible con JavaScript con el que hacer coincidir las URL.
generate-site-mapGenera un mapa del sitio XML simple mediante rastreo.
Parámetros:
url(obligatorio): URL raíz para el rastreo del mapa del sitio.maxDepth(opcional, predeterminado: 2): profundidad máxima de rastreo para descubrir URL (0-5).limit(opcional, predeterminado: 1000): número máximo de URL para incluir en el mapa del sitio.
Ejemplo de uso con Claude Desktop
Configure el servidor en la configuración de Claude Desktop:
{
"mcpServers": {
"webscan": {
"command": "node",
"args": ["path/to/mcp-server-webscan/build/index.js"], // Corrected path
"env": {
"NODE_ENV": "development",
"LOG_LEVEL": "info" // Example: Set log level via env var
}
}
}
}Utilice las herramientas en sus conversaciones:
Could you fetch the content from https://example.com and convert it to Markdown?Desarrollo
Prerrequisitos
Node.js >= 18
npm
Estructura del proyecto (posterior a la refactorización)
mcp-server-webscan/
├── src/
│ ├── config/
│ │ └── ConfigurationManager.ts
│ ├── services/
│ │ ├── CheckLinksService.ts
│ │ ├── CrawlSiteService.ts
│ │ ├── ExtractLinksService.ts
│ │ ├── FetchPageService.ts
│ │ ├── FindPatternsService.ts
│ │ ├── GenerateSitemapService.ts
│ │ └── index.ts
│ ├── tools/
│ │ ├── checkLinksTool.ts
│ │ ├── checkLinksToolParams.ts
│ │ ├── crawlSiteTool.ts
│ │ ├── crawlSiteToolParams.ts
│ │ ├── extractLinksTool.ts
│ │ ├── extractLinksToolParams.ts
│ │ ├── fetchPageTool.ts
│ │ ├── fetchPageToolParams.ts
│ │ ├── findPatterns.ts
│ │ ├── findPatternsToolParams.ts
│ │ ├── generateSitemapTool.ts
│ │ ├── generateSitemapToolParams.ts
│ │ └── index.ts
│ ├── types/
│ │ ├── checkLinksTypes.ts
│ │ ├── crawlSiteTypes.ts
│ │ ├── extractLinksTypes.ts
│ │ ├── fetchPageTypes.ts
│ │ ├── findPatternsTypes.ts
│ │ ├── generateSitemapTypes.ts
│ │ └── index.ts
│ ├── utils/
│ │ ├── errors.ts
│ │ ├── index.ts
│ │ ├── logger.ts
│ │ ├── markdownConverter.ts
│ │ └── webUtils.ts
│ ├── initialize.ts
│ └── index.ts # Main server entry point
├── build/ # Compiled JavaScript (Corrected)
├── node_modules/
├── .clinerules
├── .gitignore
├── Dockerfile
├── LICENSE
├── mcp-consistant-servers-guide.md
├── package.json
├── package-lock.json
├── README.md
├── RFC-2025-001-Refactor.md
├── smithery.yaml
└── tsconfig.jsonEdificio
npm run buildModo de desarrollo
npm run devManejo de errores
El servidor implementa un manejo integral de errores:
Parámetros no válidos
Errores de red
Errores de análisis de contenido
Validación de URL
Todos los errores están formateados correctamente según la especificación MCP.
Contribuyendo
Bifurcar el repositorio
Crea tu rama de funciones (
git checkout -b feature/amazing-feature)Confirme sus cambios (
git commit -m 'Add some amazing feature')Empujar a la rama (
git push origin feature/amazing-feature)Abrir una solicitud de extracción
Licencia
Licencia MIT: consulte el archivo de LICENCIA para obtener más detalles
Available Tools
6 toolscheck-linksA
Fetches a given URL, extracts all anchor ('a') links, and checks each linked URL for validity (reachability via HEAD request). Returns a list of checked links with their status ('valid', 'broken', or 'invalid_url' if the href attribute couldn't be resolved to a full URL).
Inputs: url (required).
crawl-siteA
Recursively crawls a website starting from a given URL up to a specified maximum depth. It follows links within the same origin and returns a list of all unique URLs found during the crawl.
Inputs: url (required), maxDepth.
extract-linksA
Extract and analyze all hyperlinks from a web page, organizing them into a structured format with URLs, anchor text, and contextual information. Performance-optimized with stream processing and worker threads for efficient handling of large pages. Works with either a direct URL or raw HTML content. Handles relative and absolute URLs properly by supporting an optional base URL parameter. Results can be limited to prevent overwhelming output for link-dense pages. Returns a comprehensive link inventory that includes destination URLs, link text, titles (if available), and whether links are internal or external to the source domain. Useful for site mapping, content analysis, broken link checking, SEO analysis, and as a preparatory step for targeted crawling operations.
Inputs: url (required), baseUrl, limit.
fetch-pageA
Fetches the HTML content of a given URL. Optionally, it can select a specific part of the HTML using a CSS selector and convert only that part (or the whole body if no selector is provided) to Markdown format. Returns the resulting Markdown text.
Inputs: url (required), selector.
find-patternsA
Fetches a web page, extracts all anchor ('a') links, resolves their absolute URLs, and returns a list of links whose URLs match a given JavaScript-compatible regular expression pattern. Includes the URL and anchor text for each match.
Inputs: pattern (required), url (required).
generate-site-mapA
Crawls a website starting from a given URL up to a specified depth and generates an XML sitemap containing the discovered URLs (up to a specified limit).
Inputs: url (required), limit, maxDepth.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
There is significant overlap between tools, particularly check-links, extract-links, and find-patterns, which all involve extracting and analyzing links from web pages, leading to potential confusion. However, crawl-site and generate-site-map have more distinct purposes for recursive crawling and sitemap generation, respectively, and fetch-page stands out for content retrieval and conversion.
All tool names follow a consistent kebab-case pattern with clear verb-noun structures (e.g., check-links, crawl-site, extract-links). This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming style.
With 6 tools, the count is well-scoped for a web scanning server, covering key operations like link checking, crawling, content fetching, and sitemap generation. Each tool has a clear role, avoiding bloat while providing comprehensive coverage for the domain.
The tool set covers core web scanning tasks such as link extraction, validation, crawling, and sitemap generation, with fetch-page adding content retrieval and conversion. A minor gap exists in lacking tools for security scanning (e.g., vulnerability checks) or performance analysis, but the provided tools support most common workflows effectively.
Related MCP Connectors
Web data for agents. Extract web pages, crawl websites, discover URLs, and search the web.
On-page crawl, tech-stack detection, DNS, SSL and WHOIS as agent tools.
Web extraction MCP: page content, metadata, articles, contacts, email checks, URL probes.
Fetch web/social data, screenshots, scrape/extract content, generate images, audit SEO & links.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables querying and retrieving content from webpages by parsing sitemap.xml files and fetching HTML content from specified URLs. Includes rate limiting for abuse protection.-
- AlicenseNot gradedqualityCmaintenanceEnables 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 npm1MIT
- AlicenseAqualityDmaintenanceEnables web scraping of URLs, including extracting text, links, images, metadata, taking screenshots, and using CSS selectors for structured data extraction.610 npmMIT
- FlicenseAqualityCmaintenanceEnables fetching, crawling, and analyzing web pages with 29 tools for SEO audits, content extraction, and more.29-