Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Markdown Rag

FreeNot checked

πŸ“– A Retrieval-Augmented Generation (RAG) MCP server for markdown documentation with semantic search capabilities

GitHubEmbed

About

πŸ“– A Retrieval-Augmented Generation (RAG) MCP server for markdown documentation with semantic search capabilities

README

A Retrieval-Augmented Generation (RAG) MCP server for markdown documentation with semantic search capabilities.

🎯 Core Capabilities

  • Document Indexing: Process markdown files with YAML frontmatter support, automatic chunking, and metadata extraction
  • Semantic Search: Find relevant content using natural language queries with configurable similarity thresholds
  • Incremental Updates: Change detection and indexing for large document collections
  • Real-time Monitoring: Automatic file system monitoring with live index updates
  • Advanced Embeddings: HuggingFace sentence-transformers with local model execution
  • Vector Storage: High-performance Milvus vector database with Docker Compose setup
  • CLI Interface: Beautiful command-line tools with progress tracking and interactive demos

πŸ€– MCP Server Integration

This system is designed as an MCP server, providing a search tool with semantic search functionality accessible via MCP protocol.

πŸ—οΈ Architecture

For the full system architecture and components overview, check the Architecture Guide.

πŸš€ Quick Start

Prerequisites

  • Python 3.12+
  • Docker and Docker Compose

Installation

  1. Clone and setup:

    git clone <repository-url>
    cd markdown-rag-mcp
    
  2. Start Milvus database:

    docker-compose -f docker/docker-compose.yml up -d
    
  3. Install dependencies using uv

    uv sync
    
  4. Install the package:

    pip install -e .
    

Basic Usage

CLI Interface

# Index documents (with optional monitoring)
markdown-rag-mcp index ./documents --recursive --watch

# Semantic search with confidence scoring
markdown-rag-mcp search "authentication setup" --limit 5

# System health monitoring
markdown-rag-mcp status

For the full overview of the CLI interface, check the CLI Guide.

Demo Scripts

# Experience incremental indexing with performance metrics
python examples/incremental_indexing_demo.py --setup --runs 5

# Complete RAG pipeline demonstration
python examples/milvus_embeddings_demo.py

For the full list of demo scripts, check the Examples Guide.

πŸ”§ Configuration

Configure via environment variables or .env file, you can use .env.example for some defaults:

# Vector Database Configuration
MARKDOWN_RAG_MCP_MILVUS_HOST=localhost
MARKDOWN_RAG_MCP_MILVUS_PORT=19530
MARKDOWN_RAG_MCP_COLLECTION_NAME=markdown_docs

# Embedding Model Settings
MARKDOWN_RAG_MCP_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
MARKDOWN_RAG_MCP_EMBEDDING_DEVICE=auto  # cpu, cuda, mps, auto
MARKDOWN_RAG_MCP_EMBEDDING_DIMENSIONS=384

# Search and Processing
MARKDOWN_RAG_MCP_SIMILARITY_THRESHOLD=0.7
MARKDOWN_RAG_MCP_CHUNK_SIZE_LIMIT=1000
MARKDOWN_RAG_MCP_CHUNK_OVERLAP=200
MARKDOWN_RAG_MCP_MAX_CONCURRENT_INDEXING=2

# File Monitoring
MARKDOWN_RAG_MCP_WATCH_DEBOUNCE_SECONDS=2
MARKDOWN_RAG_MCP_WATCH_PATTERNS="**/*.md,**/*.markdown"

πŸ“ Project Structure

markdown-rag-mcp/
β”œβ”€β”€ src/markdown_rag_mcp/         # Core library implementation
β”‚   β”œβ”€β”€ cli/                      # Command-line interface
β”‚   β”œβ”€β”€ config/                   # Configuration management
β”‚   β”œβ”€β”€ core/                     # RAG engine and interfaces
β”‚   β”œβ”€β”€ embeddings/               # Embedding providers
β”‚   β”œβ”€β”€ indexing/                 # Document processing pipeline
β”‚   β”œβ”€β”€ models/                   # Data models and schemas
β”‚   β”œβ”€β”€ monitoring/               # File system monitoring
β”‚   β”œβ”€β”€ parsers/                  # Markdown and frontmatter parsing
β”‚   β”œβ”€β”€ search/                   # Query processing and search
β”‚   └── storage/                  # Vector database integration
β”œβ”€β”€ tests/                        # Comprehensive test suite
β”œβ”€β”€ examples/                     # Demo scripts
β”œβ”€β”€ docker/                       # Docker Compose configuration
β”œβ”€β”€ specs/                        # Technical specifications
└── documents/                    # Markdown documents for indexing and searching

πŸ§ͺ Testing

To run the test suite, use the following commands:

# Run complete test suite
uv sync --all-extras
pytest

# Run specific component tests
pytest tests/indexing/ -v
pytest tests/search/ -v
pytest tests/embeddings/ -v

πŸ“š Documentation

πŸ“„ License

MIT License - see LICENSE file for details.


Built with ❀️ for developers who need intelligent, markdown-based document search capabilities

from github.com/mohllal/markdown-rag-mcp

Installing Markdown Rag

This server has no published package β€” it is built from source. Open the repository and follow its README.

β–Έ github.com/mohllal/markdown-rag-mcp

FAQ

Is Markdown Rag MCP free?

Yes, Markdown Rag MCP is free β€” one-click install via Unyly at no cost.

Does Markdown Rag need an API key?

No, Markdown Rag runs without API keys or environment variables.

Is Markdown Rag hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Markdown Rag in Claude Desktop, Claude Code or Cursor?

Open Markdown Rag on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install β€” the config is generated automatically, no JSON editing.

Related MCPs

Compare Markdown Rag with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs