Skip to main content
Glama
MCP Webscan Server

MCP Webscan Server

by bsmi021

MCP ウェブスキャン サーバー

鍛冶屋のバッジ

ウェブコンテンツのスキャンと分析のためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、ウェブページから情報を取得、分析、抽出するためのツールを提供します。

特徴

  • ページフェッチ: WebページをMarkdownに変換して簡単に分析できます

  • リンク抽出: Webページからリンクを抽出して分析します

  • サイトクロール: ウェブサイトを再帰的にクロールしてコンテンツを発見する

  • リンクチェック:ウェブページ上の壊れたリンクを識別する

  • パターンマッチング: 特定のパターンに一致する URL を検索します

  • サイトマップ生成: ウェブサイトの XML サイトマップを生成します

Related MCP server: Open Crawler MCP Server

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Webscan を自動的にインストールするには:

npx -y @smithery/cli install mcp-server-webscan --client claude

手動インストール

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

# Install dependencies
npm install

# Build the project
npm run build

使用法

サーバーの起動

npm start

サーバーは stdio トランスポート上で実行されるため、Claude Desktop などの MCP クライアントと互換性があります。

利用可能なツール

  1. fetch-page

    • Web ページを取得して Markdown に変換します。

    • パラメータ:

      • url (必須): 取得するページの URL。

      • selector (オプション): 特定のコンテンツを対象とする CSS セレクター。

  2. extract-links

    • Web ページからすべてのリンクをテキストとともに抽出します。

    • パラメータ:

      • url (必須): 分析するページの URL。

      • baseUrl (オプション): リンクをフィルタリングするベース URL。

      • limit (オプション、デフォルト: 100): 返されるリンクの最大数。

  3. crawl-site

    • 指定された深さまで Web サイトを再帰的にクロールします。

    • パラメータ:

      • url (必須): クロールの開始 URL。

      • maxDepth (オプション、デフォルト: 2): 最大クロール深度 (0 ~ 5)。

  4. check-links

    • ページ上の壊れたリンクをチェックします。

    • パラメータ:

      • url (必須): リンクを確認する URL。

  5. find-patterns

    • 特定のパターンに一致する URL を検索します。

    • パラメータ:

      • url (必須): 検索する URL。

      • pattern (必須): URL を照合するための JavaScript 互換の正規表現パターン。

  6. generate-site-map

    • クロールによってシンプルな XML サイトマップを生成します。

    • パラメータ:

      • url (必須): サイトマップクロールのルート URL。

      • maxDepth (オプション、デフォルト: 2): URL を検出するための最大クロール深度 (0 ~ 5)。

      • limit (オプション、デフォルト: 1000): サイトマップに含める URL の最大数。

Claude Desktop の使用例

  1. 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
      }
    }
  }
}
  1. 会話の中でツールを使用します:

Could you fetch the content from https://example.com and convert it to Markdown?

発達

前提条件

  • Node.js >= 18

  • npm

プロジェクト構造(リファクタリング後)

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

建物

npm run build

開発モード

npm run dev

エラー処理

サーバーは包括的なエラー処理を実装します。

  • 無効なパラメータ

  • ネットワークエラー

  • コンテンツ解析エラー

  • URL検証

すべてのエラーは、MCP 仕様に従って適切にフォーマットされます。

貢献

  1. リポジトリをフォークする

  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature )

  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )

  4. ブランチにプッシュする ( git push origin feature/amazing-feature )

  5. プルリクエストを開く

ライセンス

MITライセンス - 詳細については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.

    Related MCP Connectors

    Related MCP Servers