Server data from the Official MCP Registry
Minimal RAG-over-a-corpus MCP retrieval: search_knowledge returns cited chunks. Local embeddings.
Minimal RAG-over-a-corpus MCP retrieval: search_knowledge returns cited chunks. Local embeddings.
rag-mcp is a well-architected RAG retrieval server with strong security fundamentals. Authentication is environment-variable scoped and properly enforced at the corpus-root level. Code quality is high with explicit input validation, fail-soft error handling, and careful attention to security boundaries. Minor observations around exception handling breadth and logging do not materially impact the security posture. Supply chain analysis found 1 known vulnerability in dependencies (1 critical, 0 high severity). Package verification found 1 issue.
8 files analyzed · 5 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-jaimenbell-rag-mcp": {
"args": [
"jaimenbell-rag-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
A minimal, honest RAG-over-a-corpus MCP retrieval tool. One tool,
search_knowledge(query, k), that embeds a query, vector-searches a local corpus, and returns passages with citations (source + heading + chunk index) so answers are traceable.
Built to slot into the mcp-factory manifest model. Fully local + $0 (no paid embedding API).
source + heading + chunk_index... traversal) are refused.k is clamped to [1, 20]; empty queries are rejected.requirements.txt).| Layer | Choice |
|---|---|
| Embeddings | local ONNX all-MiniLM-L6-v2 (384-dim, CPU, $0) -- default. bge-large-en-v1.5 (1024-dim, 512-token context) available opt-in via RAG_MCP_EMBEDDER=bge; see CUTOVER.md. |
| Vector store | ChromaDB embedded PersistentClient (zero-infra) |
| Server | mcp Python SDK, stdio transport |
python -m venv .venv && .venv/Scripts/python -m pip install -r requirements.txt
# Ingest a corpus (markdown)
python -m rag_mcp.cli ingest path/to/docs --db ./store.chroma
# One-off query (corpus root = the auth scope)
python -m rag_mcp.cli query "your question" --db ./store.chroma --corpus path/to/docs -k 5
# Run as an MCP server (stdio); configure via env first
# RAG_MCP_CORPUS_ROOT, RAG_MCP_DB_PATH, RAG_MCP_COLLECTION, RAG_MCP_EMBEDDER
python run_server.py # operational entrypoint (referenced by mcp.yaml)
python -m rag_mcp # same server, via the packaged console entry point
rag-mcp # after `pip install jaimenbell-rag-mcp` -- console script
Register via mcp.yaml (validated against mcp-factory's Manifest loader). The tool is
search_knowledge(query, k); it reads the store configured by the RAG_MCP_* env vars.
python -m pytest # 68 passed
rag_mcp/
chunking.py heading-scoped, overlapping markdown chunks
store.py VectorStore (Chroma) + Embedder protocol (MiniLM default + BgeEmbedder opt-in + offline HashEmbedder)
ingest.py idempotent ingest pipeline with source/heading/chunk-index metadata
search.py search_knowledge: cited, auth-scoped, fail-soft, bounded
server.py MCP stdio server exposing search_knowledge
config.py env-driven Config
cli.py ingest + query CLI
__main__.py console entrypoint (`python -m rag_mcp` / `rag-mcp` script); fails loud on missing config
run_server.py operational MCP entrypoint (referenced by mcp.yaml)
mcp.yaml manifest (mcp-factory model)
mcp-name: io.github.jaimenbell/rag-mcp
Be the first to review this server!
by Modelcontextprotocol · AI & ML
Dynamic and reflective problem-solving through structured thought sequences
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.