A server for Brave Search, enabling web search capabilities via its API.
This project implements a Model Context Protocol (MCP) server for Brave Search, allowing integration with AI assistants like Claude.
To install Brave Search MCP server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @thomasvan/mcp-brave-search --client claude
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_here
On Windows, use: set BRAVE_API_KEY=your_api_key_here
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_HERE
with 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.
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.
To make changes to the project:
src
directory as needed.requirements.txt
file if you add or remove dependencies:
uv pip freeze > requirements.txt
The project includes both unit tests and integration tests:
uv pip install pytest pytest-asyncio pytest-cov
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
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
To check test coverage:
python -m pytest --cov=src/mcp_brave_search
If you encounter any issues:
This project is licensed under the MIT License - see the LICENSE file for details.
Search and fetch documentation for popular libraries like Langchain, Llama-Index, and OpenAI using the Serper API, providing updated information for LLMs.
A full-text search server for Jewish texts and literature.
A Model Context Protocol (MCP) server providing access to Google Search Console.
Interact with the Haloscan SEO API for search engine optimization tasks.
A zero-configuration job aggregation service that fetches job listings from major recruitment websites.
RAG Search over your content powered by Inkeep
Search and retrieve academic papers from the arXiv repository via its API.
A comprehensive search API for real-time web search, data extraction, and crawling, requiring a Tavily API key.
Provides access to Typesense search capabilities, requiring a connection to a Typesense server.
Interact with the French government's open data platform (data.gouv.fr) to search for company information.