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.
Server Terkait
Marginalia Search
A search engine for non-commercial content and hidden gems of the internet.
招投标大数据服务
Provides comprehensive import and export trade data query functions, including trend analysis, product statistics, and geographic distribution.
OpenStreetMap
Enhances LLMs with location-based services and geospatial data from OpenStreetMap.
PaperMCP 智能学术论文检索系统
An academic paper search server powered by the OpenAlex API.
LLM Jukebox
Enables LLMs to search, download, and extract information from YouTube music videos.
NullBR MCP Server
A server for searching and retrieving movie and media resource information via the MCP protocol.
USDA api
This server allow you to ask questions with way more accurate nutrition facts.
IndieStack
Search and discover 130+ curated indie SaaS tools from your AI coding assistant
Japan postalcode MCP
An MCP server for searching Japanese postal codes.
Perplexity Ask MCP Server
A connector for the Perplexity API to enable web search within the MCP ecosystem.