A private, local research assistant that searches the web and scrapes content using DuckDuckGo.
A free, private research assistant for AI development environments that searches the web and scrapes content using DuckDuckGo and Python. This MCP server gives AI assistants the ability to access real-time information while keeping all processing local for complete privacy.
Compatible with:
Clone this repository:
git clone https://github.com/Unlock-MCP/local-research-server.git
cd local-research-server
Set up the environment:
uv init
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
Install dependencies:
uv add "mcp[cli]" duckduckgo-search trafilatura
Test the server:
python research_server.py
Choose your AI environment:
Add this to your config file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"local-researcher": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/local-research-server",
"run",
"python",
"research_server.py"
]
}
}
}
Add this to your CLAUDE.md
file or use the CLI:
claude --mcp-server local-researcher="uv --directory /path/to/your/local-research-server run python research_server.py"
Configure via your MCP client settings or environment variables.
Add to your Cline MCP server configuration in VS Code settings.
Replace /path/to/your/local-research-server
with the full path to this directory.
After configuration, restart your AI environment. Connection indicators vary by platform:
Ask your AI assistant research questions like:
Your AI assistant will automatically use the local server to fetch real-time information.
The server implements a single MCP tool that:
All processing happens locally with no data sent to external services except for the public web searches.
AI Client (Claude Desktop/Code/Gemini/Cline)
↓ (MCP Protocol)
Local Research Server
↓ (Search API)
DuckDuckGo Search
↓ (HTTP Requests)
Target Websites
↓ (Content Extraction)
Clean Text → AI Assistant
The server accepts these parameters for the research tool:
query
(string): The search query or research topicnum_results
(int): Number of search results to process (default: 3)This research server is ideal for:
Consider these enhancements:
Server not connecting:
No search results:
Content extraction failing:
We welcome contributions! Please see our Contributing Guide for details.
MIT License - see LICENSE for details.
Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.
Search the web using Kagi's search API
Web search using OpenAI's o3 model. Requires an OpenAI API key.
Access Jina AI's web services for web page reading, web search, and fact-checking. Requires a Jina AI API key.
Provides Google Web Search functionality using the Gemini API. Requires a Google API Key or OAuth credentials.
Efficiently search Obsidian vaults using the ripgrep tool.
RAG Search over your content powered by Inkeep
Search and retrieve academic papers from the arXiv repository via its API.
Convert city names and locations into latitude and longitude coordinates using the free OpenStreetMap Nominatim API. No API key is required.
Search for videos, users, and retrieve danmaku from the Bilibili API.