MCP.Market

Rag MCP server

by jaimenbell·io.github.jaimenbell/rag-mcp·v0.1.0

Minimal RAG-over-a-corpus MCP retrieval: search_knowledge returns cited chunks. Local embeddings.

A89/100grade A
What users say
No reviews yet
Be the first
Safety scan
A89/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed Rag yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Rag tools

No tool declarations could be read from the package source. They show once the server is installed.

Public scan report

scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it

no findings
  • Code scan11 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 3 days ago15/15
  • Maintainer identityregistry namespace matches repository owner6/10
Overall 89/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Rag compares

Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
89/100
higher than 83% of 4,464 AI and agents servers

Install Rag in Claude Code, Cursor or VS Code

claude mcp add rag-mcp -- uvx jaimenbell-rag-mcp
Add to Cursor

What the publisher says

From the Rag repository's README, as published. We do not edit it. Read it on GitHub

rag-mcp

A minimal, honest RAG-over-a-corpus MCP retrieval tool. One tool,

searchknowledge(query, k, docclass=None), 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).

Why it's safe to put in front of a real corpus

(absolute paths, .. traversal) are refused.

  • Cited - every hit carries source + heading + chunk_index.
  • Auth-scoped - results are confined to the configured corpus root; sources that escape it

crashes the calling agent.

  • Fail-soft - a down or empty store returns a structured error, never an exception that
  • Bounded - k is clamped to [1, 20]; empty queries are rejected.
  • Version-pinned deps (requirements.txt).

Stack

Protocol revision

Pinned to mcp==2.0.0, the first SDK release implementing MCP protocol revision 2026-07-28. The server serves both eras on the same stdio connection -- the client's first frame picks:

2026-07-28 is not reachable via the initialize handshake; it is a "modern" revision reached through server/discover or an inline _meta version stamp. Era selection is automatic and per-connection -- there is no server-side flag.

tests/testprotocolversion.py asserts both paths end-to-end, so a dependency rollback that silently drops the server to an older revision fails CI instead of passing quietly.

Quick start

python -m venv .venv && .venv/Scripts/python -m pip install -r requirements.txt

# Ingest a corpus (markdown). Incremental by default: only files whose content
# changed since the last run are re-embedded.
python -m rag_mcp.cli ingest path/to/docs --db ./store.chroma

# Force a rebuild in place (ignore the manifest, re-embed everything)
python -m rag_mcp.cli ingest path/to/docs --db ./store.chroma --full

# 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

# Same, restricted to one doc_class ("note" or "handoff" -- see "Filtering by
# document class" below)
python -m rag_mcp.cli query "your question" --db ./store.chroma --corpus path/to/docs --doc-class note

# 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

Keeping the index fresh (incremental ingest)

Ingest is incremental by default. A manifest inside the store dir records a SHA-256 of each file's decoded text; a run re-embeds only what actually changed, and prunes what upsert alone never could (chunks of deleted/renamed notes, and trailing chunks of notes that got shorter).

Measured on a live 2808-file / 26.6 MiB corpus (bge, CPU):

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Rag: common questions

Is Rag MCP server safe?
Yes, by our scan: it is graded A (89/100). Read the Rag safety report
How do I install Rag?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Rag need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Rag maintained?
The last commit was 41 days ago (2026-09-22). The latest release is v0.1.0.
What can I use instead of Rag?
Servers from other publishers that do the same job: Tw Legal Rag MCP server, Local Rag MCP server and PDF MCP server.

Alternatives to Rag

Same job from other publishers: the closest match first, then the best rated.

  • Tw Legal Rag
    Citation-guarded retrieval over 22M Taiwan court judgments and administrative interpretations
    A
  • Local Rag
    Easy-to-setup local RAG server with minimal configuration
    A
  • PDF
    Agentic RAG over one PDF or a whole folder: hybrid search, selective page reads, tables, OCR.
    A
  • Serena MCP: the IDE for your agent
    A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
    C
  • agent-device
    Open source device layer for AI agents: control mobile, web, TV, and desktop apps over MCP
    A

More from jaimenbell →