Sponsored by Deepsite.site

🧠 AutoGen-Compatible Multi-Agent Research POC with Ollama + BraveSearch

Created By
chin38 months ago
This project is a proof of concept for running a local-first multi-agent system using: 🤖 Local LLMs via Ollama 🧩 Simple function/tool-call detection using <tool_call>... 🔍 Brave Search API or optional Brave MCP plugin server 🧠 Two collaborating agents: Searcher and Synthesizer
Content

🧠 AutoGen-Compatible Multi-Agent Research POC with Ollama + BraveSearch

This project is a proof of concept for a local-first multi-agent system using:

  • 🤖 Local LLMs via Ollama
  • 🧩 Tool-call detection using <tool_call>... syntax
  • 🔍 Web search via Brave Search API or Brave MCP plugin server
  • 🧠 Two collaborating agents: Searcher and Synthesizer

📁 Folder Structure

MultiResearchPOC/
├── main.py                   # Entry point
├── agents/
│   ├── searcher.py           # Ollama-powered research agent
│   └── synthesizer.py        # Summarizer agent
├── tools/
│   ├── tool_parser.py        # Tool call detection logic
│   └── tool_registry.py      # Tool dispatcher (API or MCP)
├── .env                      # Contains BRAVE_API_KEY
└── requirements.txt          # Python dependencies

🚀 Getting Started

1. Clone the project

git clone <your-repo-url>
cd MultiResearchPOC

2. Install dependencies

pip install -r requirements.txt

3. Set up your .env

echo "BRAVE_API_KEY=your_brave_api_key_here" > .env

Get your Brave API key at: https://developer.brave.com/api-search/

4. Run Ollama locally

ollama run llama3:8b

If using Docker: make sure to reference the host as http://host.docker.internal:11434

5. Run the program

python main.py

You should see:

  • A response from the Searcher agent
  • A tool call triggered
  • Search results pulled from Brave
  • A final summary from the Synthesizer agent

🔁 Switching Between API and MCP Plugin

Option 1: Brave Search API (default)

Used by default via:

"BraveSearch": call_brave_api

Option 2: Brave MCP Plugin Server

  1. Start the plugin server:
npx @modelcontextprotocol/server-brave-search
  1. Update tools/tool_registry.py:
# "BraveSearch": call_brave_api,
"BraveSearch": call_brave_mcp_server

🔮 Next Steps & Improvements

FeatureDescription
🧠 Add Planner AgentDynamically decide which agent/tool to call
🧩 Add More ToolsCrunchbaseSearch, TwitterTrends, YouTubeSearch, etc.
📄 Markdown OutputSave session logs for review or integration with Obsidian
🖼️ Add UIUse Chainlit, FastAPI, or Discord bot for interaction
🌐 Wrap as APIConvert to a local API for web or CLI usage

📜 Sample Output

🤖 Searcher Response:
<tool_call>BraveSearch({"query": "African AI startups 2024 promising not mainstream"})</tool_call>

🌐 Tool Output:
• AI 100: ...
• Five African AI startups to watch in 2023 ...

🧠 Final Summary:
- CB Insights lists top private AI companies...
- 5 African startups solving problems in healthcare, marketing...

🙌 Credits


For questions or ideas, open an issue or start a discussion!

🏗️ Built for the Microsoft AI Agents Hackathon This project was created as part of the Microsoft AI Agents Hackathon — a challenge focused on building intelligent, tool-using, autonomous agents powered by open-source and Microsoft technologies.

The goal of this project is to showcase a local-first, multi-agent system that can:

Generate dynamic tool calls

Perform live web research using Brave Search

Collaborate between agents to synthesize useful insights

🔗 Submission: [TBD]

local multi-agent AI research bot | Ollama + Brave + AutoGen | Built for Microsoft AI Agents Hackathon

Disclaimer

This project is a personal proof-of-concept developed entirely outside of my employment, using personal time and tools. It is unrelated to any current or anticipated business activities of my employer and contains no proprietary or confidential information.

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Playwright McpPlaywright MCP server
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
ChatWiseThe second fastest AI chatbot™
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Tavily Mcp
WindsurfThe new purpose-built IDE to harness magic
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Serper MCP ServerA Serper MCP Server
Amap Maps高德地图官方 MCP Server
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
CursorThe AI Code Editor
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
DeepChatYour AI Partner on Desktop
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.