My RAG knowledge base MCP server
SaferSkills independently audited Rag Knowledge Mcp (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.
This is an MCP server I use to connect a RAG knowledge base to Claude Desktop, Claude Code, and other things.
With pytest tests:
uv sync --extra devDefaults live in the committed settings.yaml. Override them (all optional, merged in order, later wins):
settings.yaml committed defaults
~/.rag-knowledge-mcp/settings.yaml per-user override
settings.local.yaml per-machine override (gitignored)Under pytest, settings.test.yaml is merged over the defaults instead, so tests run against an isolated database.
Embedding and retrieval are done with Chroma (other types of embedding/retrieval are possible by implementing AbstractRagBackend)
Default configuration assumes the KB docs will be in ./knowledge-base – which can be a symlink.
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.mdOnce the documents are linked up/in place:
uv run python ingest.pyor just
make embeddingsAdd to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"rag-knowledge": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/this/project",
"python",
"rag_knowledge_mcp.py"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}uv may need to be an absolute path, depending on how it's installed.
<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.pyAdd --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~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.