MCP Webscan Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Converts web page content to Markdown format for easier analysis and processing

  • Generates XML sitemaps for websites, providing structured site mapping capabilities

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

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

特徴

  • ページフェッチ: WebページをMarkdownに変換して簡単に分析できます
  • リンク抽出: Webページからリンクを抽出して分析します
  • サイトクロール: ウェブサイトを再帰的にクロールしてコンテンツを発見する
  • リンクチェック:ウェブページ上の壊れたリンクを識別する
  • パターンマッチング: 特定のパターンに一致する URL を検索します
  • サイトマップ生成: ウェブサイトの XML サイトマップを生成します

インストール

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ファイルを参照してください

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

ページ取得、リンク抽出、サイトクロールなどのツールを使用して Web ページから情報を取得、分析、抽出することにより、Web コンテンツのスキャンと分析を可能にします。

  1. Features
    1. Installation
      1. Installing via Smithery
      2. Manual Installation
    2. Usage
      1. Starting the Server
      2. Available Tools
    3. Example Usage with Claude Desktop
      1. Development
        1. Prerequisites
        2. Project Structure (Post-Refactor)
        3. Building
        4. Development Mode
      2. Error Handling
        1. Contributing
          1. License
            ID: u0tna3hemh