Skip to main content
Glama
MCP Webscan Server

MCP Webscan Server

by bsmi021

MCP Webscan Server

Schmiedeabzeichen

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 claude

Manuelle Installation

# Clone the repository
git clone <repository-url>
cd mcp-server-webscan

# Install dependencies
npm install

# Build the project
npm run build

Verwendung

Starten des Servers

npm start

Der Server läuft auf stdio-Transport und ist daher mit MCP-Clients wie Claude Desktop kompatibel.

Verfügbare Tools

  1. fetch-page

    • Ruft eine Webseite ab und konvertiert sie in Markdown.

    • Parameter:

      • url (erforderlich): URL der abzurufenden Seite.

      • selector (optional): CSS-Selektor zum Ansprechen bestimmter Inhalte.

  2. extract-links

    • Extrahiert 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.

  3. crawl-site

    • Durchsucht eine Website rekursiv bis zu einer angegebenen Tiefe.

    • Parameter:

      • url (erforderlich): Start-URL zum Crawlen.

      • maxDepth (optional, Standard: 2): Maximale Crawltiefe (0-5).

  4. check-links

    • Überprüft, ob auf einer Seite defekte Links vorhanden sind.

    • Parameter:

      • url (erforderlich): URL, auf die Links geprüft werden sollen.

  5. find-patterns

    • Sucht 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.

  6. generate-site-map

    • Generiert 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

  1. 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
      }
    }
  }
}
  1. 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.json

Gebäude

npm run build

Entwicklungsmodus

npm run dev

Ausfü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.ts

Fehlerbehandlung

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

  1. Forken Sie das Repository

  2. Erstellen Sie Ihren Feature-Zweig ( git checkout -b feature/amazing-feature )

  3. Übernehmen Sie Ihre Änderungen ( git commit -m 'Add some amazing feature' )

  4. Pushen zum Zweig ( git push origin feature/amazing-feature )

  5. Öffnen einer Pull-Anfrage

Lizenz

MIT-Lizenz – Einzelheiten finden Sie in der Datei LICENSE

Available Tools

6 tools
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.

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

    A3.9/5.0

    Scored across 6 tools

    Disambiguation3/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers