Brave Search SSE

by isaacgounton

Not rated
GitHub

About

Delivers real-time Brave Search results via Server-Sent Events (SSE), maintaining persistent connections for immediate display without polling requirements.

Details

Author
isaacgounton
Repository
etugrand/Brave-Search-MCP-SSE
Categories
Developer Tools, Design, AI, Media, Search, API, Frontend
Tags
#web

- Brave Search API integration through MCP
- Real-time search results using SSE
- Docker and Coolify ready
- TypeScript implementation
- Express.js SSE endpoint

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 Brave Search SSE
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @highlight/mcp-server

    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

1. Build and run using docker-compose:

   docker-compose up --build

1. In your Coolify dashboard, create a new service
2. Choose "Deploy from Source"
3. Configure the following:
- Repository URL: Your repository URL
- Branch: main
- Build Command: npm run build
- Start Command: npm start
- Port: 3001
- Environment Variables:
- BRAVE_API_KEY=your_api_key_here
- PORT=3001

The server provides the following MCP tool:

- brave_web_search: Performs a web search using the Brave Search API

  {
query: string; // Search query
count?: number; // Number of results (1-20, default: 10)
}

brave_web_search

Performs a web search using the Brave Search API. Parameters: query (string) - the search query; count (optional number) - number of results (1-20, default: 10)

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "brave search sse": {
            "env": {},
            "args": [
                "-y",
                "@highlight/mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "cmd"
}

Brave Search MCP with SSE Support

This is a Model Context Protocol (MCP) server that provides Brave Search capabilities with Server-Sent Events (SSE) integration. It can be deployed to Coolify and used as a real-time search service.

Features

- Brave Search API integration through MCP
- Real-time search results using SSE
- Docker and Coolify ready
- TypeScript implementation
- Express.js SSE endpoint

Prerequisites

- Brave Search API key
- Node.js 18+
- Docker (for containerized deployment)
- Coolify instance

Local Development

1. Clone the repository
2. Create a .env file with your Brave API key:

   BRAVE_API_KEY=your_api_key_here
PORT=3001

3. Install dependencies:
   npm install

4. Start development server:
   npm run dev

Docker Deployment

1. Build and run using docker-compose:

   docker-compose up --build

Coolify Deployment

1. In your Coolify dashboard, create a new service
2. Choose "Deploy from Source"
3. Configure the following:
- Repository URL: Your repository URL
- Branch: main
- Build Command: npm run build
- Start Command: npm start
- Port: 3001
- Environment Variables:
- BRAVE_API_KEY=your_api_key_here
- PORT=3001

Using the SSE Integration

SSE Endpoint

GET http://your-server:3001/sse

The SSE endpoint provides real-time search results. Connect to it using the EventSource API:

const eventSource = new EventSource('http://your-server:3001/sse');

eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
// Handle the search results
console.log(data);
};

eventSource.onerror = (error) => {
console.error('SSE Error:', error);
eventSource.close();
};

Messages Endpoint

POST http://your-server:3001/messages
Content-Type: application/json

{
"query": "your search query",
"count": 10 // optional, default: 10, max: 20
}

Use this endpoint to trigger searches that will be broadcast to all connected SSE clients.

MCP Usage

The server provides the following MCP tool:

- brave_web_search: Performs a web search using the Brave Search API

  {
query: string; // Search query
count?: number; // Number of results (1-20, default: 10)
}

Error Handling

- The server broadcasts errors to all connected SSE clients
- Errors are formatted as:

  {
"type": "error",
"error": "error message"
}

Notes

- The SSE connection will stay open until the client closes it
- Each search result is broadcast to all connected clients
- The server automatically handles disconnections and cleanup
- For production deployment, consider implementing authentication for the messages endpoint

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.