关于 MCP Webscan Server
MCP Webscan Server 为检查网站内容的团队和 Agent 提供网页获取与分析工具,可提取链接、爬取网站、检查失效链接、匹配 URL 模式并生成 XML 站点地图。
主要功能
- 01将网页转换为 Markdown
- 02提取并分析链接
- 03按指定深度爬取网站
- 04检查失效链接
- 05按正则模式查找 URL
- 06生成 XML 站点地图
适用场景
- 01获取网页内容以供分析
- 02发现网站中的链接
- 03查找页面上的失效链接
- 04根据网站爬取结果生成站点地图
MCP 相关
它向 MCP 客户端提供网页获取、爬取、链接分析、模式匹配和站点地图工具。服务采用 stdio 传输,并提供了与 Claude Desktop 等客户端配合使用的说明。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Webscan 服务
用于网页内容扫描和分析的 Model Context Protocol(MCP)服务。此服务提供用于获取、分析和提取网页信息的工具。
功能
- 页面获取:将网页转换为 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 客户端。
可用工具
-
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"], // 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
运行 evals
evals 包会加载一个 MCP 客户端,然后运行 index.ts 文件,因此测试之间无需重新构建。可以在 npx 命令前添加环境变量来加载它们。完整文档请参阅此处。
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/tools/extractLinksTool.ts
错误处理
该服务实现了全面的错误处理:
- 无效参数
- 网络错误
- 内容解析错误
- 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 文件
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
