MCP Webscan Server
MCP Webscan Server
Ein Model Context Protocol (MCP)-Server zum Scannen und Analysieren von Webinhalten. Dieser Server bietet Tools zum Abrufen, Analysieren und Extrahieren von Informationen aus Webseiten.
Merkmale
Seitenabruf : Konvertieren Sie Webseiten zur einfachen Analyse in Markdown
Link-Extraktion : Extrahieren und analysieren Sie Links von Webseiten
Site Crawling : Websites rekursiv durchsuchen, um Inhalte zu entdecken
Linkprüfung : Identifizieren Sie defekte Links auf Webseiten
Mustervergleich : Finden Sie URLs, die bestimmten Mustern entsprechen
Sitemap-Generierung : Generieren Sie XML-Sitemaps für Websites
Related MCP server: Open Crawler MCP Server
Installation
Installation über Smithery
So installieren Sie Webscan für Claude Desktop automatisch über Smithery :
npx -y @smithery/cli install mcp-server-webscan --client claudeManuelle Installation
# Clone the repository
git clone <repository-url>
cd mcp-server-webscan
# Install dependencies
npm install
# Build the project
npm run buildVerwendung
Starten des Servers
npm startDer Server läuft auf stdio-Transport und ist daher mit MCP-Clients wie Claude Desktop kompatibel.
Verfügbare Tools
fetch-pageRuft eine Webseite ab und konvertiert sie in Markdown.
Parameter:
url(erforderlich): URL der abzurufenden Seite.selector(optional): CSS-Selektor zum Ansprechen bestimmter Inhalte.
extract-linksExtrahiert alle Links einer Webseite mit ihrem Text.
Parameter:
url(erforderlich): URL der zu analysierenden Seite.baseUrl(optional): Basis-URL zum Filtern von Links.limit(optional, Standard: 100): Maximale Anzahl der zurückzugebenden Links.
crawl-siteDurchsucht eine Website rekursiv bis zu einer angegebenen Tiefe.
Parameter:
url(erforderlich): Start-URL zum Crawlen.maxDepth(optional, Standard: 2): Maximale Crawltiefe (0-5).
check-linksÜberprüft, ob auf einer Seite defekte Links vorhanden sind.
Parameter:
url(erforderlich): URL, auf die Links geprüft werden sollen.
find-patternsSucht URLs, die einem bestimmten Muster entsprechen.
Parameter:
url(erforderlich): URL, in der gesucht werden soll.pattern(erforderlich): JavaScript-kompatibles Regex-Muster zum Abgleichen von URLs.
generate-site-mapGeneriert durch Crawlen eine einfache XML-Sitemap.
Parameter:
url(erforderlich): Stamm-URL für das Sitemap-Crawlen.maxDepth(optional, Standard: 2): Maximale Crawl-Tiefe zum Erkennen von URLs (0-5).limit(optional, Standard: 1000): Maximale Anzahl von URLs, die in die Sitemap aufgenommen werden sollen.
Beispielverwendung mit Claude Desktop
Konfigurieren Sie den Server in Ihren Claude Desktop-Einstellungen:
{
"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
}
}
}
}Nutzen Sie die Tools in Ihren Gesprächen:
Could you fetch the content from https://example.com and convert it to Markdown?Entwicklung
Voraussetzungen
Node.js >= 18
npm
Projektstruktur (nach der Refaktorierung)
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.jsonGebäude
npm run buildEntwicklungsmodus
npm run devAusführen von Evaluierungen
Das Evals-Paket lädt einen MCP-Client, der anschließend die Datei index.ts ausführt, sodass zwischen den Tests kein Neuaufbau erforderlich ist. Sie können Umgebungsvariablen laden, indem Sie dem Befehl npx voranstellen. Die vollständige Dokumentation finden Sie hier .
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/tools/extractLinksTool.tsFehlerbehandlung
Der Server implementiert eine umfassende Fehlerbehandlung:
Ungültige Parameter
Netzwerkfehler
Fehler beim Parsen von Inhalten
URL-Validierung
Alle Fehler werden gemäß der MCP-Spezifikation ordnungsgemäß formatiert.
Beitragen
Forken Sie das Repository
Erstellen Sie Ihren Feature-Zweig (
git checkout -b feature/amazing-feature)Übernehmen Sie Ihre Änderungen (
git commit -m 'Add some amazing feature')Pushen zum Zweig (
git push origin feature/amazing-feature)Öffnen einer Pull-Anfrage
Lizenz
MIT-Lizenz – Einzelheiten finden Sie in der Datei LICENSE
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.
Maintenance
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-