MCP Webscan Server

by bsmi021
MIT License
7

Integrations

  • Converts web page content to Markdown format for easier analysis and processing

  • Generates XML sitemaps for websites, providing structured site mapping capabilities

Сервер веб-сканирования MCP

Сервер Model Context Protocol (MCP) для сканирования и анализа веб-контента. Этот сервер предоставляет инструменты для извлечения, анализа и извлечения информации из веб-страниц.

Функции

  • Извлечение страниц : преобразование веб-страниц в Markdown для легкого анализа
  • Извлечение ссылок : извлечение и анализ ссылок с веб-страниц.
  • Сканирование сайтов : рекурсивное сканирование веб-сайтов для обнаружения контента.
  • Проверка ссылок : выявление неработающих ссылок на веб-страницах.
  • Сопоставление шаблонов : поиск URL-адресов, соответствующих определенным шаблонам.
  • Генерация карты сайта : создание XML-карт сайта для веб-сайтов

Установка

Установка через Smithery

Чтобы автоматически установить Webscan for Claude Desktop через Smithery :

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-транспорте, что делает его совместимым с клиентами MCP, такими как Claude Desktop.

Доступные инструменты

  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
  • нпм

Структура проекта (после рефакторинга)

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.

Внося вклад

  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 — подробности см. в файле LICENSE

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Позволяет сканировать и анализировать веб-контент путем извлечения, анализа и извлечения информации с веб-страниц с использованием таких инструментов, как извлечение страниц, извлечение ссылок, сканирование сайта и т. д.

  1. Функции
    1. Установка
      1. Установка через Smithery
      2. Ручная установка
    2. Использование
      1. Запуск сервера
      2. Доступные инструменты
    3. Пример использования с Claude Desktop
      1. Разработка
        1. Предпосылки
        2. Структура проекта (после рефакторинга)
        3. Здание
        4. Режим разработки
      2. Запуск оценок
        1. Обработка ошибок
          1. Внося вклад
            1. Лицензия

              Related MCP Servers

              • A
                security
                F
                license
                A
                quality
                Provides functionality to fetch web content in various formats, including HTML, JSON, plain text, and Markdown.
                Last updated -
                4
                137,083
                150
                TypeScript
              • A
                security
                A
                license
                A
                quality
                Enables text extraction from web pages and PDFs, and execution of predefined commands, enhancing content processing and automation capabilities.
                Last updated -
                3
                TypeScript
                MIT License
              • -
                security
                F
                license
                -
                quality
                Provides functionality to fetch web content in various formats, including HTML, JSON, plain text, and Markdown.
                Last updated -
                137,083
                1
              • -
                security
                -
                license
                -
                quality
                Provides functionality to fetch web content in various formats, including HTML, JSON, plain text, and Markdown with support for custom headers.
                Last updated -
                137,083
                TypeScript

              View all related MCP servers

              ID: u0tna3hemh