Brave Search MCP Server
This project implements a Model Context Protocol (MCP) server for Brave Search, allowing integration with AI assistants like Claude.
Prerequisites
- Python 3.11+
- uv - A fast Python package installer and resolver
Installation
Installing via Smithery
To install Brave Search MCP server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @thomasvan/mcp-brave-search --client claude
Manual Installation
Clone the repository:
git clone https://github.com/thomasvan/mcp-brave-search.git cd mcp-brave-searchCreate a virtual environment and install dependencies using uv:
uv venv source .venv/bin/activate # On Windows, use: .venvScriptsactivate uv pip install -r requirements.txtSet up your Brave Search API key:
export BRAVE_API_KEY=your_api_key_hereOn Windows, use:
set BRAVE_API_KEY=your_api_key_here
Usage
Configure your MCP settings file (e.g.,
claude_desktop_config.json) to include the Brave Search MCP server:{ "mcpServers": { "brave-search": { "command": "uv", "args": [ "--directory", "path-to\mcp-python\mcp-brave-search\src", "run", "server.py" ], "env": { "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY_HERE" } } } }Replace
YOUR_BRAVE_API_KEY_HEREwith your actual Brave API key.Start the Brave Search MCP server by running your MCP-compatible AI assistant with the updated configuration.
The server will now be running and ready to accept requests from MCP clients.
You can now use the Brave Search functionality in your MCP-compatible AI assistant (like Claude) by invoking the available tools.
Available Tools
The server provides two main tools:
brave_web_search: Performs a web search using the Brave Search API.brave_local_search: Searches for local businesses and places.
Refer to the tool docstrings in src/server.py for detailed usage information.
Development
To make changes to the project:
- Modify the code in the
srcdirectory as needed. - Update the
requirements.txtfile if you add or remove dependencies:uv pip freeze > requirements.txt - Restart the server to apply changes.
Testing
The project includes both unit tests and integration tests:
Installing Test Dependencies
uv pip install pytest pytest-asyncio pytest-cov
Running Unit Tests
Unit tests can be run without an API key and use mocks to simulate API responses:
# Run all unit tests
python -m pytest tests/unit/
# Run with verbose output
python -m pytest tests/unit/ -v
Running Integration Tests
Integration tests require a valid Brave API key and make real API calls:
# Run integration tests with your API key
BRAVE_API_KEY_INTEGRATION="your_api_key_here" python -m pytest tests/integration/ -v
Test Coverage
To check test coverage:
python -m pytest --cov=src/mcp_brave_search
Troubleshooting
If you encounter any issues:
- Ensure your Brave API key is correctly set.
- Check that all dependencies are installed.
- Verify that you’re using a compatible Python version.
- If you make changes to the code, make sure to restart the server.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Brave Search Server
Project Details
- thomasvan/mcp-brave-search
- MIT License
- Last Updated: 4/26/2025
Recomended MCP Servers
MCP Server to interact with flutterwave
A Model Context Protocol (MCP) server that enables secure interaction with MySQL databases
my-first-mcp
An MCP server for the Podbean API
A Python-based MCP for use in exposing Notion functionality to LLMs (Claude)
MCP server for anki
A Slack MCP server
IMAP Model Context Protocol server for interactive email processing
A phone control plugin for MCP that allows you to control your Android phone through ADB commands to...





