multi-agent-research-poc
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: `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
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:8b> If 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 `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_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.
Frequently asked questions
What is multi-agent-research-poc?
multi-agent-research-poc is 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
How do I install multi-agent-research-poc?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is multi-agent-research-poc open source?
Yes โ it is hosted on GitHub at https://github.com/chin3/Multi-Agent-Research-POC and has 1 stars.
Related MCP tools
๐ OpenHands: Code Less, Make More for the Model Context Protocol. Enhance AI assistants with powerful integrations. Python-based implementation.
Universal memory layer for AI Agents; Announcing OpenMemory MCP - local and secure memory management. Python-based implementation.
ๅบไบๅคงๆจกๅๆญๅปบ็่ๅคฉๆบๅจไบบ๏ผๅๆถๆฏๆ ๅพฎไฟกๅ ฌไผๅทใไผไธๅพฎไฟกๅบ็จใ้ฃไนฆใ้้ ็ญๆฅๅ ฅ๏ผๅฏ้ๆฉChatGPT/Claude/DeepSeek/ๆๅฟไธ่จ/่ฎฏ้ฃๆ็ซ/้ไนๅ้ฎ/ Gemini/GLM-4/Kimi/LinkAI๏ผ่ฝๅค็ๆๆฌใ่ฏญ้ณๅๅพ็๏ผ่ฎฟ้ฎๆไฝ็ณป็ปๅไบ่็ฝ๏ผๆฏๆๅบไบ่ชๆ็ฅ่ฏๅบ่ฟ่กๅฎๅถไผไธๆบ่ฝๅฎขๆใ
An LLM agent that conducts deep research (local and web) on any given topic and generates a long report with citations. Built for the Model Context Protocol to
๐ The fast, Pythonic way to build MCP servers and clients Trusted by 19900+ developers. Trusted by 19900+ developers. Trusted by 19900+ developers.
๐ฅ MaxKB is an open-source platform for building enterprise-grade agents. MaxKB ๆฏๅผบๅคงๆ็จ็ๅผๆบไผไธ็บงๆบ่ฝไฝๅนณๅฐใ for the Model Context Protocol. Enhance AI assistants with po
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP