MCP Webscan Server
启用网络内容扫描和分析,通过使用页面抓取、链接提取、站点爬行等工具,从网页中获取、分析和提取信息。
Tools
extract-links
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.
crawl-site
Crawl a website and return a list of all the URLs found
check-links
Check for broken links on a page
fetch-page
Fetch a web page and convert it to Markdown
find-patterns
Find all links that match a given pattern
generate-site-map
Generate a sitemap for a website
README
MCP Webscan 服务器
一个用于网页内容扫描和分析的模型上下文协议 (MCP) 服务器。此服务器提供用于获取、分析和提取网页信息的工具。
<a href="https://glama.ai/mcp/servers/u0tna3hemh"><img width="380" height="200" src="https://glama.ai/mcp/servers/u0tna3hemh/badge" alt="Webscan Server MCP server" /></a>
功能特性
- 页面获取: 将网页转换为 Markdown 格式,便于分析
- 链接提取: 提取和分析网页中的链接
- 站点爬取: 递归地爬取网站以发现内容
- 链接检查: 识别网页上的无效链接
- 模式匹配: 查找符合特定模式的 URL
- 站点地图生成: 为网站生成 XML 站点地图
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 Webscan:
npx -y @smithery/cli install mcp-server-webscan --client claude
手动安装
# 克隆仓库
git clone <repository-url>
cd mcp-server-webscan
# 安装依赖
npm install
# 构建项目
npm run build
使用方法
启动服务器
npm start
该服务器运行在 stdio 传输上,使其与 Claude Desktop 等 MCP 客户端兼容。
可用工具
-
fetch-page- 获取网页并将其转换为 Markdown 格式。
- 参数:
url(必需): 要获取的页面的 URL。selector(可选): 用于定位特定内容的 CSS 选择器。
-
extract-links- 提取网页中的所有链接及其文本。
- 参数:
url(必需): 要分析的页面的 URL。baseUrl(可选): 用于过滤链接的基本 URL。limit(可选, 默认: 100): 要返回的最大链接数。
-
crawl-site- 递归地爬取网站,直到指定的深度。
- 参数:
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"], // 已更正的路径
"env": {
"NODE_ENV": "development",
"LOG_LEVEL": "info" // 示例:通过 env var 设置日志级别
}
}
}
}
- 在您的对话中使用这些工具:
你能从 https://example.com 获取内容并将其转换为 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 # 主服务器入口点
├── build/ # 编译后的 JavaScript (已更正)
├── 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 规范正确格式化。
贡献
- Fork 仓库
- 创建您的功能分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开一个 Pull Request
许可证
MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件
推荐服务器
mult-fetch-mcp-server
一个多功能的、符合 MCP 规范的网页内容抓取工具,支持多种模式(浏览器/Node)、格式(HTML/JSON/Markdown/文本)和智能代理检测,并提供双语界面(英语/中文)。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:
Exa MCP Server
一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。
mcp-perplexity
Perplexity API 的 MCP 服务器。
MCP Web Research Server
一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。
PubMedSearch MCP Server
一个模型内容协议(Model Content Protocol)服务器,提供从 PubMed 数据库搜索和检索学术论文的工具。
YouTube Translate MCP
一个模型上下文协议服务器,可以通过文字稿、翻译、摘要和各种语言的字幕生成来访问 YouTube 视频内容。
mcp-codex-keeper
作为开发知识的守护者,为 AI 助手提供精心策划的最新文档和最佳实践访问权限。
Perplexity Deep Research MCP
一个服务器,它允许 AI 助手使用 Perplexity 的 sonar-deep-research 模型进行网络搜索,并提供引用支持。