🔍 Agentic Deep Researcher
An MCP-powered multi-agent deep researcher that performs comprehensive web searches using LinkUp API and provides detailed, fast responses using an optimized Ollama setup.
YOU NEED TO HAVE OLLAMA INSTALLED ON YOUR LOCAL MACHINE TO MAKE IT WORK.
✨ Features
- ⚡ Fast & Detailed: Optimized for speed while maintaining comprehensive responses
- 🌐 LinkUp Integration: Deep web search capabilities
- 🤖 Qwen3 1.7B Model: Optimized local LLM via Ollama
- 💻 Streamlit UI: Clean, interactive web interface
- 🔧 MCP Server: Integration with VS Code and other MCP clients
- 📊 Structured Output: Professional formatting with citations
🚀 Quick Start
📋 Prerequisites
- Python 3.11+
- Ollama with qwen3:1.7b model
- LinkUp API key
🛠️ Installation
-
Install dependencies:
uv sync -
Start Ollama:
ollama serve -
Run the application:
streamlit run app.py -
Open your browser to
http://localhost:8501 -
Enter your LinkUp API key in the sidebar
📖 Usage
🌐 Web Interface
- Open the Streamlit app
- Enter your LinkUp API key
- Ask any research question
- Get comprehensive, structured responses
🔧 MCP Server
Add this to your .cursor/mcp.json:
{
"mcpServers": {
"crew_research": {
"command": "uv",
"args": [
"--directory",
"d:\\mcp",
"run",
"server.py"
],
"env": {
"LINKUP_API_KEY": "your_linkup_api_key_here"
}
}
}
}
📁 Project Structure
.
├── app.py # Streamlit web application
├── optimized_research.py # Core research engine
├── server.py # MCP server implementation
├── pyproject.toml # Project dependencies
├── README.md # This file
├── .env.example # Environment variables template
└── .gitignore # Git ignore rules
⚡ Performance Optimizations
- Speed: 40-60% faster than standard implementations
- No Thinking Delays: Automatic removal of model thinking artifacts
- Structured Output: Professional formatting with sections
- Resource Efficient: Optimized CPU and memory usage
📸 Demo
Streamlit Interface
🤝 Contributing
We welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Development Setup
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- LinkUp for powerful web search capabilities
- Ollama for local LLM inference
- Streamlit for the beautiful web interface
- FastMCP for MCP server implementation
📞 Support
If you have any questions or need help getting started:
- Open an issue
- Check the documentation
- Join our discussions
