Skip to main content
Glama
angrysky56

MCP Windows Website Downloader Server

by angrysky56

MCP 웹사이트 다운로더

문서 웹사이트를 다운로드하고 RAG 인덱싱을 준비하기 위한 간단한 MCP 서버입니다.

특징

  • 전체 문서 사이트를 다운로드하세요. 어쨌든 규모가 큰 문서입니다.

  • 링크 구조와 탐색을 유지하는데, 사실은 그렇지 않아요. ㅋㅋ

  • 자산(CSS, JS, 이미지)을 다운로드하고 정리하지만, AI 친화적이지는 않으며 아마도 모두 일종의 파싱이나 DB로 벡터화하는 작업이 필요할 것입니다.

  • RAG 시스템에 대한 깔끔한 인덱스를 만듭니다. 현재는 각 폴더에 인덱스를 만드는 듯하지만, 살펴보지도 않았습니다.

  • 간단한 단일 목적의 MCP 인터페이스, 그렇죠.

Related MCP server: Skrape MCP Server

설치

포크하고 다운로드한 후 저장소로 cd합니다.

지엑스피1

claude_desktop_config.json에 다음 내용을 자신의 경로와 함께 넣으세요:

   "mcp-windows-website-downloader": {
     "command": "uv",
     "args": [
       "--directory",
       "F:/GithubRepos/mcp-windows-website-downloader",
       "run",
       "mcp-windows-website-downloader",
       "--library",
       "F:/GithubRepos/mcp-windows-website-downloader/website_library"
     ]
   },

대체 텍스트

걱정할 필요 없는 다른 사용법은 환각적일 수도 있습니다. ㅋㅋ:

  1. 서버를 시작합니다:

python -m mcp_windows_website_downloader.server --library docs_library
  1. Claude Desktop 또는 다른 MCP 클라이언트를 통해 사용:

result = await server.call_tool("download", {
    "url": "https://docs.example.com"
})

출력 구조

docs_library/
  domain_name/
    index.html
    about.html
    docs/
      getting-started.html
      ...
    assets/
      css/
      js/
      images/
      fonts/
    rag_index.json

개발

서버는 표준 MCP 아키텍처를 따릅니다.

src/
  mcp_windows_website_downloader/
    __init__.py
    server.py    # MCP server implementation
    core.py      # Core downloader functionality
    utils.py     # Helper utilities

구성 요소

  • server.py : 도구 등록 및 요청을 처리하는 주요 MCP 서버 구현

  • core.py : 적절한 자산 처리를 통한 핵심 웹사이트 다운로드 기능

  • utils.py : 파일 처리 및 URL 처리를 위한 도우미 유틸리티

디자인 원칙

  1. 단일 책임

    • 각 모듈에는 명확한 목적이 하나씩 있습니다.

    • 서버는 MCP 인터페이스를 처리합니다.

    • 코어 핸들 다운로드

    • Utils는 일반적인 작업을 처리합니다.

  2. 깨끗한 구조

    • 원래 사이트 구조를 유지합니다

    • 자산을 유형별로 정리합니다

    • RAG 시스템에 대한 명확한 인덱스를 생성합니다.

  3. 강력한 작동

    • 적절한 오류 처리

    • 합리적인 깊이 제한

    • 자산 다운로드 검증

    • 깨끗한 URL/경로 처리

RAG 인덱스

rag_index.json 파일에는 다음이 포함되어 있습니다.

{
  "url": "https://docs.example.com",
  "domain": "docs.example.com", 
  "pages": 42,
  "path": "/path/to/site"
}

기여하다

  1. 저장소를 포크하세요

  2. 기능 브랜치 생성

  3. 변경 사항을 만드세요

  4. 풀 리퀘스트 제출

특허

MIT 라이선스 - LICENSE 파일 참조

오류 처리

서버는 일반적인 문제를 처리합니다.

  • 잘못된 URL

  • 네트워크 오류

  • 자산 다운로드 실패

  • 잘못된 HTML

  • 심층 재귀

  • 파일 시스템 오류

오류 응답은 다음 형식을 따릅니다.

{
  "status": "error",
  "error": "Detailed error message"
}

성공 응답:

{
  "status": "success",
  "path": "/path/to/downloaded/site",
  "pages": 42
}

Available Tools

1 tool
downloadC

Download documentation website for RAG indexing

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesDocumentation site URL

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions downloading for RAG indexing, implying a read operation, but doesn't specify what gets downloaded (e.g., files, content), permissions needed, rate limits, or output format. This leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, clearly front-loading the core action and purpose. It's appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a single parameter with full schema coverage, the description is incomplete. It lacks details on what the download produces (e.g., files, structured data), how it handles errors, or any behavioral traits, making it inadequate for a tool that performs an operation like downloading.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single parameter 'url' as 'Documentation site URL'. The description adds no additional parameter details beyond what the schema provides, meeting the baseline of 3 when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Download') and the target ('documentation website for RAG indexing'), making the purpose understandable. It doesn't need to distinguish from siblings since none exist, so a 4 is appropriate for clear but not maximally specific purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or constraints. It simply states what it does without context for usage decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observeddownload

TDQS

B3.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The single tool has a clear and distinct purpose.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against for patterns or conventions.

Tool Count2/5

One tool is too few for a server named 'MCP Windows Website Downloader Server', which suggests a scope that might include operations like listing available websites, configuring downloads, or managing downloaded content. A single download tool feels thin and incomplete for this domain.

Completeness2/5

The tool surface is severely incomplete for the implied domain of downloading Windows documentation websites. It lacks essential operations such as listing available websites, checking download status, managing or deleting downloaded content, or configuring download parameters, which are likely needed for effective RAG indexing workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    This server converts webpages into clean, structured Markdown optimized for language model consumption, removing unnecessary content and supporting JavaScript rendering.
    1
    12
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A locally-hosted MCP server that provides AI assistants with advanced web crawling capabilities, including structured data extraction, deep site crawling, and page screenshots. It enables users to convert single or multiple URLs into clean Markdown content for processing by LLMs without requiring external API keys for basic features.
    -