Sign inSign up

mcp/brave-search

Verified Publisher

By mcp

Updated 3 months ago

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

Image
Machine learning & AI
26

100K+

mcp/brave-search repository overview

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

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.
countinteger optionalNumber of results (1-200, default 50). Combine this parameter with offset to paginate search results.
countrystring optionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
safesearchstring optionalFilters search results for adult content. The following values are supported: 'off' - No filtering. 'strict' - Drops all adult content from search results.
search_langstring optionalSearch language preference. The 2 or more character language code for which the search results are provided.
spellcheckboolean optionalWhether 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.
acceptstring optionalThe default supported media type is application/json.
api-versionstring optionalThe 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-controlstring optionalBrave 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_modestring optionalThe mode to use to determine the threshold for including content in context. Default is balanced.
countinteger optionalThe maximum number of search results considered to select the LLM context data. The default is 20 and the maximum is 50.
countrystring optionalThe search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
enable_localboolean optionalWhether 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_metadataboolean optionalEnable source metadata enrichment (site_name, favicon) in the sources attribute of the response.
freshnessstring optionalFilters 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.
gogglesstring optionalGoggles 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_snippetsinteger optionalMaximum 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_urlinteger optionalMaximum number of snippets to include per URL. The default is 50 and maximum is 100.
maximum_number_of_tokensinteger optionalApproximate maximum number of tokens to include in context. The default is 8192 and maximum is 32768.
maximum_number_of_tokens_per_urlinteger optionalMaximum number of tokens to include per URL. The default is 4096 and maximum is 8192.
maximum_number_of_urlsinteger optionalMaximum number of different URLs to include in LLM context.
search_langstring optionalThe search language preference. The 2 or more character language code for which the search results are provided.
spellcheckboolean optionalWhether to enable spellcheck on the query.
user-agentstring optionalThe 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-citystring optionalThe generic name of the client city
x-loc-countrystring optionalThe two letter country code for the client’s country. For a list of country codes, see ISO 3166-1 alpha-2
x-loc-latnumber optionalThe 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-longnumber optionalThe 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-codestring optionalThe client’s postal code
x-loc-statestring optionalA 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-namestring optionalThe 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 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)
countinteger optionalNumber of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.)
countrystring optionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
extra_snippetsboolean optionalA 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.
freshnessstring optionalFilters 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.
gogglesstring optionalGoggles 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).
offsetinteger optionalPagination offset (max 9, default 0)
result_filterarray optionalResult filter (default ['web', 'query'])
safesearchstring optionalFilters 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_langstring optionalSearch language preference. The 2 or more character language code for which the search results are provided.
spellcheckboolean optionalWhether to spellcheck the provided query.
summaryboolean optionalThis parameter enables summary key generation in web search results. This is required for summarizer to be enabled.
text_decorationsboolean optionalWhether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters).
ui_langstring optionalThe language of the UI. The 2 or more character language code for which the search results are provided.
unitsstring optionalThe measurement units. If not provided, units are derived from search country.

This tool interacts with external entities.


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)
countinteger optionalNumber of results (1-50, default 20)
countrystring optionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
extra_snippetsboolean optionalA 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.
freshnessstring optionalFilters 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.
gogglesstring optionalGoggles 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).
offsetinteger optionalPagination offset (max 9, default 0)
safesearchstring optionalFilters 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_langstring optionalSearch language preference. The 2 or more character language code for which the search results are provided.
spellcheckboolean optionalWhether to spellcheck provided query.
ui_langstring optionalUser interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110.

This tool interacts with external entities.


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
acceptstring optionalThe default supported media type is application/json.
api-versionstring optionalThe 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-controlstring optionalBrave 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.
countinteger optionalNumber of results to return. Maximum is 50. Default is 20.
countrystring optionalTwo-letter country code (ISO 3166-1 alpha-2) used to scope the search. Defaults to 'US'.
geolocstring optionalOptional geolocation token used to refine results.
latitudenumber optionalLatitude of the geographical coordinates around which to search, in degrees (-90 to 90). Typically paired with longitude.
locationstring optionalLocation 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.
longitudenumber optionalLongitude of the geographical coordinates around which to search, in degrees (-180 to 180). Typically paired with latitude.
querystring optionalQuery 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.
radiusnumber optionalBias 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.
safesearchstring optionalSafe 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_langstring optionalLanguage for the search results. Defaults to 'en'.
spellcheckboolean optionalWhether to apply spellcheck before executing the search. Defaults to true.
ui_langstring optionalUser interface language for the response, usually of the form '-'. Defaults to 'en-US'.
unitsstring optionalUnits of measurement for distance values. Defaults to 'metric'.
user-agentstring optionalThe 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_infoboolean optionalReturns extra entities info with the summary response.
inline_referencesboolean optionalAdds inline references to the summary response.

This tool interacts with external entities.


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.
countinteger optionalNumber of results (1-50, default 20). Combine this parameter with offset to paginate search results.
countrystring optionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
freshnessstring optionalFilters 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').
offsetinteger optionalPagination offset (max 9, default 0). Combine this parameter with count to paginate search results.
safesearchstring optionalFilters 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_langstring optionalSearch language preference. The 2 or more character language code for which the search results are provided.
spellcheckboolean optionalWhether to spellcheck provided query.
ui_langstring optionalUser interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110.

This tool interacts with external entities.


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)
countinteger optionalNumber of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.)
countrystring optionalSearch query country, where the results come from. The country string is limited to 2 character country codes of supported countries.
extra_snippetsboolean optionalA 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.
freshnessstring optionalFilters 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.
gogglesstring optionalGoggles act as a cust

[...]

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:f58a5c22c

Size

66.4 MB

Last updated

3 months ago

docker pull mcp/brave-search

This week's pulls

Pulls:

3,306

Sep 7 to Sep 13