"primitive" RAG-like web search model context protocol (MCP) server that runs locally. ✨ no APIs ✨
- • Core MCP protocol features implemented (20/40)
- • Limited GitHub community activity (8/20)
- • Optimal dependency management (20/20)
- • Moderate deployment maturity (5/10)
- • Documentation (8/8)
- • Archestra MCP Trust score badge is missing
{
"mcp-local-rag": {
"command": "uvx",
"args": [
"--python=3.10",
"--from",
"git+https://github.com/nkapila6/mcp-local-rag",
"mcp-local-rag"
],
"env": {}
},
"ghcr.io-nkapila6-mcp-local-rag-docker": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--init",
"-e",
"DOCKER_CONTAINER=true",
"ghcr.io/nkapila6/mcp-local-rag:latest"
],
"env": {
"DOCKER_CONTAINER": "true"
},
"docker_image": "ghcr.io/nkapila6/mcp-local-rag:latest"
}
}mcp-local-rag
"primitive" RAG-like web search model context protocol (MCP) server that runs locally. ✨ no APIs ✨
%%{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;
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:latest"
]
}
}
}
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:
Contributing
Have ideas or want to improve this project? Issues and pull requests are welcome!
License
This project is licensed under the MIT License.
[](https://archestra.ai/mcp-catalog/nkapila6__mcp-local-rag)mcp-local-rag
"primitive" RAG-like web search model context protocol (MCP) server that runs locally. ✨ no APIs ✨
%%{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;
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:latest"
]
}
}
}
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:
Contributing
Have ideas or want to improve this project? Issues and pull requests are welcome!
License
This project is licensed under the MIT License.
Related MCP Servers
mcp-shrimp-task-manager
88/100Shrimp Task Manager is a task tool built for AI Agents, emphasizing chain-of-thought, reflection, and style consistency. It converts natural language into structured dev tasks with dependency tracking and iterative refinement, enabling agent-like developer behavior in reasoning AI systems.
cognee-mcp
86/100Memory for AI Agents in 5 lines of code
shadcn-ui-mcp-server
82/100A mcp server to allow LLMS gain context about shadcn ui component structure,usage and installation,compaitable with react,svelte 5,and vue
mobile-mcp
81/100Model Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices)
HuggingFace
80/100Remote MCP server for HuggingFace services - access models, datasets, and spaces
markitdown-mcp
80/100Python tool for converting files and office documents to Markdown.


