Skip to main content
Glama
evokateur

rag-knowledge-mcp

by evokateur

RAG Knowledge Base MCP Server

This is an MCP server I use to connect a RAG knowledge base to Claude Desktop, Claude Code, and other things.

Setup

uv sync --extra dev # installs pytest tests

Ingesting Documents

The Chroma backend does embedding and retrieval (you can use any sort of embedding/retrieval by implementing AbstractRagBackend)

Default configuration assumes the docs will be in knowledge-base in the project root.

Anything with that name is git-ignored, so one can create a symlink named knowledge-base pointing elsewhere.

The directory can also be configured by copying example.env to .env and...

RAG_KNOWLEDGE_DIR=./knowledge-base # <--- changing this to something else

What my directory looks like (more or less):

knowledge-base
├── companies
│   └── frobozz-co.md
│   └── acme.md
├── developers
│   └── wesley-hinkle.md
└── projects
|   ├── magic-api-gateway.md
|   ├── zork-legacy-cms.md
|   ├── torch-saas.md
|   ├── grue-detector.md
|   ├── zorkmid-sdk.md
|   ├── hello-footpad.md
|   ├── anvil.md
└── skills-mapping.md

Once the documents are in place:

uv run python ingest.py

or just

make embeddings

Related MCP server: RAGBrain MCP

Client Configuration

Claude Desktop

Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "rag-knowledge": {
      "command": "/absolute/path/to/uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/this/project",
        "python",
        "rag_knowledge_mcp.py"
      ],
      "env": {
        "LOG_LEVEL": "INFO"
      }
    }
  }
}

Note: Claude Desktop did not seem to have uv in its path so I used the absolute path returned from which uv

Claude Code

https://code.claude.com/docs/en/mcp

Installs with --scope local by default (claude in CWD)

claude mcp add rag-knowledge -- uv run --directory /absolute/path/to/this/project python rag_knowledge_mcp.py

Add --scope user for claude in any directory:

claude mcp add --scope user rag-knowledge -- uv run --directory /absolute/path/to/this/project python rag_knowledge_mcp.py

Before I managed to work out the syntax above I created a wrapper script:

claude mcp add --transport stdio rag-knowledge ~/.bin/rag-knowledge-mcp

The contents of wrapper-example.sh can be copied and modified

#!/usr/bin/env bash
set -euo pipefail

PROJECT_DIR="$HOME/path/to/this/project"
UV="$(which uv)"

echo "$PROJECT_DIR"
echo "$UV"

export LOG_LEVEL="${LOG_LEVEL:-INFO}"

cd "$PROJECT_DIR"
exec "$UV" run python rag_knowledge_mcp.py
F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/evokateur/rag-knowledge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server