Brave Search MCP Server

by isaacgounton
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Integrates with Brave Search API to provide real-time search capabilities, allowing queries to be performed and results delivered via Server-Sent Events (SSE)

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
-
security - not tested
F
license - not found
-
quality - not tested

A Model Context Protocol server that integrates with Brave Search API to provide real-time search capabilities through Server-Sent Events (SSE).

  1. Features
    1. Prerequisites
      1. Local Development
        1. Docker Deployment
          1. Coolify Deployment
            1. Using the SSE Integration
              1. SSE Endpoint
              2. Messages Endpoint
            2. MCP Usage
              1. Error Handling
                1. Notes