Overview
What is Ollama Deep Researcher?
Ollama Deep Researcher is a desktop extension that enables advanced topic research using web search APIs and LLM synthesis, powered by a local MCP server over stdio. It is designed for integration with the DXT ecosystem and supports configurable research parameters, status tracking, and resource access.
How to use Ollama Deep Researcher?
Install Node.js and Python dependencies, set required environment variables for a web search API (Tavily, Perplexity, or Exa), optionally configure an LLM endpoint, then build and run the server with node dist/index.js. Use the research tool with a topic, get_status to check progress, and configure to adjust parameters like maxLoops, llmModel, or searchApi.
Key features of Ollama Deep Researcher
- MCP protocol over stdio for local, secure operation
- Defensive programming: error handling, timeouts, and validation
- Logging and debugging output via stderr
- Compatible with DXT host environments
- Research subprocesses killed after 30 minutes to prevent hangs
Use cases of Ollama Deep Researcher
- Research any topic using web search and LLM synthesis
- Track the status of ongoing research tasks
- Access research results as MCP resources
- Configure LLM model and search API without code changes
FAQ from Ollama Deep Researcher
What web search APIs are supported?
Tavily, Perplexity, and Exa are supported. Each requires its own API key set as an environment variable.
What LLMs can I use?
Ollama, DeepSeek, and other LLMs compatible with the configuration are supported. The LLM model can be set via the configure tool.
How do I prevent plaintext API keys from being stored on disk?
Optionally use 1Password Environments to mount a local .env file as a named pipe, or use op run to inject secrets at launch. Details are provided in the README under “Optional: secure secrets with 1Password”.
What happens if a research task takes too long?
Research subprocesses are automatically killed after 30 minutes to prevent hangs. Timeouts are logged to stderr.
What are the runtime dependencies?
Node.js for the TypeScript MCP server, Python for the research assistant, and API keys for the chosen web search service. All communication occurs locally over stdio.