Skip to main content
Glama
by bsmi021

MCP 网络扫描服务器

铁匠徽章

用于 Web 内容扫描和分析的模型上下文协议 (MCP) 服务器。该服务器提供从网页获取、分析和提取信息的工具。

特征

  • 页面抓取:将网页转换为 Markdown 格式,方便分析

  • 链接提取:从网页中提取并分析链接

  • 网站爬取:递归爬取网站以发现内容

  • 链接检查:识别网页上的断开链接

  • 模式匹配:查找与特定模式匹配的 URL

  • 站点地图生成:为网站生成 XML 站点地图

Related MCP server: MCP Access 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 客户端兼容。

可用工具

  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 (必需):与 JavaScript 兼容的正则表达式模式,用于匹配 URL。

  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

错误处理

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

  • 参数无效

  • 网络错误

  • 内容解析错误

  • URL 验证

所有错误均根据 MCP 规范正确格式化。

贡献

  1. 分叉存储库

  2. 创建你的功能分支( git checkout -b feature/amazing-feature

  3. 提交您的更改( git commit -m 'Add some amazing feature'

  4. 推送到分支( git push origin feature/amazing-feature

  5. 打开拉取请求

执照

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bsmi021/mcp-server-webscan'

If you have feedback or need assistance with the MCP directory API, please join our Discord server