Sandbox
@nkapila6/mcp-local-rag

Local MCP server for web search and research

This repo provides a local MCP server that searches the web, gathers results from multiple backends, and ranks them with semantic similarity before returning context to the model. It is meant to plug into MCP clients so the agent can answer with fresh web information instead of only its built-in knowledge.

134 stars21 forksPythonUpdated 17d ago
Who it's for

Builders who want Claude Desktop, Cursor, or another MCP client to look up current information on the web.

What it delivers

You can ask your agent to do live web research and get back ranked context without setting up search APIs.

What it does

Multi-engine deep research

Searches across 9+ backends, including DuckDuckGo, Google, Bing, Brave, Wikipedia, Yahoo, Yandex, Mojeek, and Grokipedia.

Semantic result ranking

Uses embeddings and similarity scoring to rank search results before returning context.

Privacy-first search options

Lets you choose private engines like DuckDuckGo or Brave when you do not want to use broader search engines.

No API keys required

Runs locally with embedded models and does not need external search API credentials.

Claude skill pack

Includes the `local-rag-search` skill to guide Claude on when to use quick searches versus deep research.

README

mcp-local-rag

"primitive" RAG-like web search model context protocol (MCP) server that runs locally. ✨ no APIs ✨

A RAG-based web search and deep research model context protocol (MCP) server that runs entirely locally. Features multi-engine research across 9+ search backends with semantic similarity ranking, and requires no API keys.

Open in GitHub Codespaces

Add MCP Server mcp-local-rag to LM Studio

Ask DeepWiki

%%{init: {'theme': 'base'}}%%
flowchart TD
    A[User] -->|1.Submits LLM Query| B[Language Model]
    B -->|2.Sends Query| C[mcp-local-rag Tool]
    
    subgraph mcp-local-rag Processing
    C -->|Search DuckDuckGo| D[Fetch 10 search results]
    D -->|Fetch Embeddings| E[Embeddings from Google's MediaPipe Text Embedder]
    E -->|Compute Similarity| F[Rank Entries Against Query]
    F -->|Select top k results| G[Context Extraction from URL]
    end
    
    G -->|Returns Markdown from HTML content| B
    B -->|3.Generated response with context| H[Final LLM Output]
    H -->|5.Present result to user| A

    classDef default stroke:#333,stroke-width:2px;
    classDef process stroke:#333,stroke-width:2px;
    classDef input stroke:#333,stroke-width:2px;
    classDef output stroke:#333,stroke-width:2px;

    class A input;
    class B,C process;
    class G output;

Features

Multi-Engine Deep Research

The server supports comprehensive multi-engine research capabilities that go beyond simple single-query searches:

  • 9+ Search Backends: DuckDuckGo, Google, Bing, Brave, Wikipedia, Yahoo, Yandex, Mojeek, Grokipedia
  • Multi-Topic Research: Search multiple related queries simultaneously
  • Semantic Ranking: RAG-like similarity scoring ranks the most relevant results
  • Privacy Options: Choose privacy-focused engines (DuckDuckGo, Brave) or comprehensive ones (Google)
  • No API Keys Required: All processing runs locally with embedded models

Deep Research Tools

  1. deep_research - Comprehensive multi-engine research

    • Search across multiple engines simultaneously
    • Ideal for complex topics requiring diverse perspectives
    • Customizable backends and result limits
  2. deep_research_google - Google-focused deep dive

    • Leverage Google's comprehensive index
    • Best for technical/scientific queries
  3. deep_research_ddgs - Privacy-first deep research

    • Use DuckDuckGo for private, extensive research
    • Great for general topics without tracking
  4. rag_search_ddgs & rag_search_google - Quick single searches

    • Fast, focused searches when you need quick answers

Installation

Locate your MCP config path here or check your MCP client settings.

Run Directly via uvx

This is the easiest and quickest method. You need to install uv for this to work.
Add this to your MCP server configuration:

{
  "mcpServers": {
    "mcp-local-rag":{
      "command": "uvx",
        "args": [
          "--python=3.10",
          "--from",
          "git+https://github.com/nkapila6/mcp-local-rag",
          "mcp-local-rag"
        ]
      }
  }
}

Using Docker (recommended)

Ensure you have Docker installed.
Add this to your MCP server configuration:

{
  "mcpServers": {
    "mcp-local-rag": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--init",
        "-e",
        "DOCKER_CONTAINER=true",
        "ghcr.io/nkapila6/mcp-local-rag:v1.0.2"
      ]
    }
  }
}

Agent Skills

This repository includes Agent Skills that teach Claude how to effectively use the mcp-local-rag tools for intelligent web searches and deep research. Skills are folders of instructions that Claude loads dynamically to improve performance on specialized tasks.

Available Skills

local-rag-search - Teaches Claude best practices for:

  • Smart tool selection: Choosing between quick searches or comprehensive deep research
  • Multi-engine research: Using multiple search backends for diverse perspectives
  • Effective query formulation: Writing natural language queries that yield better results
  • Parameter tuning: Adjusting num_results, top_k, and backend selection for different use cases
  • Privacy-aware searching: Defaulting to privacy-focused engines while allowing comprehensive searches when needed

Deep Research Use Cases

The skill enables comprehensive topic research using multiple search terms and engines. It's particularly useful for technical deep dives that leverage Google's documentation coverage, multi-perspective analysis that compares information across different search engines, privacy-focused research using DuckDuckGo or Brave, and factual verification by cross-referencing Wikipedia and other authoritative sources.

Using the Skills

In Claude Desktop:

  1. Go to SettingsSkills
  2. Click Add SkillAdd from folder
  3. Select skills/local-rag-search/

In conversations: Once loaded, simply ask Claude to search for information and it will automatically apply the skill's best practices. Try queries like:

  • "Do deep research on recent quantum computing developments"
  • "Search multiple sources for sustainable energy solutions"
  • "Find comprehensive technical documentation about Kubernetes optimization"

Learn more about Agent Skills at the Anthropic Skills Repository.

See the skills/README.md for detailed usage instructions and skill development guidelines.

Security audits

MseeP does security audits on every MCP server, you can see the security audit of this MCP server by clicking here.

MCP Clients

The MCP server should work with any MCP client that supports tool calling. Has been tested on the below clients.

  • Claude Desktop
  • Cursor
  • Goose
  • Others? You try!

Examples on Claude Desktop

When an LLM (like Claude) is asked a question requiring recent web information, it will trigger mcp-local-rag.

When asked to fetch/lookup/search the web, the model prompts you to use MCP server for the chat.

In the example, have asked it about Google's latest Gemma models released yesterday. This is new info that Claude is not aware about.

Result

mcp-local-rag performs a live web search, extracts context, and sends it back to the model—giving it fresh knowledge:

Buy Me A Coffee

If the software I've built has been helpful to you. Please do buy me a coffee, would really appreciate it! 😄

ko-fi

Contributing

Have ideas or want to improve this project? Issues and pull requests are welcome!

License

This project is licensed under the MIT License.

Files in the repo

Repository payload17 top-level entries
  • .devcontainer
  • .github
  • images
  • skills
  • src
  • .dockerignore
  • .envrc
  • .gitattributes
  • .gitignore
  • .python-version
  • create_tag.sh
  • Dockerfile
  • fastmcp.json
  • LICENSE
  • pyproject.toml
  • README.md
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k

x64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debugger's full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros

1.9k