Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
# Use a Node.js 16 base image
FROM node:16 AS build

# Set the working directory inside the container
WORKDIR /app

# Copy package.json and package-lock.json files
COPY package.json package-lock.json ./

# Install dependencies
RUN npm install

# Copy the entire project
COPY . .

# Build the project
RUN npm run build

# Use a lightweight Node.js image for the production environment
FROM node:16-slim AS production

# Set the working directory inside the container
WORKDIR /app

# Copy built files from the build stage
COPY --from=build /app/build /app/build

# Copy node_modules from the build stage
COPY --from=build /app/node_modules /app/node_modules

# Expose any necessary ports
EXPOSE 6333

# Environment variables
ENV QDRANT_URL=http://localhost:6333
ENV EMBEDDING_PROVIDER=ollama
ENV OLLAMA_URL=http://localhost:11434

# Run the application
CMD ["node", "build/index.js"]
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# MCP-Ragdocs
[![smithery badge](https://smithery.ai/badge/@qpd-v/mcp-server-ragdocs)](https://smithery.ai/server/@qpd-v/mcp-server-ragdocs)

A Model Context Protocol (MCP) server that enables semantic search and retrieval of documentation using a vector database (Qdrant). This server allows you to add documentation from URLs or local files and then search through them using natural language queries.

Expand All @@ -15,6 +16,15 @@ Current version: 0.1.6

## Installation

### Installing via Smithery

To install RAGDocs for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@qpd-v/mcp-server-ragdocs):

```bash
npx -y @smithery/cli install @qpd-v/mcp-server-ragdocs --client claude
```

### Manual Installation
Install globally using npm:

```bash
Expand Down
36 changes: 36 additions & 0 deletions smithery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml

startCommand:
type: stdio
configSchema:
# JSON Schema defining the configuration options for the MCP.
type: object
required:
- qdrantUrl
properties:
qdrantUrl:
type: string
description: The URL of your Qdrant instance. For local use http://localhost:6333
qdrantApiKey:
type: string
default: ""
description: Your Qdrant Cloud API key
embeddingProvider:
type: string
default: ollama
description: Embedding provider to use ('ollama' or 'openai')
ollamaUrl:
type: string
default: http://localhost:11434
description: URL of your Ollama instance
openaiApiKey:
type: string
description: Your OpenAI API key
embeddingModel:
type: string
default: ""
description: Model to use for embeddings
commandFunction:
# A function that produces the CLI command to start the MCP on stdio.
|-
config => ({ command: 'node', args: ['build/index.js'], env: { QDRANT_URL: config.qdrantUrl, QDRANT_API_KEY: config.qdrantApiKey, EMBEDDING_PROVIDER: config.embeddingProvider, OLLAMA_URL: config.ollamaUrl, OPENAI_API_KEY: config.openaiApiKey, EMBEDDING_MODEL: config.embeddingModel } })