Open Deep Research is a configurable, fully open-source deep research agent that works across multiple model providers, search tools, and MCP (Model Context Protocol) servers. It enables automated research with parallel processing and comprehensive report generation.
README.md- Comprehensive project documentation with quickstart guidepyproject.toml- Python project configuration and dependencieslanggraph.json- LangGraph configuration defining the main graph entry pointuv.lock- UV package manager lock fileLICENSE- MIT license.env.example- Environment variables template (not tracked)
deep_researcher.py- Main LangGraph implementation (entry point:deep_researcher)configuration.py- Configuration management and settingsstate.py- Graph state definitions and data structuresprompts.py- System prompts and prompt templatesutils.py- Utility functions and helpersfiles/- Research output and example files
Contains two earlier research implementations:
graph.py- Plan-and-execute workflow with human-in-the-loopmulti_agent.py- Supervisor-researcher multi-agent architecturelegacy.md- Documentation for legacy implementationsCLAUDE.md- Legacy-specific Claude instructionstests/- Legacy-specific tests
auth.py- Authentication handler for LangGraph deployment
run_evaluate.py- Main evaluation script configured to run on deep research benchevaluators.py- Specialized evaluation functionsprompts.py- Evaluation prompts and criteriapairwise_evaluation.py- Comparative evaluation toolssupervisor_parallel_evaluation.py- Multi-threaded evaluation
arxiv.md- ArXiv research examplepubmed.md- PubMed research exampleinference-market.md- Inference market analysis examples
- LangGraph - Workflow orchestration and graph execution
- LangChain - LLM integration and tool calling
- Multiple LLM Providers - OpenAI, Anthropic, Google, Groq, DeepSeek support
- Search APIs - Tavily, OpenAI/Anthropic native search, DuckDuckGo, Exa
- MCP Servers - Model Context Protocol for extended capabilities
uvx langgraph dev- Start development server with LangGraph Studiopython tests/run_evaluate.py- Run comprehensive evaluationsruff check- Code lintingmypy- Type checking
All settings configurable via:
- Environment variables (
.envfile) - Web UI in LangGraph Studio
- Direct configuration modification
Key settings include model selection, search API choice, concurrency limits, and MCP server configurations.