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
相关服务器
Brave Search
A server for Brave Search, enabling web search capabilities via its API.
Yahoo Finance
An MCP server for querying Yahoo Finance data using the yfinance library.
12306-mcp
Search for train tickets on 12306, the official China Railway website.
Memex Targeted Search Server
Performs targeted searches across Memex conversation history and project files.
Bowlly Search
Search, analyze, and compare cat food products with ingredient- and nutrition-based tools.
Deep Research
Generates in-depth research reports using powerful AI models.
Yandex Search MCP Server
Perform real-time web searches using the Yandex Search API.
YouTube Music MCP
Search and play tracks on YouTube Music via AI assistants.
The Movie Database (TMDB)
Integrates with The Movie Database (TMDB) API, allowing AI assistants to search for movies, retrieve details, and generate related content.
PubMed MCP Server
A server for searching, retrieving, and analyzing articles from the PubMed database.