SA

sisig-ai/doctor

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

458 stars 67 forks Качество 65 Тренд 20MIT

sisig-ai/doctor — это кандидат на MCP-сервер, импортированный из https://github.com/sisig-ai/doctor.

Обзор

sisig-ai/doctor — это кандидат на MCP-сервер, импортированный из https://github.com/sisig-ai/doctor.

Обзор (машинный перевод)

🩺 Доктор

Инструмент для поиска, сканирования и индексации веб-сайтов, которые будут использоваться как MCP-сервер для LLM-агентов для более качественного и актуального рассуждения и генерации кода.


🔍 Обзор

Доктор предоставляет полный набор материалов для:

  • Сканирование веб-страниц с помощью crawl4ai с отслеживанием иерархии
  • Фрагментирование текста с помощью LangChain
  • Создание эмбеддингов с помощью OpenAI через litellm
  • Хранение данных в DuckDB с поддержкой векторного поиска
  • Предоставление функционала поиска через веб-сервис FastAPI
  • Предоставление этих возможностей LLM через MCP-сервер
  • Навигация по сканируемым сайтам с иерархическими картами

🏗️ Основная инфраструктура

🗄️ DuckDB

  • База данных для хранения данных документов и встраиваний с возможностью векторного поиска
  • Управляется унифицированным классом базы данных

📨 Редис

  • Брокер сообщений для асинхронной обработки задач

🕸️ Ползучий рабочий

  • Задачи по обходу процессов
  • Текст фрагментов
  • Создаёт вложения

🌐 Веб-сервер

  • Сервис FastAPI, открывающий конечные точки
  • Получение, поиск и просмотр данных
  • Экспозиция MCP-сервера

💻 Подготовка

⚙️ Требования

  • Docker и Docker составляют
  • Python 3.10+
  • uv (менеджер пакетов на Python)
  • Ключ API OpenAI

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.


🔍 Overview

Doctor provides a complete stack for:

  • Crawling web pages using crawl4ai with hierarchy tracking
  • Chunking text with LangChain
  • Creating embeddings with OpenAI via litellm
  • Storing data in DuckDB with vector search support
  • Exposing search functionality via a FastAPI web service
  • Making these capabilities available to LLMs through an MCP server
  • Navigating crawled sites with hierarchical site maps

🏗️ Core Infrastructure

🗄️ DuckDB

  • Database for storing document data and embeddings with vector search capabilities
  • Managed by unified Database class

📨 Redis

  • Message broker for asynchronous task processing

🕸️ Crawl Worker

  • Processes crawl jobs
  • Chunks text
  • Creates embeddings

🌐 Web Server

  • FastAPI service exposing endpoints
  • Fetching, searching, and viewing data
  • Exposing the MCP server

💻 Setup

⚙️ Prerequisites

  • Docker and Docker Compose
  • Python 3.10+
  • uv (Python package manager)
  • OpenAI API key

📦 Installation

  1. Clone this repository
  2. Set up environment variables:
    export OPENAI_API_KEY=your-openai-key
    
  3. Run the stack:
    docker compose up
    

👁 Usage

  1. Go to http://localhost:9111/docs to see the OpenAPI docs
  2. Look for the /fetch_url endpoint and start a crawl job by providing a URL
  3. Use /job_progress to see the current job status
  4. Configure your editor to use http://localhost:9111/mcp as an MCP server

☁️ Web API

Core Endpoints

  • POST /fetch_url: Start crawling a URL
  • GET /search_docs: Search indexed documents
  • GET /job_progress: Check crawl job progress
  • GET /list_doc_pages: List indexed pages
  • GET /get_doc_page: Get full text of a page

Site Map Feature

The Maps feature provides a hierarchical view of crawled websites, making it easy to navigate and explore the structure of indexed sites.

Endpoints:

  • GET /map: View an index of all crawled sites
  • GET /map/site/{root_page_id}: View the hierarchical tree structure of a specific site
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →