OpenDeepSearch
by tositon
Verified
# OpenDeepSearch
An open-source alternative to Perplexity Deep Research using the Model Context Protocol (MCP).
## Overview
OpenDeepSearch is a powerful research tool that performs comprehensive, in-depth research on complex topics. It combines the structured thinking approach of Sequential Thinking with the search capabilities of Brave Search to provide detailed, well-sourced research reports.
## Features
- **Comprehensive Research**: Breaks down complex questions into manageable sub-questions
- **Iterative Search**: Performs multiple searches to gather diverse information
- **Intelligent Analysis**: Analyzes search results to extract relevant information
- **Synthesis**: Combines findings into a coherent, well-structured report
- **Citations**: Includes sources for all information in the report
- **MCP Integration**: Seamlessly integrates with Claude Desktop, Cursor, and other MCP clients
- **WebSockets**: Supports integration with Smithery and other MCP clients
- **Publication**: Allows publishing the research tool on the Smithery platform for easy access
## Installation
### Prerequisites
- Node.js 16 or higher
- A Brave Search API key (get one at [https://brave.com/search/api/](https://brave.com/search/api/))
### NPM Installation
```bash
npm install -g open-deep-research
```
### Running with NPX
```bash
BRAVE_API_KEY=your_api_key npx open-deep-research
```
### Local Installation
```bash
# Clone the repository
git clone https://github.com/tositon/open-deep-research.git
cd open-deep-research
# Install dependencies
npm install
# Build the project
npm run build
# Run with Brave Search API
BRAVE_API_KEY=your_api_key npm start
```
### Installation via Smithery
```bash
# Install for Claude
npx @smithery/cli install open-deep-research --client claude
# Install for Cursor
npx @smithery/cli install open-deep-research --client cursor
```
When installing via Smithery, you will be prompted to enter a Brave Search API key.
## Usage
### With Claude Desktop
Add the following to your Claude Desktop configuration:
```json
{
"mcpServers": {
"open-deep-research": {
"command": "npx",
"args": [
"-y",
"open-deep-research"
],
"env": {
"BRAVE_API_KEY": "your_api_key_here"
}
}
}
}
```
### With Cursor
In Cursor, you can add the MCP server with:
```
claude mcp add "open-deep-research" npx open-deep-research
```
Make sure to set the `BRAVE_API_KEY` environment variable before running Cursor.
### Example Queries
- "What are the latest developments in quantum computing?"
- "Compare and contrast different approaches to climate change mitigation"
- "Explain the history and impact of the Renaissance on European art"
- "What are the pros and cons of different renewable energy sources?"
## How It Works
1. **Question Analysis**: The system analyzes the main question and breaks it down into sub-questions
2. **Iterative Search**: For each sub-question, the system performs searches using Brave Search API
3. **Result Analysis**: The system analyzes the search results to extract relevant information
4. **Synthesis**: The system combines the findings into a coherent report
5. **Citation**: All information is properly cited with sources
## Development
### Setup
```bash
git clone https://github.com/tositon/open-deep-research.git
cd open-deep-research
npm install
```
### Build
```bash
npm run build
```
### Run in Development Mode
```bash
BRAVE_API_KEY=your_api_key npm run dev
```
## Testing
### Testing with MCP Inspector
Для тестирования MCP сервера можно использовать MCP Inspector, который предоставляет удобный интерфейс для взаимодействия с инструментами:
```bash
# Установка и запуск MCP Inspector
npx @modelcontextprotocol/inspector
# Запуск сервера в другом терминале
BRAVE_API_KEY=your_api_key npm start
```
После запуска Inspector, откройте браузер и перейдите по адресу http://localhost:5173. Подключитесь к WebSocket серверу, используя URL `ws://localhost:3000`.
### Примеры запросов для тестирования инструментов
В интерфейсе MCP Inspector вы можете выбрать инструмент и настроить параметры запроса:
#### Тестирование Brave Web Search
```json
{
"query": "latest quantum computing advancements",
"count": 5
}
```
#### Тестирование Sequential Thinking
```json
{
"thought": "Начинаю анализ проблемы глобального потепления",
"thoughtNumber": 1,
"totalThoughts": 5,
"nextThoughtNeeded": true
}
```
#### Тестирование Deep Research
```json
{
"query": "Сравнение различных источников возобновляемой энергии",
"action": "start",
"maxSubQuestions": 3
}
```
### Testing with Claude or Cursor
После установки сервера через Smithery или локально, вы можете использовать его с Claude Desktop или Cursor, выбрав соответствующий MCP сервер в настройках.
## Publishing on Smithery
To publish the server on the Smithery platform:
1. Ensure the repository is hosted on GitHub and is public
2. Register on the [Smithery](https://smithery.ai/) platform
3. Authenticate via GitHub to connect with the repository
4. Go to the "Deployments" tab on the server page
5. Click the "Deploy on Smithery" button
6. Follow the deployment setup instructions
After publishing, users can install the server using the Smithery CLI:
```bash
npx @smithery/cli install open-deep-research --client claude
```
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Acknowledgments
- Inspired by Perplexity Deep Research
- Built on the Model Context Protocol
- Uses Sequential Thinking approach for structured research
- Powered by Brave Search API