Skip to main content
Glama
mohllal

Markdown RAG MCP

by mohllal

Markdown RAG MCP

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

Related MCP server: docrag

๐Ÿค– 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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables semantic search and retrieval of MCP (Model Context Protocol) documentation using Redis-backed embeddings, allowing users to query and access documentation content through natural language.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides RAG (Retrieval Augmented Generation) access to technical documentation through MCP, enabling LLMs to search and retrieve relevant documentation on-demand.
    4
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables semantic search and AI-powered Q&A over ingested GitHub documentation repositories via MCP tools.
    -