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
Documentation
๐ง 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
...syntax - ๐ Web search via Brave Search API or Brave MCP plugin server
- ๐ง Two collaborating agents:
SearcherandSynthesizer
---
๐ 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
cd MultiResearchPOC2. Install dependencies
pip install -r requirements.txt3. Set up your .env
echo "BRAVE_API_KEY=your_brave_api_key_here" > .envGet your Brave API key at: https://developer.brave.com/api-search/
4. Run Ollama locally
ollama run llama3:8bIf using Docker: make sure to reference the host as
http://host.docker.internal:11434
5. Run the program
python main.pyYou should see:
- A response from the
Searcheragent - A tool call triggered
- Search results pulled from Brave
- A final summary from the
Synthesizeragent
---
๐ Switching Between API and MCP Plugin
Option 1: Brave Search API (default)
Used by default via:
"BraveSearch": call_brave_apiOption 2: Brave MCP Plugin Server
1. Start the plugin server:
npx @modelcontextprotocol/server-brave-search2. Update tools/tool_registry.py:
# "BraveSearch": call_brave_api,
"BraveSearch": call_brave_mcp_server---
๐ฎ Next Steps & Improvements
| Feature | Description |
|---|---|
| ๐ง Add Planner Agent | Dynamically decide which agent/tool to call |
| ๐งฉ Add More Tools | CrunchbaseSearch, TwitterTrends, YouTubeSearch, etc. |
| ๐ Markdown Output | Save session logs for review or integration with Obsidian |
| ๐ผ๏ธ Add UI | Use Chainlit, FastAPI, or Discord bot for interaction |
| ๐ Wrap as API | Convert to a local API for web or CLI usage |
---
๐ Sample Output
๐ค Searcher Response:
BraveSearch({"query": "African AI startups 2024 promising not mainstream"})
๐ 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
- Ollama
- Brave Search API
- Semantic Kernel
- Inspired by AutoGen
---
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 HackathonDisclaimer
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.
Similar MCP
Based on tags & features
Trending MCP
Most active this week