Local Research MCP Server
A private, local research assistant that searches the web and scrapes content using DuckDuckGo.
Local Research MCP Server
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:
- Claude Desktop - Anthropic's official desktop app
- Claude Code - Anthropic's CLI tool for developers
- Gemini CLI - Gemini's CLI tool
- Cline - VS Code extension for AI-powered coding
- Any MCP-compatible client
Features
- 🔍 Free Web Search: Uses DuckDuckGo's search API without requiring API keys
- 📄 Content Extraction: Intelligently extracts clean text from web pages
- 🔒 Privacy-First: All processing happens locally on your machine
- ⚡ Fast Integration: Works seamlessly with Claude Desktop via MCP
- 🛠️ Zero Dependencies: No external services or subscriptions required
Quick Start
Prerequisites
- Python 3.10 or higher
- One of the compatible AI environments:
- Claude Desktop, Claude Code, Google CLI, Cline, or other MCP client
- Basic command line knowledge
Installation
-
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
Configuration
Choose your AI environment:
Claude Desktop
Add this to your config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"local-researcher": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/local-research-server",
"run",
"python",
"research_server.py"
]
}
}
}
Claude Code
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"
Google AI Studio / Gemini CLI
Configure via your MCP client settings or environment variables.
Cline (VS Code)
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.
Usage
After configuration, restart your AI environment. Connection indicators vary by platform:
- Claude Desktop: Look for the plug icon (🔌)
- Claude Code: Server status shown in CLI output
- Other platforms: Check your MCP client's connection status
Ask your AI assistant research questions like:
- "What are the latest developments in AI research this week?"
- "Research current renewable energy trends in Europe"
- "Find recent cybersecurity threat reports"
Your AI assistant will automatically use the local server to fetch real-time information.
How It Works
The server implements a single MCP tool that:
- Searches the web using DuckDuckGo's free API
- Scrapes content from the top search results
- Extracts clean, readable text using Trafilatura
- Returns formatted content to Claude for analysis
All processing happens locally with no data sent to external services except for the public web searches.
Architecture
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
Configuration Options
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)
Security Features
- Input Validation: Sanitizes search queries
- Rate Limiting: Polite delays between web requests
- Error Handling: Graceful failure handling
- Local Processing: No external data dependencies
Business Applications
This research server is ideal for:
- Content Creation: Research-backed article writing
- Market Analysis: Real-time competitor and industry research
- Due Diligence: Company and investment research
- Regulatory Monitoring: Tracking compliance requirements
Extending the Server
Consider these enhancements:
- Add RSS feed integration
- Implement search result caching
- Add domain filtering capabilities
- Include publication date extraction
- Add multiple search engine support
Troubleshooting
Common Issues
Server not connecting:
- Verify the absolute path in your AI client config
- Restart your AI environment completely
- Check that Python dependencies are installed
No search results:
- Verify internet connection
- Check DuckDuckGo service status
- Try different search queries
Content extraction failing:
- Some websites block scraping
- Try different search terms for varied sources
- Check the console output for specific errors
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
MIT License - see LICENSE for details.
Related Projects
- MCP Docs Server - Local documentation access
- Remote MCP Server - Enterprise database access
- UnlockMCP Website - MCP tutorials and resources
Support
Related Servers
Lancelot-MCP
A containerized MCP server for LanceDB vector search, featuring hybrid processing with Gemini and Ollama.
Jina AI Search
Access Jina AI's Search Foundation APIs for web search, news search, and more, tailored for LLMs.
GeoRanker
Access GeoRanker's SEO and keyword research tools for advanced search engine optimization analysis.
Wolfram Alpha
Access Wolfram Alpha's computational knowledge engine for expert-level answers and data analysis.
Perplexity
Web search using the Perplexity API with automatic model selection based on query intent.
MCP Tavily
Advanced web search and content extraction using the Tavily API.
mu-mcp
Query your local `mu` mail index for fast, structured mail search from MCP clients.
Open Custom Search API
Perform web searches using Google's Custom Search API.
Perplexity Search
Access the Perplexity search API for real-time information and answers.
RSS3
Integrates the RSS3 API to query the Open Web.