MCPInstall
Brave Search SSE logo

Brave Search SSE

by isaacgounton isaacgounton/brave-search-mcp-sse

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

READMEmain

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

More Web Scraping & Data Collection MCP servers

Similar servers from the same category.

BuiltWith

builtwith

Integrates with BuiltWith's technology detection API to identify and analyze web technologies used on specified domains, providing marketers and developers with comprehensive website stack information.

Web Scraping & Data Collection

Provides a bridge to ElfProxy's dynamic IP proxy service for retrieving country-specific proxy IPs, enabling IP rotation, geo-targeting, and bypassing regional restrictions.

WebOptimize

UniFuncs

unifuncs

Provides a bridge to the UniFuncs API for web search and web reading capabilities through TypeScript implementation with Express and NPX commands.

search

Integrates with Bocha, a Chinese search engine, to provide web search capabilities with rich structured data from billions of documents across multiple domains and languages.

search