Rag Starter
@cstamigo-droid
About Rag Starter
No overview available yet
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"rag-starter": {
"command": "python",
"args": [
"-m",
"rag_starter"
],
"cwd": "C:/path/to/rag-starter"
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Rag Starter?
Rag Starter is a production-ready starter that turns a folder of documents (PDFs, Markdown, text) into a cited Q&A service. Every answer is grounded in the source, with each claim traceable to the exact passage. It exposes the same core functionality both as an MCP server (for Claude Desktop, Claude Code, or any MCP host) and as an HTTP API (FastAPI).
How to use Rag Starter?
Install dependencies with pip install -r requirements.txt, then either run the MCP server by adding it to claude_desktop_config.json or start the HTTP API with the rag-starter-api command. Use the provided tools (rag_ingest, rag_search, rag_answer) to index documents and ask questions.
Key features of Rag Starter
- Keyless by default – embeddings run locally with ONNX MiniLM; no API key needed.
- Citations, not hallucinations – every answer includes source references like
[file.pdf p3]. - Optional answer synthesis – with an
ANTHROPIC_API_KEYthe server writes a cited answer; without one it returns passages for the host LLM. - Idempotent ingestion – re-ingesting a file updates it in place without duplicates.
- Two interfaces from one codebase – MCP server and HTTP API.
Use cases of Rag Starter
- Chat with internal documentation in Claude Desktop by ingesting a folder of PDFs and Markdown files.
- Build a custom Q&A endpoint for a web app using the FastAPI HTTP API.
- Prototype a RAG pipeline for a client project with zero API costs for retrieval.
- Reskin the app for different clients by swapping the
data/folder and updating configuration.
FAQ from Rag Starter
How is this different from other RAG projects?
It is keyless by default (local embeddings), produces cited answers to prevent hallucinations, and exposes both an MCP server and an HTTP API from the same codebase. It also uses idempotent ingestion so there are no duplicates on re-index.
What dependencies do I need?
Python 3 with pip install -r requirements.txt. The project uses Chroma for vector storage and ONNX MiniLM for local embeddings. No external services are required for basic retrieval.
Where is my data stored?
Document chunks are stored in a local persistent Chroma database. All data stays on your machine unless you configure an external embedding backend like OpenAI.
Can I use an API key for better answers?
Yes. By setting an ANTHROPIC_API_KEY, the server will synthesize a cited answer for each query. Without the key, it returns ranked passages for the host LLM to answer.
How do I switch from local embeddings to OpenAI?
Change the embedding_backend setting in config.py (or via environment variables) from default to openai. The rest of the pipeline remains the same.
Frequently asked questions
How is this different from other RAG projects?
It is keyless by default (local embeddings), produces cited answers to prevent hallucinations, and exposes both an MCP server and an HTTP API from the same codebase. It also uses idempotent ingestion so there are no duplicates on re-index.
What dependencies do I need?
Python 3 with `pip install -r requirements.txt`. The project uses Chroma for vector storage and ONNX MiniLM for local embeddings. No external services are required for basic retrieval.
Where is my data stored?
Document chunks are stored in a local persistent Chroma database. All data stays on your machine unless you configure an external embedding backend like OpenAI.
Can I use an API key for better answers?
Yes. By setting an `ANTHROPIC_API_KEY`, the server will synthesize a cited answer for each query. Without the key, it returns ranked passages for the host LLM to answer.
How do I switch from local embeddings to OpenAI?
Change the `embedding_backend` setting in `config.py` (or via environment variables) from `default` to `openai`. The rest of the pipeline remains the same.
Basic information
More Memory & Knowledge MCP servers
Anytype MCP Server
anyprotoAn MCP server enabling AI assistants to interact with Anytype - your encrypted, local and collaborative wiki - to organize objects, lists, and more through natural language.
RAG Documentation MCP Server
hannesrudolphAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.

ctxfile
ctxfileLocal-first MCP server that snapshots your project's working state into one context object. Open-core, privacy-first.
MCP Apple Notes
RafalWilinskiTalk with your notes in Claude. RAG over your Apple Notes using Model Context Protocol.
Rust Docs MCP Server
Govcraft🦀 Prevents outdated Rust code suggestions from AI assistants. This MCP server fetches current crate docs, uses embeddings/LLMs, and provides accurate context via a tool call.
Comments