mcpField
M
MCP Webscan Server

MCP Webscan Server

本地服务
github.com/bsmi021浏览器自动化1377 周前更新

关于 MCP Webscan Server

MCP Webscan Server 为检查网站内容的团队和 Agent 提供网页获取与分析工具,可提取链接、爬取网站、检查失效链接、匹配 URL 模式并生成 XML 站点地图。

主要功能

  1. 01将网页转换为 Markdown
  2. 02提取并分析链接
  3. 03按指定深度爬取网站
  4. 04检查失效链接
  5. 05按正则模式查找 URL
  6. 06生成 XML 站点地图

适用场景

  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 服务

smithery badge

用于网页内容扫描和分析的 Model Context Protocol(MCP)服务。此服务提供用于获取、分析和提取网页信息的工具。

Webscan Server MCP server

功能

  • 页面获取:将网页转换为 Markdown,便于分析
  • 链接提取:提取并分析网页中的链接
  • 网站爬取:递归爬取网站以发现内容
  • 链接检查:识别网页中的失效链接
  • 模式匹配:查找符合特定模式的 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

    • 获取网页并将其转换为 Markdown。
    • 参数:
      • url(必填):要获取的页面 URL。
      • selector(可选):用于定位特定内容的 CSS 选择器。
  2. extract-links

    • 提取网页中的所有链接及其文本。
    • 参数:
      • url(必填):要分析的页面 URL。
      • baseUrl(可选):用于筛选链接的基础 URL。
      • limit(可选,默认值:100):要返回的最大链接数。
  3. crawl-site

    • 按指定深度递归爬取网站。
    • 参数:
      • 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

运行 evals

evals 包会加载一个 MCP 客户端,然后运行 index.ts 文件,因此测试之间无需重新构建。可以在 npx 命令前添加环境变量来加载它们。完整文档请参阅此处。

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

错误处理

该服务实现了全面的错误处理:

  • 无效参数
  • 网络错误
  • 内容解析错误
  • URL 验证

所有错误均按照 MCP 规范进行格式化。

贡献

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 发起 Pull Request

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。