Brave Search
A server for Brave Search, enabling web search capabilities via its API.
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-search -
Create a virtual environment and install dependencies using uv:
uv venv source .venv/bin/activate # On Windows, use: .venv\Scripts\activate uv pip install -r requirements.txt -
Set 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.
Related Servers
Open Data Spain MCP
MCP that unifies access to the main Spanish open data sources (BOE, INE, AEMET, Datos.gob.es)
Perplexity Search
Web search and chat completion powered by the Perplexity AI API.
Brave Search
An MCP server for the Brave Search API, providing both web and local search capabilities.
AllTrails
Search for hiking trails and get detailed trail information from AllTrails.
招投标大数据服务
Provides comprehensive information queries for enterprise qualification certificates, including honors, administrative licenses, and profiles.
Campertunity
Search campgrounds around the world on campertunity, check availability, and provide booking links.
MCP Deep Search
A server for performing deep web searches using the @just-every/search library, requiring API keys via an environment file.
Claude Web Search
Provides web search functionality powered by the Claude API from Anthropic.
SerpApi
Retrieve parsed search engine results using the SerpApi API.
Azure AI Agent & Search
Search content using Azure AI Agent Service and Azure AI Search.