Skip to main content
Glama
bsmi021
by bsmi021

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

значок кузнеца

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

Функции

  • Извлечение страниц : преобразование веб-страниц в Markdown для легкого анализа

  • Извлечение ссылок : извлечение и анализ ссылок с веб-страниц.

  • Сканирование сайтов : рекурсивное сканирование веб-сайтов для обнаружения контента.

  • Проверка ссылок : выявление неработающих ссылок на веб-страницах.

  • Сопоставление шаблонов : поиск URL-адресов, соответствующих определенным шаблонам.

  • Генерация карты сайта : создание XML-карт сайта для веб-сайтов

Related MCP server: MCP Access Server

Установка

Установка через 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

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