Skip to content

heltonteixeira/ragdocs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RagDocs MCP Server

A Model Context Protocol (MCP) server that provides RAG (Retrieval-Augmented Generation) capabilities using Qdrant vector database and Ollama/OpenAI embeddings. This server enables semantic search and management of documentation through vector similarity.

Features

  • Add documentation with metadata
  • Semantic search through documents
  • List and organize documentation
  • Delete documents
  • Support for both Ollama (free) and OpenAI (paid) embeddings
  • Automatic text chunking and embedding generation
  • Vector storage with Qdrant

Prerequisites

  • Node.js 16 or higher
  • One of the following Qdrant setups:
    • Local instance using Docker (free)
    • Qdrant Cloud account with API key (managed service)
  • One of the following for embeddings:
    • Ollama running locally (default, free)
    • OpenAI API key (optional, paid)

Available Tools

1. add_document

Add a document to the RAG system.

Parameters:

  • url (required): Document URL/identifier
  • content (required): Document content
  • metadata (optional): Document metadata
    • title: Document title
    • contentType: Content type (e.g., "text/markdown")

2. search_documents

Search through stored documents using semantic similarity.

Parameters:

  • query (required): Natural language search query
  • options (optional):
    • limit: Maximum number of results (1-20, default: 5)
    • scoreThreshold: Minimum similarity score (0-1, default: 0.7)
    • filters:
      • domain: Filter by domain
      • hasCode: Filter for documents containing code
      • after: Filter for documents after date (ISO format)
      • before: Filter for documents before date (ISO format)

3. list_documents

List all stored documents with pagination and grouping options.

Parameters (all optional):

  • page: Page number (default: 1)
  • pageSize: Number of documents per page (1-100, default: 20)
  • groupByDomain: Group documents by domain (default: false)
  • sortBy: Sort field ("timestamp", "title", or "domain")
  • sortOrder: Sort order ("asc" or "desc")

4. delete_document

Delete a document from the RAG system.

Parameters:

  • url (required): URL of the document to delete

Installation

npm install -g @mcpservers/ragdocs

MCP Server Configuration

{
  "mcpServers": {
    "ragdocs": {
      "command": "node",
      "args": ["@mcpservers/ragdocs"],
      "env": {
        "QDRANT_URL": "http://127.0.0.1:6333",
        "EMBEDDING_PROVIDER": "ollama"
      }
    }
  }
}

Using Qdrant Cloud:

{
  "mcpServers": {
    "ragdocs": {
      "command": "node",
      "args": ["@mcpservers/ragdocs"],
      "env": {
        "QDRANT_URL": "https://your-cluster-url.qdrant.tech",
        "QDRANT_API_KEY": "your-qdrant-api-key",
        "EMBEDDING_PROVIDER": "ollama"
      }
    }
  }
}

Using OpenAI:

{
  "mcpServers": {
    "ragdocs": {
      "command": "node",
      "args": ["@mcpservers/ragdocs"],
      "env": {
        "QDRANT_URL": "http://127.0.0.1:6333",
        "EMBEDDING_PROVIDER": "openai",
        "OPENAI_API_KEY": "your-api-key"
      }
    }
  }
}

Local Qdrant with Docker

docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrant

Environment Variables

  • QDRANT_URL: URL of your Qdrant instance
  • QDRANT_API_KEY: API key for Qdrant Cloud (required when using cloud instance)
  • EMBEDDING_PROVIDER: Choice of embedding provider ("ollama" or "openai", default: "ollama")
  • OPENAI_API_KEY: OpenAI API key (required if using OpenAI)
  • EMBEDDING_MODEL: Model to use for embeddings
    • For Ollama: defaults to "nomic-embed-text"
    • For OpenAI: defaults to "text-embedding-3-small"

License

Apache License 2.0

About

MCP server for RAG-based document search and management

Resources

License

Stars

Watchers

Forks

Packages

No packages published