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: Fetch 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