](https://mseep.ai/app/bsmi021-mcp-server-webscan)
MCP网络扫描服务器
](https://smithery.ai/server/mcp-server-webscan)
用于网络内容扫描和分析的模型上下文协议(MCP)服务器。此服务器提供用于从网页中获取、分析和提取信息的工具。
特性
- 页面抓取:将网页转换为Markdown以便于分析
- 链接提取:从网页中提取和分析链接
- 网站爬行:递归抓取网站以发现内容
- 链接检查:识别网页上的断开链接
- 模式匹配:查找与特定模式匹配的URL
- 网站地图生成:为网站生成XML站点地图
安装
通过Smithery安装
通过以下方式自动安装适用于Claude Desktop的Webscan 史密瑟里:
npx -y @smithery/cli install mcp-server-webscan --client claude手动安装
# Clone the repository
git clone
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 (必填):与JavaScript兼容的正则表达式模式,用于匹配URL。
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包加载一个mcp客户端,然后运行index.ts文件,因此不需要在测试之间重建。您可以通过在npx命令前加前缀来加载环境变量。可以找到完整的文档 这里.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/tools/extractLinksTool.ts错误处理
服务器实现了全面的错误处理:
- 无效参数
- 网络错误
- 内容解析错误
- URL验证
所有错误均按照MCP规范正确格式化。
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
