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

by chin3

344 downloads
Not rated
GitHub

About

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 Synthesize

Details

Author
chin3
Downloads
344
Categories
AI

- Local-first multi-agent system with Searcher and Synthesizer agents
- Web search via Brave Search API or Brave MCP plugin server
- Tool-call detection using <tool_call> syntax
- Supports switching between API and MCP backends
- Designed for the Microsoft AI Agents Hackathon

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name 🧠 AutoGen-Compatible Multi-Agent Research POC with Ollama + BraveSearch
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repo, install Python dependencies (pip install -r requirements.txt), set a BRAVE_API_KEY in .env, run Ollama locally (ollama run llama3:8b), then execute python main.py. To switch from the default Brave Search API to the Brave MCP plugin, start the plugin server (npx @modelcontextprotocol/server-brave-search) and update tools/tool_registry.py.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "\ud83e\udde0 autogen-compatible multi-agent research poc with ollama + bravesearch": {
            "Multi-Agent-Research-POC": {
                "command": "python",
                "args": [
                    "main.py"
                ]
            }
        }
    }
}

McpServers

{
    "Multi-Agent-Research-POC": {
        "command": "python",
        "args": [
            "main.py"
        ]
    }
}

🧠 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

2. Update tools/tool_registry.py:

```python

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.