Labsco
bsmi021 logo

MCP Webscan Server

β˜… 13

from bsmi021

Fetch, analyze, and extract information from web pages.

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup

MseeP.ai Security Assessment Badge

MCP Webscan Server

smithery badge

A Model Context Protocol (MCP) server for web content scanning and analysis. This server provides tools for fetching, analyzing, and extracting information from web pages.

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

Features

  • Page Fetching: Convert web pages to Markdown for easy analysis
  • Link Extraction: Extract and analyze links from web pages
  • Site Crawling: Recursively crawl websites to discover content
  • Link Checking: Identify broken links on web pages
  • Pattern Matching: Find URLs matching specific patterns
  • Sitemap Generation: Generate XML sitemaps for websites

Development

Prerequisites

  • Node.js >= 18
  • npm

Project Structure (Post-Refactor)

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

Building

npm run build

Development Mode

npm run dev

Error Handling

The server implements comprehensive error handling:

  • Invalid parameters
  • Network errors
  • Content parsing errors
  • URL validation

All errors are properly formatted according to the MCP specification.

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see the LICENSE file for details