Rust Local RAG

v1.0.0Knowledge & Memorystable

🦀 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.

rust-local-ragmcpai-integration
Share:
30
Stars
0
Downloads
0
Weekly
0/5

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

Search PDF documents privately using Ollama embeddings.
Build high-performance RAG applications without external API calls.
Integrate local semantic search into Claude Desktop workflows.
ksaritek

Maintainer

LicenseMIT
Languagerust
Versionv1.0.0
UpdatedApr 10, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx rust-local-rag

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

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
1

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 poppler
2

Start 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-text
3

Clone 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 install
4

Prepare 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/
5

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"
      }
    }
  }
}
6

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.

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.

Quick Config Preview

{ "mcpServers": { "rust-local-rag": { "command": "npx", "args": ["-y", "rust-local-rag"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

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.

33,000+ ServersFree & Open SourceStep-by-Step Guides