Easy Mcp Rag — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Easy Mcp Rag (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A high-performance Model Context Protocol (MCP) server for RAG using Qdrant. Built for UV/UVX with CPU/GPU support and HTTP transport.
Run directly from GitHub without installation:
uvx --from git+https://github.com/yourusername/easy_mcp_rag.git easy_mcp_rag --data-dir ./documents# Install from GitHub
uv pip install git+https://github.com/yourusername/easy_mcp_rag.git
# Or clone and install locally
git clone https://github.com/yourusername/easy_mcp_rag.git
cd easy_mcp_rag
uv pip install -e .docker run -p 6333:6333 qdrant/qdrantdocuments/
├── legal_docs/
│ ├── contract.pdf
│ └── terms.docx
├── research/
│ ├── paper1.pdf
│ └── notes.txt
└── data/
└── analysis.csv# With UVX
uvx --from git+https://github.com/yourusername/easy_mcp_rag.git easy_mcp_rag --data-dir ./documents
# With UV
uv run easy_mcp_rag --data-dir ./documents
# After installation
easy_mcp_rag --data-dir ./documentseasy_mcp_rag --data-dir ./documents --transport http --http-port 8000# Auto-detect GPU
easy_mcp_rag --data-dir ./documents --device auto
# Force CUDA (NVIDIA GPU)
easy_mcp_rag --data-dir ./documents --device cuda
# Force MPS (Apple Silicon)
easy_mcp_rag --data-dir ./documents --device mps
# Force CPU
easy_mcp_rag --data-dir ./documents --device cpueasy_mcp_rag \
--data-dir ./documents \
--qdrant-host localhost \
--qdrant-port 6333 \
--device cuda \
--embedding-model all-mpnet-base-v2 \
--chunk-size 1024 \
--chunk-overlap 100 \
--top-k 10 \
--batch-size 64 \
--verbose \
--force-reindex| Flag | Description | Default |
|---|---|---|
--data-dir | Directory with document subdirectories | Required |
--qdrant-host | Qdrant server host | localhost |
--qdrant-port | Qdrant server port | 6333 |
--device | Device: auto, cpu, cuda, mps | auto |
--transport | Transport type: stdio, http | stdio |
--http-host | HTTP server host | 0.0.0.0 |
--http-port | HTTP server port | 8000 |
--embedding-model | Sentence transformer model | all-MiniLM-L6-v2 |
--chunk-size | Text chunk size (chars) | 512 |
--chunk-overlap | Chunk overlap (chars) | 50 |
--top-k | Results per search | 5 |
--batch-size | Embedding batch size | 32 |
--verbose | Enable verbose logging | False |
--log-level | Log level | INFO |
--force-reindex | Force reindex all docs | False |
Add to your MCP client config:
{
"mcpServers": {
"rag-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/yourusername/easy_mcp_rag.git",
"easy_mcp_rag",
"--data-dir",
"/path/to/your/documents",
"--device",
"auto",
"--verbose"
]
}
}
}{
"mcpServers": {
"rag-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/yourusername/easy_mcp_rag.git",
"easy_mcp_rag",
"--data-dir",
"/path/to/your/documents",
"--transport",
"http",
"--http-port",
"8000"
]
}
}
}documents/
├── legal_docs/ → Creates "legal_docs_search" tool
├── research/ → Creates "research_search" tool
└── data/ → Creates "data_search" tool| Category | Extensions |
|---|---|
| Text | .txt, .md, .py, .js, .json, .xml, .html, .css |
.pdf | |
| Word | .docx, .doc |
| Spreadsheet | .csv, .xlsx, .xls |
Choose based on your needs:
| Model | Dimensions | Speed | Quality | Use Case |
|---|---|---|---|---|
all-MiniLM-L6-v2 | 384 | ⚡⚡⚡ | Good | Default, fast |
all-MiniLM-L12-v2 | 384 | ⚡⚡ | Better | Balanced |
all-mpnet-base-v2 | 768 | ⚡ | Best | Quality |
# Check if Qdrant is running
curl http://localhost:6333
# Start Qdrant
docker run -p 6333:6333 qdrant/qdrant# Check PyTorch GPU support
python -c "import torch; print(torch.cuda.is_available())"
# Install with GPU support
uv pip install -e ".[gpu]"# Use smaller model
--embedding-model all-MiniLM-L6-v2
# Reduce batch size
--batch-size 16
# Use CPU
--device cpuEnable verbose logging to see detailed information:
easy_mcp_rag --data-dir ./documents --verboseOutput includes:
Example:
2024-01-20 10:30:15 - easy_mcp_rag.server - INFO - Tool accessed: legal_docs_search
2024-01-20 10:30:15 - easy_mcp_rag.server - INFO - Query: contract terms
2024-01-20 10:30:15 - easy_mcp_rag.server - INFO - Results returned: 5
2024-01-20 10:30:15 - easy_mcp_rag.server - DEBUG - Result 1: score=0.8542--http-host 127.0.0.1 for local-only access# Clone repository
git clone https://github.com/yourusername/easy_mcp_rag.git
cd easy_mcp_rag
# Install with dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
# Format code
black src/
# Lint
ruff src/Contributions welcome! Please:
MIT License - see LICENSE file
Built with:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.