MCP Webscan Server
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 クライアントと互換性があります。
利用可能なツール
fetch-pageWeb ページを取得して Markdown に変換します。
パラメータ:
url(必須): 取得するページの URL。selector(オプション): 特定のコンテンツを対象とする CSS セレクター。
extract-linksWeb ページからすべてのリンクをテキストとともに抽出します。
パラメータ:
url(必須): 分析するページの URL。baseUrl(オプション): リンクをフィルタリングするベース URL。limit(オプション、デフォルト: 100): 返されるリンクの最大数。
crawl-site指定された深さまで Web サイトを再帰的にクロールします。
パラメータ:
url(必須): クロールの開始 URL。maxDepth(オプション、デフォルト: 2): 最大クロール深度 (0 ~ 5)。
check-linksページ上の壊れたリンクをチェックします。
パラメータ:
url(必須): リンクを確認する URL。
find-patterns特定のパターンに一致する URL を検索します。
パラメータ:
url(必須): 検索する URL。pattern(必須): URL を照合するための JavaScript 互換の正規表現パターン。
generate-site-mapクロールによってシンプルな XML サイトマップを生成します。
パラメータ:
url(必須): サイトマップクロールのルート URL。maxDepth(オプション、デフォルト: 2): URL を検出するための最大クロール深度 (0 ~ 5)。limit(オプション、デフォルト: 1000): サイトマップに含める URL の最大数。
Claude Desktop の使用例
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
}
}
}
}会話の中でツールを使用します:
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 仕様に従って適切にフォーマットされます。
貢献
リポジトリをフォークする
機能ブランチを作成します(
git checkout -b feature/amazing-feature)変更をコミットします (
git commit -m 'Add some amazing feature')ブランチにプッシュする (
git push origin feature/amazing-feature)プルリクエストを開く
ライセンス
MITライセンス - 詳細についてはLICENSEファイルを参照してください
Available Tools
6 toolscheck-linksA
Fetches a given URL, extracts all anchor ('a') links, and checks each linked URL for validity (reachability via HEAD request). Returns a list of checked links with their status ('valid', 'broken', or 'invalid_url' if the href attribute couldn't be resolved to a full URL).
Inputs: url (required).
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.
extract-linksA
Extract and analyze all hyperlinks from a web page, organizing them into a structured format with URLs, anchor text, and contextual information. Performance-optimized with stream processing and worker threads for efficient handling of large pages. Works with either a direct URL or raw HTML content. Handles relative and absolute URLs properly by supporting an optional base URL parameter. Results can be limited to prevent overwhelming output for link-dense pages. Returns a comprehensive link inventory that includes destination URLs, link text, titles (if available), and whether links are internal or external to the source domain. Useful for site mapping, content analysis, broken link checking, SEO analysis, and as a preparatory step for targeted crawling operations.
Inputs: url (required), baseUrl, limit.
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
Scored across 6 tools
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.
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.
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.
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
Web data for agents. Extract web pages, crawl websites, discover URLs, and search the web.
On-page crawl, tech-stack detection, DNS, SSL and WHOIS as agent tools.
Web extraction MCP: page content, metadata, articles, contacts, email checks, URL probes.
Fetch web/social data, screenshots, scrape/extract content, generate images, audit SEO & links.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables querying and retrieving content from webpages by parsing sitemap.xml files and fetching HTML content from specified URLs. Includes rate limiting for abuse protection.-
- AlicenseNot gradedqualityCmaintenanceEnables web crawling and content extraction from web pages, supporting multiple output formats like text, markdown, XML, and JSON, with robots.txt compliance and rate limiting.14 npm1MIT
- AlicenseAqualityDmaintenanceEnables web scraping of URLs, including extracting text, links, images, metadata, taking screenshots, and using CSS selectors for structured data extraction.610 npmMIT
- FlicenseAqualityCmaintenanceEnables fetching, crawling, and analyzing web pages with 29 tools for SEO audits, content extraction, and more.29-