Skip to main content
Glama

mcp-server-ollama-deep-researcher

MIT License
13
  • Apple
  • Linux
README.md3.85 kB
# Ollama Deep Researcher DXT Extension ## Overview **Ollama Deep Researcher** is a Desktop Extension (DXT) that enables advanced topic research using web search and LLM synthesis, powered by a local MCP server. It supports configurable research parameters, status tracking, and resource access, and is designed for seamless integration with the DXT ecosystem. - **Research any topic** using web search APIs and LLMs (Ollama, DeepSeek, etc.) - **Configure** max research loops, LLM model, and search API - **Track status** of ongoing research - **Access research results** as resources via MCP protocol ## Features - Implements the MCP protocol over stdio for local, secure operation - Defensive programming: error handling, timeouts, and validation - Logging and debugging via stderr - Compatible with DXT host environments ## Directory Structure ``` . ├── manifest.json # DXT manifest (see MANIFEST.md for spec) ├── src/ │ ├── index.ts # MCP server entrypoint (Node.js, stdio transport) │ └── assistant/ # Python research logic │ └── run_research.py ├── README.md # This documentation └── ... ``` ## Installation & Setup 1. **Clone the repository** and install dependencies: ```sh git clone <your-repo-url> cd mcp-server-ollama-deep-researcher npm install ``` 2. **Install Python dependencies** for the assistant: ```sh cd src/assistant pip install -r requirements.txt # or use pyproject.toml/uv if preferred ``` 3. **Set required environment variables** for web search APIs: - For Tavily: `TAVILY_API_KEY` - For Perplexity: `PERPLEXITY_API_KEY` - Example: ```sh export TAVILY_API_KEY=your_tavily_key export PERPLEXITY_API_KEY=your_perplexity_key ``` 4. **Build the TypeScript server** (if needed): ```sh npm run build ``` 5. **Run the extension locally for testing:** ```sh node dist/index.js # Or use the DXT host to load the extension per DXT documentation ``` ## Usage - **Research a topic:** - Use the `research` tool with `{ "topic": "Your subject" }` - **Get research status:** - Use the `get_status` tool - **Configure research parameters:** - Use the `configure` tool with any of: `maxLoops`, `llmModel`, `searchApi` ## Manifest See `manifest.json` for the full DXT manifest, including tool schemas and resource templates. Follows [DXT MANIFEST.md](https://github.com/anthropics/dxt/blob/main/MANIFEST.md). ## Logging & Debugging - All server logs and errors are output to `stderr` for debugging. - Research subprocesses are killed after 5 minutes to prevent hangs. - Invalid requests and configuration errors return clear, structured error messages. ## Security & Best Practices - All tool schemas are validated before execution. - API keys are required for web search APIs and are never logged. - MCP protocol is used over stdio for local, secure communication. ## Testing & Validation - Validate the extension by loading it in a DXT-compatible host. - Ensure all tool calls return valid, structured JSON responses. - Check that the manifest loads and the extension registers as a DXT. ## Troubleshooting - **Missing API key:** Ensure `TAVILY_API_KEY` or `PERPLEXITY_API_KEY` is set in your environment. - **Python errors:** Check Python dependencies and logs in `stderr`. - **Timeouts:** Research subprocesses are limited to 5 minutes. ## References - [DXT Architecture Overview](https://github.com/anthropics/dxt/blob/main/README.md) - [DXT Manifest Spec](https://github.com/anthropics/dxt/blob/main/MANIFEST.md) - [DXT Example Extensions](https://github.com/anthropics/dxt/tree/main/examples) - [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk) --- © 2025 Your Name or Organization. Licensed under MIT.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cam10001110101/mcp-server-ollama-deep-researcher'

If you have feedback or need assistance with the MCP directory API, please join our Discord server