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
Supavec
Fetch relevant embeddings and content from Supavec for AI assistants.
MediaWiki MCP Server
Interact with the MediaWiki API to search and retrieve content from Wikipedia or other MediaWiki sites.
CryptoPanic News
Provides the latest cryptocurrency news to AI agents, powered by the CryptoPanic API.
NYTimes Article Search
Search for New York Times articles from the last 30 days using a keyword.
RocketReach
Find emails, phone numbers, and enrich company data using the RocketReach API.
yfinance MCP Server
Access up-to-date prices and news for stocks and cryptocurrencies.
Shodan MCP Server
Query internet-connected devices, services, and vulnerabilities using the Shodan API and CVE database.
Langflow Document Q&A Server
A document question-and-answer server powered by Langflow.
Jina AI MCP Tools
Integrates with Jina AI APIs for web reading, search, and fact-checking.
ProPublica MCP Server
Search and analyze nonprofit organizations' Form 990 data using ProPublica's Nonprofit Explorer API.