Brave Search

Brave Search

Search the Web for pages, images, news, videos, and more using the Brave Search API.

100K+

8 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

About

Brave Search MCP Server

Search the Web for pages, images, news, videos, and more using the Brave Search API.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/brave/brave-search-mcp-server/blob/fd28e3e7b3e1911b4a2ba87a199feb86ec173c60/Dockerfile
Commitfd28e3e7b3e1911b4a2ba87a199feb86ec173c60
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/brave-search --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (8)

Tools provided by this ServerShort Description
brave_image_searchBrave Image Search
brave_llm_contextBrave LLM Context
brave_local_searchBrave Local Search
brave_news_searchBrave News Search
brave_place_searchBrave Place Search
brave_summarizerBrave Summarizer
brave_video_searchBrave Video Search
brave_web_searchBrave Web Search

Tools Details

Tool: brave_image_search

Performs 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., image.title).

ParametersTypeDescription
querystringThe user's search query. Query cannot be empty. Limited to 400 characters and 50 words.
countintegeroptionalNumber of results (1-200, default 50). Combine this parameter with offset to paginate search results.
countrystringoptionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
safesearchstringoptionalFilters search results for adult content. The following values are supported: 'off' - No filtering. 'strict' - Drops all adult content from search results.
search_langstringoptionalSearch language preference. The 2 or more character language code for which the search results are provided.
spellcheckbooleanoptionalWhether to spellcheck provided query.

This tool interacts with external entities.


Tool: brave_llm_context

Retrieves 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.
ParametersTypeDescription
querystringThe user's search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query.
acceptstringoptionalThe default supported media type is application/json.
api-versionstringoptionalThe 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-controlstringoptionalBrave 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_modestringoptionalThe mode to use to determine the threshold for including content in context. Default is balanced.
countintegeroptionalThe maximum number of search results considered to select the LLM context data. The default is 20 and the maximum is 50.
countrystringoptionalThe search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
enable_localbooleanoptionalWhether 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_metadatabooleanoptionalEnable source metadata enrichment (site_name, favicon) in the sources attribute of the response.
freshnessstringoptionalFilters 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.
gogglesstringoptionalGoggles 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_snippetsintegeroptionalMaximum 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_urlintegeroptionalMaximum number of snippets to include per URL. The default is 50 and maximum is 100.
maximum_number_of_tokensintegeroptionalApproximate maximum number of tokens to include in context. The default is 8192 and maximum is 32768.
maximum_number_of_tokens_per_urlintegeroptionalMaximum number of tokens to include per URL. The default is 4096 and maximum is 8192.
maximum_number_of_urlsintegeroptionalMaximum number of different URLs to include in LLM context.
search_langstringoptionalThe search language preference. The 2 or more character language code for which the search results are provided.
spellcheckbooleanoptionalWhether to enable spellcheck on the query.
user-agentstringoptionalThe 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-citystringoptionalThe generic name of the client city
x-loc-countrystringoptionalThe two letter country code for the client’s country. For a list of country codes, see ISO 3166-1 alpha-2
x-loc-latnumberoptionalThe 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-longnumberoptionalThe 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-codestringoptionalThe client’s postal code
x-loc-statestringoptionalA 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-namestringoptionalThe 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.


Tool: brave_local_search

Brave 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.
ParametersTypeDescription
querystringSearch query (max 400 chars, 50 words)
countintegeroptionalNumber of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.)
countrystringoptionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
extra_snippetsbooleanoptionalA 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.
freshnessstringoptionalFilters 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.
gogglesstringoptionalGoggles 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).
offsetintegeroptionalPagination offset (max 9, default 0)
result_filterarrayoptionalResult filter (default ['web', 'query'])
safesearchstringoptionalFilters 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_langstringoptionalSearch language preference. The 2 or more character language code for which the search results are provided.
spellcheckbooleanoptionalWhether to spellcheck the provided query.
summarybooleanoptionalThis parameter enables summary key generation in web search results. This is required for summarizer to be enabled.
text_decorationsbooleanoptionalWhether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters).
ui_langstringoptionalThe language of the UI. The 2 or more character language code for which the search results are provided.
unitsstringoptionalThe measurement units. If not provided, units are derived from search country.

This tool interacts with external entities.


Tool: brave_news_search

This 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".
ParametersTypeDescription
querystringSearch query (max 400 chars, 50 words)
countintegeroptionalNumber of results (1-50, default 20)
countrystringoptionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
extra_snippetsbooleanoptionalA 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.
freshnessstringoptionalFilters 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.
gogglesstringoptionalGoggles 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).
offsetintegeroptionalPagination offset (max 9, default 0)
safesearchstringoptionalFilters 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_langstringoptionalSearch language preference. The 2 or more character language code for which the search results are provided.
spellcheckbooleanoptionalWhether to spellcheck provided query.
ui_langstringoptionalUser interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110.

This tool interacts with external entities.


Tool: brave_place_search

Searches 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.
ParametersTypeDescription
acceptstringoptionalThe default supported media type is application/json.
api-versionstringoptionalThe 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-controlstringoptionalBrave 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.
countintegeroptionalNumber of results to return. Maximum is 50. Default is 20.
countrystringoptionalTwo-letter country code (ISO 3166-1 alpha-2) used to scope the search. Defaults to 'US'.
geolocstringoptionalOptional geolocation token used to refine results.
latitudenumberoptionalLatitude of the geographical coordinates around which to search, in degrees (-90 to 90). Typically paired with longitude.
locationstringoptionalLocation 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.
longitudenumberoptionalLongitude of the geographical coordinates around which to search, in degrees (-180 to 180). Typically paired with latitude.
querystringoptionalQuery 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.
radiusnumberoptionalBias 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.
safesearchstringoptionalSafe 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_langstringoptionalLanguage for the search results. Defaults to 'en'.
spellcheckbooleanoptionalWhether to apply spellcheck before executing the search. Defaults to true.
ui_langstringoptionalUser interface language for the response, usually of the form '-'. Defaults to 'en-US'.
unitsstringoptionalUnits of measurement for distance values. Defaults to 'metric'.
user-agentstringoptionalThe 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.


Tool: brave_summarizer

Retrieves 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.
ParametersTypeDescription
keystringThe key is equal to value of field key as part of the Summarizer response model.
entity_infobooleanoptionalReturns extra entities info with the summary response.
inline_referencesbooleanoptionalAdds inline references to the summary response.

This tool interacts with external entities.


Tool: brave_video_search

Searches 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.
ParametersTypeDescription
querystringThe user's search query. Query cannot be empty. Limited to 400 characters and 50 words.
countintegeroptionalNumber of results (1-50, default 20). Combine this parameter with offset to paginate search results.
countrystringoptionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
freshnessstringoptionalFilters 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').
offsetintegeroptionalPagination offset (max 9, default 0). Combine this parameter with count to paginate search results.
safesearchstringoptionalFilters 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_langstringoptionalSearch language preference. The 2 or more character language code for which the search results are provided.
spellcheckbooleanoptionalWhether to spellcheck provided query.
ui_langstringoptionalUser interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110.

This tool interacts with external entities.


Tool: brave_web_search

Performs 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.
ParametersTypeDescription
querystringSearch query (max 400 chars, 50 words)
countintegeroptionalNumber of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.)
countrystringoptionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
extra_snippetsbooleanoptionalA 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.
freshnessstringoptionalFilters 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.
gogglesstringoptionalGoggles 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).
offsetintegeroptionalPagination offset (max 9, default 0)
result_filterarrayoptionalResult filter (default ['web', 'query'])
safesearchstringoptionalFilters 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_langstringoptionalSearch language preference. The 2 or more character language code for which the search results are provided.
spellcheckbooleanoptionalWhether to spellcheck the provided query.
summarybooleanoptionalThis parameter enables summary key generation in web search results. This is required for summarizer to be enabled.
text_decorationsbooleanoptionalWhether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters).
ui_langstringoptionalThe language of the UI. The 2 or more character language code for which the search results are provided.
unitsstringoptionalThe measurement units. If not provided, units are derived from search country.

This tool interacts with external entities.


Use this MCP Server

{
  "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"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Related servers