Search the Web for pages, images, news, videos, and more using the Brave Search API.
100K+
8 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Search the Web for pages, images, news, videos, and more using the Brave Search API.
| Attribute | Details |
|---|---|
| Docker Image | mcp/brave-search |
| Author | brave |
| Repository | https://github.com/brave/brave-search-mcp-server |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/brave/brave-search-mcp-server/blob/fd28e3e7b3e1911b4a2ba87a199feb86ec173c60/Dockerfile |
| Commit | fd28e3e7b3e1911b4a2ba87a199feb86ec173c60 |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/brave-search --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
brave_image_search | Brave Image Search |
brave_llm_context | Brave LLM Context |
brave_local_search | Brave Local Search |
brave_news_search | Brave News Search |
brave_place_search | Brave Place Search |
brave_summarizer | Brave Summarizer |
brave_video_search | Brave Video Search |
brave_web_search | Brave Web Search |
brave_image_searchPerforms an image search using the Brave Search API. Helpful for when you need pictures of people, places, things, graphic design ideas, art inspiration, and more. When relaying results in a markdown environment, it may be helpful to include images in the results (e.g., ).
| Parameters | Type | Description |
|---|---|---|
query | string | The user's search query. Query cannot be empty. Limited to 400 characters and 50 words. |
count | integeroptional | Number of results (1-200, default 50). Combine this parameter with offset to paginate search results. |
country | stringoptional | Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries. |
safesearch | stringoptional | Filters search results for adult content. The following values are supported: 'off' - No filtering. 'strict' - Drops all adult content from search results. |
search_lang | stringoptional | Search language preference. The 2 or more character language code for which the search results are provided. |
spellcheck | booleanoptional | Whether to spellcheck provided query. |
This tool interacts with external entities.
brave_llm_contextRetrieves pre-extracted, relevance-ranked web content using Brave's LLM Context API, optimized for AI agents, LLM grounding, and RAG pipelines. Unlike a traditional web search that returns links and short descriptions, this tool returns the actual substance of matching pages — text chunks, tables, code blocks, and structured data — so the model can reason over it directly.
When to use:
- Grounding answers in fresh, relevant web content (RAG)
- Giving an AI agent ready-to-use page content from a single search call
- Question answering and fact-checking against current sources
- Gathering source material for research without manually fetching pages
- When you need the contents of pages, not just titles, descriptions, and URLs
When relaying results in markdown-supporting environments, cite the source URLs from the "sources" map.
| Parameters | Type | Description |
|---|---|---|
query | string | The user's search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query. |
accept | stringoptional | The default supported media type is application/json. |
api-version | stringoptional | The API version to use. This is denoted by the format YYYY-MM-DD. Default is the latest that is available. Read more about API versioning at https://api-dashboard.search.brave.com/documentation/guides/versioning. |
cache-control | stringoptional | Brave Search will return cached content by default. To prevent caching set the Cache-Control header to no-cache. This is currently done as best effort. |
context_threshold_mode | stringoptional | The mode to use to determine the threshold for including content in context. Default is balanced. |
count | integeroptional | The maximum number of search results considered to select the LLM context data. The default is 20 and the maximum is 50. |
country | stringoptional | The search query country, where the results come from. The country string is limited to 2 character country codes of supported countries. |
enable_local | booleanoptional | Whether to enable local recall. Not setting this value means auto-detect and uses local recall if any of the localization headers are provided. |
enable_source_metadata | booleanoptional | Enable source metadata enrichment (site_name, favicon) in the sources attribute of the response. |
freshness | stringoptional | Filters search results by when they were discovered. The following values are supported: 'pd' - Discovered within the last 24 hours. 'pw' - Discovered within the last 7 days. 'pm' - Discovered within the last 31 days. 'py' - Discovered within the last 365 days. 'YYYY-MM-DDtoYYYY-MM-DD' - Timeframe is also supported by specifying the date range e.g. 2022-04-01to2022-07-30. |
goggles | stringoptional | Goggles act as a custom re-ranking on top of Brave's search index. The parameter supports both a url where the Goggle is hosted or the definition of the Goggle. Multiple goggle URLs and/or definitions can be provided in an array. For more details, refer to the Goggles repository (i.e., https://github.com/brave/goggles-quickstart). |
maximum_number_of_snippets | integeroptional | Maximum number of different snippets (or chunks of text) to include in LLM context. The default is 50 and maximum is 256. |
maximum_number_of_snippets_per_url | integeroptional | Maximum number of snippets to include per URL. The default is 50 and maximum is 100. |
maximum_number_of_tokens | integeroptional | Approximate maximum number of tokens to include in context. The default is 8192 and maximum is 32768. |
maximum_number_of_tokens_per_url | integeroptional | Maximum number of tokens to include per URL. The default is 4096 and maximum is 8192. |
maximum_number_of_urls | integeroptional | Maximum number of different URLs to include in LLM context. |
search_lang | stringoptional | The search language preference. The 2 or more character language code for which the search results are provided. |
spellcheck | booleanoptional | Whether to enable spellcheck on the query. |
user-agent | stringoptional | The user agent originating the request. Brave search can utilize the user agent to provide a different experience depending on the device as described by the string. The user agent should follow the commonly used browser agent strings on each platform. For more information on curating user agents, see RFC 9110. |
x-loc-city | stringoptional | The generic name of the client city |
x-loc-country | stringoptional | The two letter country code for the client’s country. For a list of country codes, see ISO 3166-1 alpha-2 |
x-loc-lat | numberoptional | The latitude of the client's geographical location in degrees, to provide relevant local results. The latitude must be greater than or equal to -90.0 degrees and less than or equal to +90.0 degrees. |
x-loc-long | numberoptional | The longitude of the client's geographical location in degrees, to provide relevant local results. The longitude must be greater than or equal to -180.0 and less than or equal to +180.0 degrees. |
x-loc-postal-code | stringoptional | The client’s postal code |
x-loc-state | stringoptional | A code which could be up to three characters, that represent the client's state/region. The region is the first-level subdivision (the broadest or least specific) of the ISO 3166-2 code. |
x-loc-state-name | stringoptional | The name of the client’s state/region. The region is the first-level subdivision (the broadest or least specific) of the ISO 3166-2 code. |
This tool interacts with external entities.
brave_local_searchBrave Local Search API provides enrichments for location search results. Access to this API is available only through the Brave Search API Pro plans; confirm the user's plan before using this tool (if the user does not have a Pro plan, use the brave_web_search tool). Searches for local businesses and places using Brave's Local Search API. Best for queries related to physical locations, businesses, restaurants, services, etc.
Returns detailed information including:
- Business names and addresses
- Ratings and review counts
- Phone numbers and opening hours
Use this when the query implies 'near me', 'in my area', or mentions specific locations (e.g., 'in San Francisco'). This tool automatically falls back to brave_web_search if no local results are found.
| Parameters | Type | Description |
|---|---|---|
query | string | Search query (max 400 chars, 50 words) |
count | integeroptional | Number of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.) |
country | stringoptional | Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries. |
extra_snippets | booleanoptional | A snippet is an excerpt from a page you get as a result of the query, and extra_snippets allow you to get up to 5 additional, alternative excerpts. Only available under Free AI, Base AI, Pro AI, Base Data, Pro Data and Custom plans. |
freshness | stringoptional | Filters search results by when they were discovered. The following values are supported: 'pd' - Discovered within the last 24 hours. 'pw' - Discovered within the last 7 days. 'pm' - Discovered within the last 31 days. 'py' - Discovered within the last 365 days. 'YYYY-MM-DDtoYYYY-MM-DD' - Timeframe is also supported by specifying the date range e.g. 2022-04-01to2022-07-30. |
goggles | stringoptional | Goggles act as a custom re-ranking on top of Brave's search index. The parameter supports both a url where the Goggle is hosted or the definition of the Goggle. Multiple goggle URLs and/or definitions can be provided in an array. For more details, refer to the Goggles repository (i.e., https://github.com/brave/goggles-quickstart). |
offset | integeroptional | Pagination offset (max 9, default 0) |
result_filter | arrayoptional | Result filter (default ['web', 'query']) |
safesearch | stringoptional | Filters search results for adult content. The following values are supported: 'off' - No filtering. 'moderate' - Filters explicit content (e.g., images and videos), but allows adult domains in search results. 'strict' - Drops all adult content from search results. The default value is 'moderate'. |
search_lang | stringoptional | Search language preference. The 2 or more character language code for which the search results are provided. |
spellcheck | booleanoptional | Whether to spellcheck the provided query. |
summary | booleanoptional | This parameter enables summary key generation in web search results. This is required for summarizer to be enabled. |
text_decorations | booleanoptional | Whether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters). |
ui_lang | stringoptional | The language of the UI. The 2 or more character language code for which the search results are provided. |
units | stringoptional | The measurement units. If not provided, units are derived from search country. |
This tool interacts with external entities.
brave_news_searchThis tool searches for news articles using Brave's News Search API based on the user's query. Use it when you need current news information, breaking news updates, or articles about specific topics, events, or entities.
When to use:
- Finding recent news articles on specific topics
- Getting breaking news updates
- Researching current events or trending stories
- Gathering news sources and headlines for analysis
Returns a JSON list of news-related results with title, url, and description. Some results may contain snippets of text from the article.
When relaying results in markdown-supporting environments, always cite sources with hyperlinks.
Examples:
- "According to [Reuters](https://www.reuters.com/technology/china-bans/), China bans uncertified and recalled power banks on planes".
- "The [New York Times](https://www.nytimes.com/2025/06/27/us/technology/ev-sales.html) reports that Tesla's EV sales have increased by 20%".
- "According to [BBC News](https://www.bbc.com/news/world-europe-65910000), the UK government has announced a new policy to support renewable energy".
| Parameters | Type | Description |
|---|---|---|
query | string | Search query (max 400 chars, 50 words) |
count | integeroptional | Number of results (1-50, default 20) |
country | stringoptional | Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries. |
extra_snippets | booleanoptional | A snippet is an excerpt from a page you get as a result of the query, and extra_snippets allow you to get up to 5 additional, alternative excerpts. Only available under Free AI, Base AI, Pro AI, Base Data, Pro Data and Custom plans. |
freshness | stringoptional | Filters search results by when they were discovered. The following values are supported: 'pd' - Discovered within the last 24 hours. 'pw' - Discovered within the last 7 Days. 'pm' - Discovered within the last 31 Days. 'py' - Discovered within the last 365 Days. 'YYYY-MM-DDtoYYYY-MM-DD' - Timeframe is also supported by specifying the date range e.g. 2022-04-01to2022-07-30. |
goggles | stringoptional | Goggles act as a custom re-ranking on top of Brave's search index. The parameter supports both a url where the Goggle is hosted or the definition of the Goggle. Multiple goggle URLs and/or definitions can be provided in an array. For more details, refer to the Goggles repository (i.e., https://github.com/brave/goggles-quickstart). |
offset | integeroptional | Pagination offset (max 9, default 0) |
safesearch | stringoptional | Filters search results for adult content. The following values are supported: 'off' - No filtering. 'moderate' - Filter out explicit content. 'strict' - Filter out explicit and suggestive content. The default value is 'moderate'. |
search_lang | stringoptional | Search language preference. The 2 or more character language code for which the search results are provided. |
spellcheck | booleanoptional | Whether to spellcheck provided query. |
ui_lang | stringoptional | User interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110. |
This tool interacts with external entities.
brave_place_searchSearches Brave's Place Search API. A single call may populate any combination of 'results' (POIs), 'cities', 'addresses', 'streets', and 'location' (the resolved search area), depending on the query's shape.
When to use:
- POIs near coordinates or a named area (e.g. "coffee shops in Paris") -> 'results', each with structured business data (postal address, hours, contact, ratings, photos, categories, timezone).
- Browsing general POIs (omit 'query'; supply 'latitude'+'longitude' or 'location').
- Disambiguating a bare city name (e.g. "springfield") -> 'cities'.
- Resolving a specific address (e.g. "350 5th avenue" with NYC coords) -> 'addresses' (often plus 'streets').
- Looking up a street by name (e.g. "michigan avenue" with Chicago coords) -> 'streets'.
Inputs:
- Anchor the search via 'latitude'+'longitude' or 'location' (or both). With neither, 'query' is required.
- 'addresses' / 'streets' only surface when the query is address-/street-shaped AND geographically anchored.
- 'location' format: US -- '<city> <state> <country>' (e.g. 'san francisco ca united states'); non-US -- '<city> <country>' (e.g. 'tokyo japan'). Capitalization and commas don't matter.
- 'count' caps results (max 50, default 20). 'radius' (meters) biases toward closer results; it does NOT hard-limit the search area.
| Parameters | Type | Description |
|---|---|---|
accept | stringoptional | The default supported media type is application/json. |
api-version | stringoptional | The API version to use. This is denoted by the format YYYY-MM-DD. Default is the latest that is available. Read more about API versioning at https://api-dashboard.search.brave.com/documentation/guides/versioning. |
cache-control | stringoptional | Brave Search will return cached content by default. To prevent caching set the Cache-Control header to no-cache. This is currently done as best effort. |
count | integeroptional | Number of results to return. Maximum is 50. Default is 20. |
country | stringoptional | Two-letter country code (ISO 3166-1 alpha-2) used to scope the search. Defaults to 'US'. |
geoloc | stringoptional | Optional geolocation token used to refine results. |
latitude | numberoptional | Latitude of the geographical coordinates around which to search, in degrees (-90 to 90). Typically paired with longitude. |
location | stringoptional | Location string to search around, used as an alternative to latitude and longitude. For US locations prefer the form ' ' (e.g. 'san francisco ca united states'); for non-US locations use ' ' (e.g. 'tokyo japan'). No commas or special characters needed; capitalization does not matter. |
longitude | numberoptional | Longitude of the geographical coordinates around which to search, in degrees (-180 to 180). Typically paired with latitude. |
query | stringoptional | Query string. Shape influences the response: POI-like queries -> results; bare/ambiguous city names -> cities; address- or street-shaped queries with a geographic anchor -> addresses and/or streets. If omitted, returns general POIs in the supplied area. |
radius | numberoptional | Bias toward results closer to the supplied coordinates, in meters. NOT a hard cutoff -- the API may still return more distant results. If omitted, the search is performed globally. |
safesearch | stringoptional | Safe search level for the query results. 'off' - No filtering. 'moderate' - Filter out explicit content. 'strict' - Filter out explicit and suggestive content. Defaults to 'strict'. |
search_lang | stringoptional | Language for the search results. Defaults to 'en'. |
spellcheck | booleanoptional | Whether to apply spellcheck before executing the search. Defaults to true. |
ui_lang | stringoptional | User interface language for the response, usually of the form '-'. Defaults to 'en-US'. |
units | stringoptional | Units of measurement for distance values. Defaults to 'metric'. |
user-agent | stringoptional | The user agent originating the request. Brave Search can utilize the user agent to provide a different experience depending on the device as described by the string. The user agent should follow the commonly used browser agent strings on each platform. For more information on curating user agents, see RFC 9110. |
This tool interacts with external entities.
brave_summarizerRetrieves AI-generated summaries of web search results using Brave's Summarizer API. This tool processes search results to create concise, coherent summaries of information gathered from multiple sources.
When to use:
- When you need a concise overview of complex topics from multiple sources
- For quick fact-checking or getting key points without reading full articles
- When providing users with summarized information that synthesizes various perspectives
- For research tasks requiring distilled information from web searches
Returns a text summary that consolidates information from the search results. Optional features include inline references to source URLs and additional entity information.
Requirements: Must first perform a web search using brave_web_search with summary=true parameter. Requires a Pro AI subscription to access the summarizer functionality.
| Parameters | Type | Description |
|---|---|---|
key | string | The key is equal to value of field key as part of the Summarizer response model. |
entity_info | booleanoptional | Returns extra entities info with the summary response. |
inline_references | booleanoptional | Adds inline references to the summary response. |
This tool interacts with external entities.
brave_video_searchSearches for videos using Brave's Video Search API and returns structured video results with metadata.
When to use:
- When you need to find videos related to a specific topic, keyword, or query.
- Useful for discovering video content, getting video metadata, or finding videos from specific creators/publishers.
Returns a JSON list of video-related results with title, url, description, duration, and thumbnail_url.
| Parameters | Type | Description |
|---|---|---|
query | string | The user's search query. Query cannot be empty. Limited to 400 characters and 50 words. |
count | integeroptional | Number of results (1-50, default 20). Combine this parameter with offset to paginate search results. |
country | stringoptional | Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries. |
freshness | stringoptional | Filters search results by when they were discovered. The following values are supported: 'pd' - Discovered within the last 24 hours. 'pw' - Discovered within the last 7 days. 'pm' - Discovered within the last 31 days. 'py' - Discovered within the last 365 days. 'YYYY-MM-DDtoYYYY-MM-DD' - timeframe is also supported by specifying the date range (e.g. '2022-04-01to2022-07-30'). |
offset | integeroptional | Pagination offset (max 9, default 0). Combine this parameter with count to paginate search results. |
safesearch | stringoptional | Filters search results for adult content. The following values are supported: 'off' - No filtering. 'moderate' - Filter out explicit content. 'strict' - Filter out explicit and suggestive content. The default value is 'moderate'. |
search_lang | stringoptional | Search language preference. The 2 or more character language code for which the search results are provided. |
spellcheck | booleanoptional | Whether to spellcheck provided query. |
ui_lang | stringoptional | User interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110. |
This tool interacts with external entities.
brave_web_searchPerforms web searches using the Brave Search API and returns comprehensive search results with rich metadata.
When to use:
- General web searches for information, facts, or current topics
- Location-based queries (restaurants, businesses, points of interest)
- News searches for recent events or breaking stories
- Finding videos, discussions, or FAQ content
- Research requiring diverse result types (web pages, images, reviews, etc.)
Returns a JSON list of web results with title, description, and URL.
When the "results_filter" parameter is empty, JSON results may also contain FAQ, Discussions, News, and Video results.
| Parameters | Type | Description |
|---|---|---|
query | string | Search query (max 400 chars, 50 words) |
count | integeroptional | Number of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.) |
country | stringoptional | Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries. |
extra_snippets | booleanoptional | A snippet is an excerpt from a page you get as a result of the query, and extra_snippets allow you to get up to 5 additional, alternative excerpts. Only available under Free AI, Base AI, Pro AI, Base Data, Pro Data and Custom plans. |
freshness | stringoptional | Filters search results by when they were discovered. The following values are supported: 'pd' - Discovered within the last 24 hours. 'pw' - Discovered within the last 7 days. 'pm' - Discovered within the last 31 days. 'py' - Discovered within the last 365 days. 'YYYY-MM-DDtoYYYY-MM-DD' - Timeframe is also supported by specifying the date range e.g. 2022-04-01to2022-07-30. |
goggles | stringoptional | Goggles act as a custom re-ranking on top of Brave's search index. The parameter supports both a url where the Goggle is hosted or the definition of the Goggle. Multiple goggle URLs and/or definitions can be provided in an array. For more details, refer to the Goggles repository (i.e., https://github.com/brave/goggles-quickstart). |
offset | integeroptional | Pagination offset (max 9, default 0) |
result_filter | arrayoptional | Result filter (default ['web', 'query']) |
safesearch | stringoptional | Filters search results for adult content. The following values are supported: 'off' - No filtering. 'moderate' - Filters explicit content (e.g., images and videos), but allows adult domains in search results. 'strict' - Drops all adult content from search results. The default value is 'moderate'. |
search_lang | stringoptional | Search language preference. The 2 or more character language code for which the search results are provided. |
spellcheck | booleanoptional | Whether to spellcheck the provided query. |
summary | booleanoptional | This parameter enables summary key generation in web search results. This is required for summarizer to be enabled. |
text_decorations | booleanoptional | Whether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters). |
ui_lang | stringoptional | The language of the UI. The 2 or more character language code for which the search results are provided. |
units | stringoptional | The measurement units. If not provided, units are derived from search country. |
This tool interacts with external entities.
{
"mcpServers": {
"brave": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRAVE_MCP_TRANSPORT",
"-e",
"BRAVE_API_KEY",
"mcp/brave-search"
],
"env": {
"BRAVE_MCP_TRANSPORT": "stdio",
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}