1. Conduid
  2. Developer Tools
  3. Deep Research Python
MCP server · Developer Tools

Deep Research Python

MCP tool for deep web research

Unclaimed MIT last commit 11 months ago devtools
61Good

Scored 5 months ago · breakdown

About Deep Research Python

Deep Research Python is an MCP server published by Finance-LLMs in the Developer Tools category: mCP tool for deep web research.

The repository has 76 stars and 16 forks, with the last commit 11 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/Finance-LLMs/deep-research-python

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Deep Research Python

Powered by Claude · Grounded in docs

I know everything about Deep Research Python. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

OpenProvHop Deep Research

An AI-powered research assistant that performs iterative, deep research on any topic by combining web search, content analysis, and large language models.

🔬 Simple yet powerful research automation in Python

The goal is to provide the simplest implementation of a deep research agent that can refine its research direction over time and dive deep into any topic. Optimized for ease of use and understanding.

Features

  • 🔄 Iterative Research: Performs deep research by iteratively generating search queries, processing results, and diving deeper based on findings
  • 🎯 Intelligent Query Generation: Uses LLMs to generate targeted search queries based on research goals and previous findings
  • ⚙️ Depth & Breadth Control: Configurable parameters to control research scope (breadth: 1-20, depth: 1-10)
  • 🔮 Smart Follow-up: Generates follow-up questions to better understand research needs
  • 📊 Web Dashboard: Beautiful web interface with real-time progress tracking and organized result tabs
  • 🔗 API Server: REST API for integration with other applications
  • 🚀 Concurrent Processing: Handles multiple searches and result processing in parallel
  • 🤖 Multiple AI Providers: Support for NVIDIA, OpenAI, Fireworks AI, OpenRouter, and local models
  • ✨ Advanced Features:
    • Semantic Re-ranking: Orders results by relevance using sentence transformers
    • Smart Deduplication: Removes near-duplicate content automatically
    • Freshness Filtering: Prioritizes recent information (configurable)
    • Provenance Tracking: Transparent source attribution with supporting snippets and confidence scores

Quick Start

1. Installation

git clone https://github.com/Finance-LLMs/deep-research-python.git
cd deep-research-python
pip install -r requirements.txt

2. Configuration

Create a .env.local file with your API keys:

# Required: Web search and scraping
FIRECRAWL_KEY="your_firecrawl_key"

# AI Provider (choose one)
OPEN_ROUTER_KEY="your_openrouter_key"        # free models available
# NVIDIA_API_KEY="your_nvidia_api_key"       # Alternative - Llama 3.1 70B, DeepSeek R1
# OPENAI_KEY="your_openai_key"               # Alternative - GPT-4o-mini
# FIREWORKS_KEY="your_fireworks_key"         # Alternative - DeepSeek R1

# Optional: Advanced features
USE_RERANKING=true        # Enable semantic re-ranking (default: true)
DEDUP_THRESHOLD=0.9       # Deduplication threshold (default: 0.9)
MIN_YEAR=2020            # Minimum year for documents (default: 2020)

3. Usage Options

Web Dashboard (Recommended) 🚀

python run_dashboard.py
# Open http://localhost:5000

Command Line

python -m src.run

API Server

python -m src.api
# Server starts on port 3051

AI Model Providers

The system automatically selects the best available model in this order:

  1. Custom Model - if CUSTOM_MODEL and OPENAI_ENDPOINT are set
  2. DeepSeek R1 (OpenRouter) - if OPEN_ROUTER_KEY is set
  3. NVIDIA Llama 3.1 70B - if NVIDIA_API_KEY is set
  4. DeepSeek R1 (Fireworks) - if FIREWORKS_KEY is set
  5. GPT-4o-mini (OpenAI) - Fallback option

Getting API Keys

OpenRouter

  • Visit openrouter.ai
  • Free tier includes access to many models
  • Excellent DeepSeek R1 performance

NVIDIA API

  • Visit build.nvidia.com
  • Free access to Llama 3.1 70B and DeepSeek R1
  • Great for research applications

Local/Custom Models

OPENAI_ENDPOINT="http://localhost:1234/v1"
CUSTOM_MODEL="your_model_name"
OPENAI_KEY="your_api_key_if_needed"

Usage

Web Dashboard (Recommended) 🚀

Start the interactive web dashboard:

python run_dashboard.py
# Open http://localhost:5000

Features:

  • Interactive UI: User-friendly web interface
  • Real-time Progress: Live updates with visual progress bars
  • Organized Results: Separate tabs for Output, Learnings, Sources, and Feedback
  • Download Reports: Export as Markdown files
  • Provenance Display: See supporting snippets and confidence scores for each learning

Command Line Interface

python -m src.run

You'll be prompted to enter your research query and configure parameters:

  • Breadth: Number of search queries per iteration (recommended: 2-10, default: 4)
  • Depth: Number of research iterations (recommended: 1-5, default: 2)
  • Mode: Generate report or specific answer

API Server

python -m src.api
# Server starts on port 3051

Endpoints:

# Research with concise answer
curl -X POST http://localhost:3051/api/research \
  -H "Content-Type: application/json" \
  -d '{"query": "Tesla stock performance 2025", "breadth": 3, "depth": 2}'

# Generate detailed report
curl -X POST http://localhost:3051/api/generate-report \
  -H "Content-Type: application/json" \
  -d '{"query": "AI trends 2025", "breadth": 4, "depth": 2}'

Advanced Features

Enhanced Search Quality

The system includes advanced retrieval processing for higher quality results:

  • Semantic Re-ranking: Orders search results by relevance using AI embeddings
  • Smart Deduplication: Automatically removes near-duplicate content (configurable threshold)
  • Freshness Filtering: Prioritizes recent information while filtering outdated content

Configuration:

USE_RERANKING=true        # Enable processing (default: true)
DEDUP_THRESHOLD=0.9       # Similarity threshold (default: 0.9)
MIN_YEAR=2020            # Minimum document year (default: 2020)

Provenance Tracking

Every research finding includes transparent source attribution:

  • Source URLs: Direct links to original documents
  • Supporting Snippets: Exact 1-2 sentence excerpts supporting each learning
  • Confidence Scores: Similarity scores showing reliability (0-100%)
  • Matched Terms: Key terms found in supporting evidence

Example Output:

### Learning #1
**Finding:** Python 3.12 introduces improved error messages

**Source:** "Python 3.12 now provides more detailed error messages..."
**From:** https://docs.python.org/3.12/whatsnew
**Confidence:** 95%

Access Provenance Data:

from src.deep_research import deep_research

result = await deep_research("Your query", breadth=4, depth=2)

if result.learnings_with_provenance:
    for provenance in result.learnings_with_provenance:
        print(f"Learning: {provenance['learning']}")
        print(f"Source: {provenance['source_url']}")
        print(f"Evidence: {provenance['supporting_snippet']}")
        print(f"Confidence: {provenance['confidence_score']:.1%}")

Configuration

Variable Description Default Options
Core APIs
FIRECRAWL_KEY Firecrawl API key (required) - Your API key
FIRECRAWL_BASE_URL Custom Firecrawl endpoint https://api.firecrawl.dev URL
OPEN_ROUTER_KEY OpenRouter API key - Your API key
NVIDIA_API_KEY NVIDIA API key - Your API key
OPENAI_KEY OpenAI API key - Your API key
FIREWORKS_KEY Fireworks AI API key - Your API key
Local Models
CUSTOM_MODEL Custom model name - Model name
OPENAI_ENDPOINT Custom endpoint URL - http://localhost:1234/v1
Search Quality
USE_RERANKING Enable retrieval processing true true/false
DEDUP_THRESHOLD Deduplication threshold 0.9 0.0-1.0
MIN_YEAR Minimum document year 2020 2000-2025
Performance
FIRECRAWL_CONCURRENCY Concurrent requests 2 1-10
CONTEXT_SIZE Max context size 128000 Number

Docker Setup

  1. Create .env.local file with your API keys
  2. Build and run:
docker build -t deep-research-python .
docker run -p 3051:3051 --env-file .env.local deep-research-python

Or with Docker Compose:

docker compose up -d

How It Works

The research process follows these steps:

  1. Query Analysis - Takes user query and generates follow-up questions for refinement
  2. Search Generation - Creates multiple targeted SERP queries based on research goals
  3. Content Retrieval - Searches web using Firecrawl API and scrapes relevant pages
  4. Quality Enhancement - Applies semantic re-ranking, deduplication, and freshness filtering
  5. Learning Extraction - Analyzes content to extract key insights and learnings
  6. Provenance Tracking - Links each learning to supporting source snippets with confidence scores
  7. Iterative Deepening - Generates new research directions and repeats if depth > 0
  8. Report Generation - Compiles findings into comprehensive markdown reports
flowchart TB
    Q[User Query] --> DR[Deep Research]
    DR --> SQ[Generate SERP Queries]
    SQ --> SR[Search & Scrape]
    SR --> QE[Quality Enhancement]
    QE --> LE[Extract Learnings]
    LE --> PT[Track Provenance]
    PT --> D{Depth > 0?}
    D -->|Yes| RD[Generate Directions]
    RD --> DR
    D -->|No| R[Generate Report]

Performance & Rate Limits

Firecrawl Rate Limits

Configure concurrency based on your plan:

# Free tier
FIRECRAWL_CONCURRENCY=1

# Paid tier or self-hosted
FIRECRAWL_CONCURRENCY=5

Performance Tips

  • Start small: Use breadth=2, depth=1 for testing
  • Monitor rate limits: Watch for 429 errors and adjust concurrency
  • Use faster models: NVIDIA models are generally quicker
  • Self-host Firecrawl: For unlimited scraping

Troubleshooting

Common Issues

Issue Solution
"No model found" error Ensure at least one AI provider API key is set
Rate limit errors Reduce FIRECRAWL_CONCURRENCY or upgrade Firecrawl plan
Empty search results Check Firecrawl API key and connectivity
Import/dependency errors Run pip install -r requirements.txt
Slow processing Enable GPU, use smaller parameters, or faster model

Enable Debug Output

Modify logging in src/deep_research.py:

def log(*args):
    print(*args)  # Enable all debug output

License

This project is licensed under MIT LICENSE.

README fetched from the repository 5 days ago. The original is authoritative.

Questions

About Deep Research Python

How do I install Deep Research Python?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Deep Research Python safe to use with an AI agent?

Its trust score is 61 out of 100 (good). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Deep Research Python still maintained?

The last commit was 11 months ago and 1 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.