mcpField
M
MCP Webscan Server

MCP Webscan Server

ローカル
github.com/bsmi021ブラウザ自動化1377 週間前に更新

MCP Webscan Server について

MCP Webscan Serverは、サイトのコンテンツを調べるチームやエージェント向けのページ取得・分析ツールです。リンク抽出、サイト巡回、リンク切れ確認、URLパターン検索、XMLサイトマップ生成に対応します。

主な機能

  1. 01ページをMarkdownに変換
  2. 02リンクの抽出と分析
  3. 03深度を指定したサイト巡回
  4. 04リンク切れの確認
  5. 05正規表現によるURL検索
  6. 06XMLサイトマップの生成

活用シーン

  1. 01分析用のページコンテンツ取得
  2. 02サイト内リンクの発見
  3. 03ページ上のリンク切れの確認
  4. 04サイト巡回からのサイトマップ作成

MCP 対応

ページ取得、サイト巡回、リンク分析、パターン検索、サイトマップ生成のツールをMCPクライアントに公開します。stdioトランスポートを使用し、Claude Desktopなどのクライアント向け設定が記載されています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"webscan": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MseeP.ai Security Assessment Badge

MCP Webscan Server

smithery badge

Web コンテンツのスキャンと分析を行う Model Context Protocol(MCP)サーバーです。このサーバーは、Web ページの取得、分析、情報抽出を行うツールを提供します。

Webscan Server MCP サーバー

機能

  • ページの取得:Web ページを分析しやすい Markdown に変換します
  • リンクの抽出:Web ページからリンクを抽出して分析します
  • サイトのクロール:Web サイトを再帰的にクロールしてコンテンツを見つけます
  • リンクのチェック:Web ページ上のリンク切れを特定します
  • パターンマッチング:特定のパターンに一致する URL を検索します
  • サイトマップの生成:Web サイトの 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

eval の実行

eval パッケージは MCP クライアントを読み込み、その後 index.ts ファイルを実行するため、テストのたびに再ビルドする必要はありません。npx コマンドの前に環境変数を指定すると、環境変数を読み込めます。詳細なドキュメントはこちらをご覧ください。

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/tools/extractLinksTool.ts

エラー処理

このサーバーは包括的なエラー処理を実装しています:

  • 無効なパラメーター
  • ネットワークエラー
  • コンテンツ解析エラー
  • 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 - 詳細は LICENSE ファイルをご覧ください

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。