trackmcp
Back to directory
Unlock-MCP

local-research-server

View on GitHub

A free, private research assistant for Claude Desktop that searches the web and scrapes content using DuckDuckGo and Python MCP server

3 stars PythonOthers Updated Mar 23, 2026

Documentation

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

1. Clone this repository:

bash
git clone https://github.com/Unlock-MCP/local-research-server.git
   cd local-research-server

2. Set up the environment:

bash
uv init
   uv venv
   source .venv/bin/activate  # On Windows: .venv\Scripts\activate

3. Install dependencies:

bash
uv add "mcp[cli]" duckduckgo-search trafilatura

4. Test the server:

bash
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`
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:

bash
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:

1. Searches the web using DuckDuckGo's free API

2. Scrapes content from the top search results

3. Extracts clean, readable text using Trafilatura

4. 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

code
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 topic
  • `num_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.

Support

Frequently asked questions

What is local-research-server?

local-research-server is A free, private research assistant for Claude Desktop that searches the web and scrapes content using DuckDuckGo and Python MCP server

How do I install local-research-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is local-research-server open source?

Yes โ€” it is hosted on GitHub at https://github.com/Unlock-MCP/local-research-server and has 3 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP