* docs: add comprehensive MCP server documentation - Create standalone docs/mcp-server.md with full MCP server docs covering installation, configuration, all 7 tools, research strategies guide, ReAct agentic strategy deep dive, MCP client setup, error handling, security model, Docker deployment, usage examples, and troubleshooting - Add MCP Server section to docs/features.md under Advanced Features - Add MCP Server CLI section to docs/cli-tools.md - Fix search.search_strategy -> search.strategy in server.py and tests to match renamed setting from #2550 * fix(docs): correct 9 issues found in MCP server documentation review - Revert search.strategy → search.search_strategy in server.py and tests (6 occurrences) - Fix collection_name description: it's an engine ID, not a display name - Fix invalid JSON in analyze_documents return example - Add missing MCP Server CLI entry to cli-tools.md TOC - Add unknown error type to error handling table - Fix broken MCP security guide external link - Clarify Docker section: MCP must run on host (STDIO can't bridge containers) - Fix "7 research tools" → "7 tools (4 research, 3 discovery)" in features.md - Add temperature valid range note (0.0-2.0) * feat(mcp): add `search` tool for raw search results without LLM Add a new MCP tool that calls a specific search engine and returns raw results (title, link, snippet) without LLM processing. This enables external AI agents to perform fast, cost-free searches and handle result analysis themselves. - Required `engine` parameter with validation against available engines - API key presence check before engine creation - Body-to-snippet normalization for consistent output - 8 test cases covering success, errors, and edge cases - Updated docs with tool count (7→8) and parameter reference * fix(mcp): set thread-local settings context in search tool Some engine constructors (e.g., arxiv's JournalReputationFilter) call get_llm() internally without passing settings_snapshot, falling through to the thread-local settings context. Set and clean up the context so these engines can resolve settings correctly. * docs: add OpenClaw MCP client configuration (#2562) Add OpenClaw configuration subsection alongside Claude Desktop in the MCP server guide, as suggested in PR #2546 review. * docs: add Claude Code config, individual search engine examples, and openclaw - Add Claude Code MCP configuration (.mcp.json) to README and mcp-server.md - Add search tool to README tools table with LLM Cost column - Add individual search engine examples (arxiv, pubmed, wikipedia, openclaw) - Highlight search tool usefulness for monitoring and subscriptions - List common engines in mcp-server.md search tool section
7.6 KiB
Features Documentation
This comprehensive guide covers all features available in Local Deep Research (LDR).
Note
: This documentation is maintained by the community and may contain inaccuracies. While we strive to keep it up-to-date, please verify critical information and report any errors via GitHub Issues.
Table of Contents
- Research Modes
- Search Capabilities
- LLM Integration
- User Interface Features
- Advanced Features
- Developer Features
- Performance Features
Research Modes
Quick Summary Mode
Fast research mode that provides concise answers with citations.
Features:
- Automatic query decomposition
- Parallel search execution
- Smart result synthesis
- Citation tracking
- Structured output with tables when relevant
Usage:
from local_deep_research.api import quick_summary
result = quick_summary(
query="Your research question",
iterations=2, # Number of research iterations
questions_per_iteration=3 # Sub-questions per iteration
)
Detailed Research Mode
Comprehensive analysis mode for in-depth exploration of topics.
Features:
- Section-based research organization
- Multiple research cycles
- Cross-reference validation
- Extended context windows
- Detailed citation management
Report Generation Mode
Creates professional research reports with proper structure.
Features:
- Automatic table of contents
- Section headers and organization
- Executive summary generation
- Bibliography management
- Export to PDF/Markdown
Document Analysis Mode
Searches and analyzes your private document collections.
Features:
- Multiple document formats supported
- Vector-based semantic search
- Collection management
- Incremental indexing
- Privacy-preserved processing
Search Capabilities
Multi-Engine Search
Simultaneously query multiple search engines for comprehensive results.
Supported Engines:
- Academic: arXiv, PubMed, Semantic Scholar
- General: Wikipedia, SearXNG, DuckDuckGo
- Technical: GitHub, Elasticsearch
- Custom: Local documents, LangChain retrievers
Intelligent Query Routing
The system automatically selects appropriate search engines based on query type:
- Scientific queries → Academic engines
- Code questions → GitHub + technical sources
- General knowledge → Wikipedia + web search
Adaptive Rate Limiting
Features:
- Learns optimal wait times per engine
- Automatic retry with exponential backoff
- Fallback engine selection
- Rate limit status monitoring
Search Strategies
30+ search strategies including:
source-based: Comprehensive research with detailed source trackingfocused-iteration: Iterative refinement (highest accuracy)rapid: Speed-optimized quick searchesparallel: Concurrent multi-query executiondual-confidence: Enhanced accuracy with confidence scoringevidence-based: Evidence gathering and verification
See Architecture Overview for the full list.
LLM Integration
Local Models (via Ollama)
Supported Models:
- Llama 3 (8B, 70B)
- Mistral (7B, 8x7B)
- Gemma (7B, 12B)
- DeepSeek Coder
- Custom GGUF models
Features:
- Complete privacy
- No API costs
- Model hot-swapping
- GPU acceleration support
Cloud Models
Providers:
- OpenAI (GPT-3.5, GPT-4)
- Anthropic (Claude 3 family)
- Google (Gemini models)
- OpenRouter (100+ models)
Features:
- Automatic fallback
- Cost tracking per model
- Token usage monitoring
- Model comparison tools
User Interface Features
Web Interface
Core Features:
- Real-time research progress
- Interactive result exploration
- Settings management
- Research history
- Export capabilities
Keyboard Shortcuts
ESC: Cancel current operationCtrl+Shift+1: Quick Summary modeCtrl+Shift+2: Detailed Research modeCtrl+Shift+3: Report GenerationCtrl+Shift+4: SettingsCtrl+Shift+5: Analytics
Real-time Updates
WebSocket Features:
- Live research progress
- Streaming results
- Status notifications
- Error handling
- Connection management
Export Options
Formats:
- PDF with formatting
- Markdown with citations
- JSON for programmatic use
- Plain text
- HTML with styling
Advanced Features
LangChain Integration
Connect any LangChain-compatible retriever:
from local_deep_research.api import quick_summary
result = quick_summary(
query="Internal documentation query",
retrievers={"company_docs": your_retriever},
search_tool="company_docs"
)
Supported Vector Stores:
- FAISS
- Chroma
- Pinecone
- Weaviate
- Elasticsearch
- Custom implementations
MCP Server (Claude Integration)
Use LDR as a research tool directly from Claude Desktop or other MCP-compatible AI assistants.
Features:
- 8 tools (5 research, 3 discovery) accessible via Model Context Protocol
- STDIO transport for secure local operation
- Per-call settings overrides
- ReAct (agentic) strategy with dynamic tool selection
- Document analysis with RAG pipeline
See MCP Server Guide for setup and usage.
REST API
Full HTTP API for language-agnostic access:
# Quick summary
POST /api/v1/quick_summary
# Detailed research
POST /api/v1/detailed_research
# Report generation
POST /api/v1/generate_report
Features:
- OpenAPI specification
- Authentication support
- Rate limiting
- Webhook callbacks
- Batch processing
Analytics Dashboard
Metrics Tracked:
- Cost per research/model
- Token usage patterns
- Response times
- Success rates
- Search engine health
- User ratings
Time Ranges:
- Last 7 days
- Last 30 days
- Last 90 days
- All time
Research History
Features:
- Full research archive
- Search within results
- Tagging system
- Sharing capabilities
- Version tracking
Developer Features
Python SDK
from local_deep_research import ResearchClient
client = ResearchClient(
llm_provider="ollama",
llm_model="llama3:8b",
search_engines=["searxng", "arxiv"]
)
result = client.research(
query="Your question",
strategy="focused_iteration"
)
Benchmarking System
Features:
- SimpleQA dataset support
- Custom dataset creation
- Performance metrics
- A/B testing framework
- Configuration optimization
Usage:
python -m local_deep_research.benchmarks \
--dataset simpleqa \
--examples 100 \
--config your_config.json
Command Line Tools
# Run benchmarks from CLI
python -m local_deep_research.benchmarks --dataset simpleqa --examples 50
# Manage rate limiting
python -m local_deep_research.web_search_engines.rate_limiting status
python -m local_deep_research.web_search_engines.rate_limiting reset
Performance Features
Caching System
Document Embedding Cache:
- Caches document embeddings for faster subsequent searches
Parallel Processing
Optimization:
- Concurrent search queries
- Parallel LLM calls
- Async result processing
- Thread pool management
Resource Management
Features:
- Token budget enforcement
- Request queuing
- Graceful degradation
Security Features
Privacy Protection
- Local processing options
- No telemetry by default
- Secure credential storage