๐ง AutoGen-Compatible Multi-Agent Research POC with Ollama + BraveSearch
LocalAbout ๐ง AutoGen-Compatible Multi-Agent Research POC with Ollama + BraveSearch
A local-first research proof of concept that coordinates an Ollama-powered Searcher and Synthesizer to find and summarize web information. It is for developers exploring multi-agent research with Brave Search and optional MCP-based tool calls.
Key features
- 01Local LLMs through Ollama
- 02Searcher and Synthesizer agents
- 03Brave Search API integration
- 04Optional Brave MCP plugin server
- 05Tool-call parsing and dispatch
Use cases
- 01Run web research and produce a summary
- 02Experiment with a two-agent research workflow
MCP support
MCP is an optional way to invoke Brave Search: the tool registry can be switched from the Brave Search API to the Brave MCP plugin server.
Configuration
Local server config is the same for every client. Copy it into your clientโs MCP config file.
We havenโt collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README๐ง 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:
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 <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
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_api
Option 2: Brave MCP Plugin Server
- Start the plugin server:
npx @modelcontextprotocol/server-brave-search
- 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:
<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
- 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 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.