Skip to main content
Glama
enbock

MCP Brave Search Server

by enbock
README.md
# MCP Brave Search Server

> 🌐 **English** | [Deutsch](README_DE.md)

A Model Context Protocol (MCP) server that provides web search capabilities via the Brave Search API.

## Prerequisites

- Node.js (version 18 or higher)
- Brave Search API Key (free from Brave)

## Installation

1. Install dependencies:
```bash
npm install
```

2. Get a Brave API Key:
   - Go to [Brave Search API](https://brave.com/search/api/)
   - Sign up for a free API key
   - Copy the API key

## Configuration for IntelliJ GitHub Copilot Plugin

### Step 1: Set Environment Variable

**Windows (PowerShell):**
```powershell
[System.Environment]::SetEnvironmentVariable('BRAVE_API_KEY', 'your-api-key-here', 'User')
```

Or add it to `~/.config/mcp/mcp.json` (see below).

### Step 2: Configure MCP Server in Copilot Plugin

Create or edit the file `~/.config/mcp/mcp.json` (on Windows: `%USERPROFILE%\.config\mcp\mcp.json`):

```json
{
  "mcpServers": {
    "brave-search": {
      "command": "node",
      "args": ["C:\\Users\\endre\\WebstormProjects\\MCP-Server\\index.js"],
      "env": {
        "BRAVE_API_KEY": "your-brave-api-key-here"
      }
    }
  }
}
```

**Important:** Adjust the path in `args` to match your actual project path.

### Alternative Configuration (if installed globally):

If you want to make the server globally available, you can add a `bin` field to `package.json` and link it with `npm link`.

## Usage

The server provides the following tool:

### `brave_search`

Performs a web search using the Brave Search API.

**Parameters:**
- `query` (string, required): The search query
- `count` (number, optional): Number of results (default: 10, maximum: 20)

**Example:**
```
Search the web for "MCP Protocol Specification"
```

## Benefits of Brave Search API

- **Free**: Generous free tier quota
- **Privacy**: No tracking IDs or user profiling
- **Modern**: Current web indexes
- **Additional Features**: News results are automatically displayed

## Manual Testing

You can manually test the server:

```bash
# First, set the environment variable
$env:BRAVE_API_KEY="your-api-key"

# Start the server
npm start
```

## Troubleshooting

### "BRAVE_API_KEY environment variable is not set"
Make sure you have configured the API key as described above.

### Server doesn't start in Copilot Plugin
1. Check the Copilot plugin logs
2. Ensure the path in `mcp.json` is correct
3. Test if Node.js is available: `node --version`

### Brave API Errors
- Verify that your API key is valid
- Make sure you haven't exceeded your quota
- Check the Brave Search API rate limits

## License

MIT

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusing it with another. The tool's purpose is clear and distinct.

Naming Consistency5/5

The single tool name 'internet_search' follows a clear verb_noun pattern, which is consistent and predictable even though there is only one tool.

Tool Count3/5

The server has only one tool, which feels thin for a typical server, but given the narrow scope of performing web searches, it is borderline acceptable rather than excessive.

Completeness5/5

The domain is web search, and the single tool fully covers that domain by performing searches and returning results. There are no obvious missing operations for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues