Rust Local RAG
🦀 High-performance local RAG server in Rust that integrates with Claude Desktop via MCP. Search PDF documents privately using Ollama embeddings - no external API calls.
What is Rust Local RAG?
Rust Local RAG is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to 🦀 high-performance local rag server in rust that integrates with claude desktop via mcp. search pdf documents privately using ollama embeddings - no external api calls.
🦀 High-performance local RAG server in Rust that integrates with Claude Desktop via MCP. Search PDF documents privately using Ollama embeddings - no external API calls.
This server falls under the Knowledge & Memory category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- 🦀 High-performance local RAG server in Rust that integrates
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx rust-local-ragConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Rust Local RAG
Rust Local RAG is a high-performance, privacy-first retrieval-augmented generation server built in Rust that integrates with Claude Desktop via MCP. It indexes PDF documents locally using Ollama-generated embeddings and exposes semantic search, document listing, and system statistics tools — with no external API calls required. This server is ideal for users who need to query sensitive documents such as legal contracts, research papers, or internal reports without sending data to third-party services.
Prerequisites
- Rust toolchain installed (via rustup.rs)
- Ollama installed and running locally with at least one embedding model pulled
- poppler installed for PDF parsing (brew install poppler on macOS)
- An MCP-compatible client such as Claude Desktop
Install Rust and system dependencies
Install the Rust toolchain and the poppler library which is required for PDF text extraction.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
brew install ollama popplerStart Ollama and pull an embedding model
Start the Ollama daemon and pull an embedding model such as nomic-embed-text which the RAG server will use to generate vector embeddings.
ollama serve
ollama pull nomic-embed-textClone and build the server
Clone the repository and run make install to compile the Rust binary and place it in the correct location.
git clone https://github.com/ksaritek/rust-local-rag.git
cd rust-local-rag
make installPrepare your document directories
Create directories for your PDF documents and for the server's data and logs. Copy the PDFs you want to index into the documents directory.
mkdir -p ~/Documents/rag/pdfs ~/Documents/rag/data ~/Documents/rag/logs
cp /path/to/your/documents/*.pdf ~/Documents/rag/pdfs/Configure Claude Desktop
Add the server to your Claude Desktop config file, pointing the environment variables at your prepared directories.
{
"mcpServers": {
"rust-local-rag": {
"command": "/usr/local/bin/rust-local-rag",
"env": {
"DATA_DIR": "/Users/yourname/Documents/rag/data",
"DOCUMENTS_DIR": "/Users/yourname/Documents/rag/pdfs",
"LOG_DIR": "/Users/yourname/Documents/rag/logs",
"LOG_LEVEL": "info",
"LOG_MAX_MB": "100"
}
}
}
}Restart Claude Desktop and verify indexing
Restart Claude Desktop, then ask it to list your documents to confirm the PDFs were indexed successfully.
Rust Local RAG Examples
Client configuration
Claude Desktop configuration for the Rust Local RAG server with all required directory environment variables.
{
"mcpServers": {
"rust-local-rag": {
"command": "/usr/local/bin/rust-local-rag",
"env": {
"DATA_DIR": "/Users/yourname/Documents/rag/data",
"DOCUMENTS_DIR": "/Users/yourname/Documents/rag/pdfs",
"LOG_DIR": "/Users/yourname/Documents/rag/logs",
"LOG_LEVEL": "info",
"LOG_MAX_MB": "100"
}
}
}
}Prompts to try
Example prompts that exercise search, listing, and stats tools after your PDFs are indexed.
- "Search my documents for information about indemnification clauses"
- "List all the PDFs that have been indexed in the RAG system"
- "What documents do I have related to machine learning research?"
- "Search for mentions of 'force majeure' across all my legal documents"
- "Get the current RAG system statistics — how many documents and chunks are indexed?"Troubleshooting Rust Local RAG
Server fails to start with an error about Ollama connection refused
Make sure Ollama is running before starting Claude Desktop. Run 'ollama serve' in a terminal and verify it's listening on its default port (11434). The RAG server requires Ollama to be available for embedding generation.
PDFs are not being indexed or search returns no results
Confirm that DOCUMENTS_DIR points to the exact directory where your PDF files are stored, using an absolute path. Also ensure the PDF files are readable and not password-protected, as poppler cannot extract text from encrypted PDFs.
make install fails with a compilation error
Ensure your Rust toolchain is up to date by running 'rustup update'. Also verify that poppler's development headers are installed — on macOS you may need 'brew install poppler' even if you have poppler from another source.
Frequently Asked Questions about Rust Local RAG
What is Rust Local RAG?
Rust Local RAG is a Model Context Protocol (MCP) server that 🦀 high-performance local rag server in rust that integrates with claude desktop via mcp. search pdf documents privately using ollama embeddings - no external api calls. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Rust Local RAG?
Follow the installation instructions on the Rust Local RAG GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Rust Local RAG?
Rust Local RAG works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Rust Local RAG free to use?
Yes, Rust Local RAG is open source and available under the MIT license. You can use it freely in both personal and commercial projects.
Rust Local RAG Alternatives — Similar Knowledge & Memory Servers
Looking for alternatives to Rust Local RAG? Here are other popular knowledge & memory servers you can use with Claude, Cursor, and VS Code.
MemPalace
★ 52.6kA local AI memory system that stores all conversations verbatim and organizes them into navigable structures. It provides 19 MCP tools for AI assistants to search and retrieve past decisions, debugging sessions, and architecture debates automatically
Kratos
★ 25.7k🏛️ Memory System for AI Coding Tools - Never explain your codebase again. MCP server with perfect project isolation, 95.8% context accuracy, and the Four Pillars Framework.
Context Mode
★ 15.4kAn MCP server that preserves LLM context by intercepting large data outputs and returning only concise summaries or relevant sections. It enables efficient sandboxed code execution, file processing, and documentation indexing across multiple programm
Memu
★ 13.7kMemory for 24/7 proactive agents like OpenClaw.
MemOS
★ 9.3kMemOS (Memory Operating System) is a memory management operating system designed for AI applications. Its goal is: to enable your AI system to have long-term memory like a human, not only remembering what users have said but also actively invoking, u
Everos
★ 5.4kBuild, evaluate, and integrate long-term memory for self-evolving agents.
Browse More Knowledge & Memory MCP Servers
Explore all knowledge & memory servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Rust Local RAG in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Rust Local RAG?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.