Skip to main content

Multi-agent research report generator powered by Claude

Project description

deep-report

PyPI Python Downloads License: MIT Publish Stars

Deep Report

Multi-agent research reports, powered by Claude.

Deep Report spawns parallel Claude Code agents that search the web, academic databases, papers, and your own references — then synthesizes their findings into a single, citation-grounded report (typically 15–30k words).

Install

pipx install deep-report

Requires Python 3.11+ and Claude Code installed and authenticated.

On Windows, run from Windows Terminal, PowerShell, or cmd.exe — the interactive wizard relies on raw arrow-key input. Git Bash / MSYS2 breaks arrow keys (all keys map to "toggle current row"); use one of the supported shells instead.

Use

Just run it with a topic — that's the whole thing:

deep-report "any topic you want a deep report on"

The CLI walks you through everything else. It picks a sensible number of agents, asks what audience the report is for, suggests report formats that fit your topic, and lets you tweak anything before kicking off. If you don't know which flags to use — don't use any. The interactive interview is the main way to drive the tool.

For repeat runs, --quick skips the interview and uses smart defaults:

deep-report "any topic you want a deep report on" --quick

First-run setup

The first time you run deep-report, you'll be walked through a one-time MCP picker — a checkbox UI for choosing which search engines, paper databases, and scraping tools you want it to use. Nothing is pre-selected; tick what you want.

If you already have MCP servers configured in Claude Code (~/.claude.json or .mcp.json), the wizard offers to import them — no re-entering keys.

Re-run any time with deep-report --setup.

What MCPs are available

MCP Needs Tier What it does
Brave Search Node Free tier — 2k queries/mo Web search with date + locale filters
Exa Node Free tier — $10 credit on signup Full-text semantic search (great for deep research)
Firecrawl Node Free tier — 500 pages/mo Search + scrape with anti-bot handling
Tavily Free tier — 1k credits/mo Agent-tuned search + extract + crawl
PubMed + Europe PMC Node Free PubMed, bioRxiv, medRxiv, full-text via EPMC
OpenAlex Node Free 270M scholarly works + citation graph
arXiv Python+uv Free Search, download, and read CS/physics/math papers
Wikipedia Python+uv Free Universal grounding layer
Context7 Node Free Version-pinned library/API docs (essential for tech topics)
Playwright Node Free JS-heavy / anti-bot scrape fallback
crawl4ai Docker Free (Docker) Alternative scraper

The free-tier ones need an API key — the wizard tells you exactly where to sign up. Anything you don't enable is simply skipped; you control what runs and what costs you. There are no paid-only MCPs in the default catalog.

Claude Code skill

Get a /deep-report slash command in Claude Code:

deep-report --install-skill

Then in Claude Code: /deep-report "topic".

Commands

Command What it does
deep-report "topic" Run a report with the interactive interview
deep-report "topic" --quick Skip the interview, use smart defaults
deep-report --setup Open the MCP picker / re-import from Claude Code
deep-report --list Pick an unfinished report and resume it
deep-report --intro Show the onboarding guide
deep-report --update Pull latest from GitHub
deep-report --install-skill Install the /deep-report Claude Code skill
deep-report --help Full flag reference

Output

Each report lands in its own folder:

your-topic_20260523_1430/
├── report.md           Final synthesized report (15–30k words)
├── refs.md             Compiled references
├── SUMMARY.md          Metrics and stats
├── full/agents/        Raw research from each agent
├── summaries/agents/   Condensed summaries
├── papers/             Downloaded PDFs (with --download-papers)
└── state/              Checkpoints — resume with `deep-report --list`

Machine mode

For driving the CLI from another program (a skill, an agent, CI) use --machine — a silent file-coordinated worker, no prompts, no Rich UI:

deep-report "topic" --machine --name "short-name" [--interactive]

State flows through state/progress.jsonl (tail with tail -F) and state/pending_approval.json. With --interactive, the CLI pauses at approval gates and waits for deep-report --approve --report-dir <dir> --gate <id> --decision approve|reject|stop_early.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deep_report-0.1.7.tar.gz (123.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deep_report-0.1.7-py3-none-any.whl (141.8 kB view details)

Uploaded Python 3

File details

Details for the file deep_report-0.1.7.tar.gz.

File metadata

  • Download URL: deep_report-0.1.7.tar.gz
  • Upload date:
  • Size: 123.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deep_report-0.1.7.tar.gz
Algorithm Hash digest
SHA256 05152d02c5dd80ccd2b5211d9955b69010d747df2aba5d0928fb482f0609e7f6
MD5 8600b7e546e857ac4d32ecb05f7cd561
BLAKE2b-256 b3222f0016444fb0b54e4f01f99114c46d485941b96ae1844a0c4513b24556f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for deep_report-0.1.7.tar.gz:

Publisher: publish.yml on Lampadare/deep-report

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deep_report-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: deep_report-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 141.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deep_report-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fcacd2e02da5d73061f7d35be13314f99dc41316e552632411906eb3ddb51537
MD5 c5728f0f23cd374531cdb044c53ba014
BLAKE2b-256 71920992f696832cc4963ffc82ee89d2a6bd2cb14e2a1444af3e8c8c1b3270d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for deep_report-0.1.7-py3-none-any.whl:

Publisher: publish.yml on Lampadare/deep-report

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page