MCP Webscan Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

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

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

MCP 웹스캔 서버

웹 콘텐츠 스캐닝 및 분석을 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 웹 페이지에서 정보를 가져오고, 분석하고, 추출하는 도구를 제공합니다.

특징

  • 페이지 페칭 : 웹 페이지를 마크다운으로 변환하여 쉽게 분석할 수 있습니다.
  • 링크 추출 : 웹 페이지에서 링크를 추출하고 분석합니다.
  • 사이트 크롤링 : 콘텐츠를 발견하기 위해 웹사이트를 재귀적으로 크롤링합니다.
  • 링크 확인 : 웹 페이지에서 끊어진 링크 식별
  • 패턴 매칭 : 특정 패턴과 일치하는 URL 찾기
  • 사이트맵 생성 : 웹사이트용 XML 사이트맵 생성

설치

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 Webscan을 자동으로 설치하려면:

지엑스피1

수동 설치

# 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
    • 웹 페이지를 가져와서 마크다운으로 변환합니다.
    • 매개변수:
      • 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 (필수): URL을 일치시키기 위한 JavaScript 호환 정규식 패턴입니다.
  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?

개발

필수 조건

  • 노드.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

오류 처리

서버는 포괄적인 오류 처리를 구현합니다.

  • 잘못된 매개변수
  • 네트워크 오류
  • 콘텐츠 구문 분석 오류
  • 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. Features
    1. Installation
      1. Installing via Smithery
      2. Manual Installation
    2. Usage
      1. Starting the Server
      2. Available Tools
    3. Example Usage with Claude Desktop
      1. Development
        1. Prerequisites
        2. Project Structure (Post-Refactor)
        3. Building
        4. Development Mode
      2. Error Handling
        1. Contributing
          1. License
            ID: u0tna3hemh