CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Brave Search Mcp Server

brave/brave-search-mcp-server
1.2k8 toolsauthSTDIOregistry active
Summary

Connects Claude to Brave's Search API with eight distinct tools covering web, local business, image, video, news, and place search, plus AI summarization and LLM context retrieval. You get proper filtering controls for freshness, safe search, language, and result types. The image search returns URLs rather than base64 blobs as of version 2.x, keeping context windows clean. The summarizer tool is a two step process: run a web search with the summary flag enabled, then pass the returned key to generate an AI summary with optional inline citations. Local and place search require Pro API plans for full functionality. Defaults to stdio transport now, but supports HTTP if you set the environment variable.

Install to Claude Code

verified
claude mcp add brave-search --env BRAVE_API_KEY=YOUR_BRAVE_API_KEY -- npx -y @brave/brave-search-mcp-server

Run in your terminal. Replace YOUR_* placeholders with real values; add --scope user to install for every project.

Review the command, arguments, and environment values before installing — MCP servers run with your local permissions.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Verified live against the running server on Jun 10, 2026.

verified live8 tools
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 fo...15 params

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 fo...

Parameters* required
countinteger
Number of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.)default: 10
query*string
Search query (max 400 chars, 50 words)
unitsvalue
The measurement units. If not provided, units are derived from search country.
offsetinteger
Pagination offset (max 9, default 0)default: 0
countrystring
Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.one of ALL · AR · AU · AT · BE · BRdefault: US
gogglesvalue
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).
summaryboolean
This parameter enables summary key generation in web search results. This is required for summarizer to be enabled.
ui_langstring
The language of the UI. The 2 or more character language code for which the search results are provided.one of es-AR · en-AU · de-AT · nl-BE · fr-BE · pt-BRdefault: en-US
freshnessvalue
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.
safesearchstring
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'.one of off · moderate · strictdefault: moderate
spellcheckboolean
Whether to spellcheck the provided query.default: true
search_langstring
Search language preference. The 2 or more character language code for which the search results are provided.one of ar · eu · bn · bg · ca · zh-hansdefault: en
result_filterarray
Result filter (default ['web', 'query'])
extra_snippetsboolean
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.
text_decorationsboolean
Whether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters).default: true
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...15 params

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...

Parameters* required
countinteger
Number of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.)default: 10
query*string
Search query (max 400 chars, 50 words)
unitsvalue
The measurement units. If not provided, units are derived from search country.
offsetinteger
Pagination offset (max 9, default 0)default: 0
countrystring
Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.one of ALL · AR · AU · AT · BE · BRdefault: US
gogglesvalue
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).
summaryboolean
This parameter enables summary key generation in web search results. This is required for summarizer to be enabled.
ui_langstring
The language of the UI. The 2 or more character language code for which the search results are provided.one of es-AR · en-AU · de-AT · nl-BE · fr-BE · pt-BRdefault: en-US
freshnessvalue
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.
safesearchstring
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'.one of off · moderate · strictdefault: moderate
spellcheckboolean
Whether to spellcheck the provided query.default: true
search_langstring
Search language preference. The 2 or more character language code for which the search results are provided.one of ar · eu · bn · bg · ca · zh-hansdefault: en
result_filterarray
Result filter (default ['web', 'query'])
extra_snippetsboolean
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.
text_decorationsboolean
Whether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters).default: true
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...9 params

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...

Parameters* required
countinteger
Number of results (1-50, default 20). Combine this parameter with `offset` to paginate search results.default: 20
query*string
The user's search query. Query cannot be empty. Limited to 400 characters and 50 words.
offsetinteger
Pagination offset (max 9, default 0). Combine this parameter with `count` to paginate search results.default: 0
countrystring
Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.default: US
ui_langstring
User interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110.default: en-US
freshnessvalue
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').
safesearchvalue
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'.default: moderate
spellcheckboolean
Whether to spellcheck provided query.default: true
search_langstring
Search language preference. The 2 or more character language code for which the search results are provided.default: en
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., ![imag...6 params

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., ![imag...

Parameters* required
countinteger
Number of results (1-200, default 50). Combine this parameter with `offset` to paginate search results.default: 50
query*string
The user's search query. Query cannot be empty. Limited to 400 characters and 50 words.
countrystring
Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.default: US
safesearchvalue
Filters search results for adult content. The following values are supported: 'off' - No filtering. 'strict' - Drops all adult content from search results.default: strict
spellcheckboolean
Whether to spellcheck provided query.default: true
search_langstring
Search language preference. The 2 or more character language code for which the search results are provided.default: en
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 t...11 params

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 t...

Parameters* required
countinteger
Number of results (1-50, default 20)default: 20
query*string
Search query (max 400 chars, 50 words)
offsetinteger
Pagination offset (max 9, default 0)default: 0
countrystring
Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.default: US
gogglesvalue
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).
ui_langstring
User interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110.default: en-US
freshnessvalue
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.
safesearchvalue
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'.default: moderate
spellcheckboolean
Whether to spellcheck provided query.default: true
search_langstring
Search language preference. The 2 or more character language code for which the search results are provided.default: en
extra_snippetsboolean
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.default: false
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 m...3 params

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 m...

Parameters* required
key*string
The key is equal to value of field key as part of the Summarizer response model.
entity_infoboolean
Returns extra entities info with the summary response.default: false
inline_referencesboolean
Adds inline references to the summary response.default: false
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 —...26 params

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 —...

Parameters* required
countinteger
The maximum number of search results considered to select the LLM context data. The default is 20 and the maximum is 50.
query*string
The user's search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query.
acceptstring
The default supported media type is application/json.one of application/json · */*
countrystring
The search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.one of AR · AU · AT · BE · BR · CA
gogglesvalue
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).
freshnessvalue
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.
x-loc-latnumber
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.
spellcheckboolean
Whether to enable spellcheck on the query.
user-agentstring
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-citystring
The generic name of the client city
x-loc-longnumber
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.
api-versionstring
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.
search_langstring
The search language preference. The 2 or more character language code for which the search results are provided.one of ar · eu · bn · bg · ca · zh-hans
x-loc-statestring
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.
enable_localboolean
Whether to enable local recall. Not setting this value means auto-detect and uses local recall if any of the localization headers are provided.
cache-controlstring
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.
x-loc-countrystring
The two letter country code for the client’s country. For a list of country codes, see ISO 3166-1 alpha-2
x-loc-state-namestring
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.
x-loc-postal-codestring
The client’s postal code
context_threshold_modestring
The mode to use to determine the threshold for including content in context. Default is balanced.one of disabled · strict · lenient · balanced
enable_source_metadataboolean
Enable source metadata enrichment (site_name, favicon) in the sources attribute of the response.
maximum_number_of_urlsinteger
Maximum number of different URLs to include in LLM context.
maximum_number_of_tokensinteger
Approximate maximum number of tokens to include in context. The default is 8192 and maximum is 32768.
maximum_number_of_snippetsinteger
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_tokens_per_urlinteger
Maximum number of tokens to include per URL. The default is 4096 and maximum is 8192.
maximum_number_of_snippets_per_urlinteger
Maximum number of snippets to include per URL. The default is 50 and maximum is 100.
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 sh...17 params

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 sh...

Parameters* required
countinteger
Number of results to return. Maximum is 50. Default is 20.
querystring
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.
unitsstring
Units of measurement for distance values. Defaults to 'metric'.one of metric · imperial
acceptstring
The default supported media type is application/json.one of application/json · */*
geolocstring
Optional geolocation token used to refine results.
radiusnumber
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.
countrystring
Two-letter country code (ISO 3166-1 alpha-2) used to scope the search. Defaults to 'US'.one of AR · AU · AT · BE · BR · CA
ui_langstring
User interface language for the response, usually of the form '<language>-<region>'. Defaults to 'en-US'.one of es-AR · en-AU · de-AT · nl-BE · fr-BE · pt-BR
latitudenumber
Latitude of the geographical coordinates around which to search, in degrees (-90 to 90). Typically paired with `longitude`.
locationstring
Location string to search around, used as an alternative to `latitude` and `longitude`. For US locations prefer the form '<city> <state> <country name>' (e.g. 'san francisco ca united states'); for non-US locations use '<city> <country name>' (e.g. 'tokyo japan'). No commas or special characters needed; capitalization does not matter.
longitudenumber
Longitude of the geographical coordinates around which to search, in degrees (-180 to 180). Typically paired with `latitude`.
safesearchstring
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'.one of off · moderate · strict
spellcheckboolean
Whether to apply spellcheck before executing the search. Defaults to true.
user-agentstring
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.
api-versionstring
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.
search_langstring
Language for the search results. Defaults to 'en'.one of ar · eu · bn · bg · ca · zh-hans
cache-controlstring
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.

Brave Search MCP Server

An MCP server implementation that integrates the Brave Search API, providing comprehensive search capabilities including web search, local business search, place search, image search, video search, news search, LLM context, and AI-powered summarization. This project supports both STDIO and HTTP transports, with STDIO as the default mode.

Ask DeepWiki

Migration

1.x to 2.x

Default transport now STDIO

To follow established MCP conventions, the server now defaults to STDIO. If you would like to continue using HTTP, you will need to set the BRAVE_MCP_TRANSPORT environment variable to http, or provide the runtime argument --transport http when launching the server.

Response structure of brave_image_search

Version 1.x of the MCP server would return base64-encoded image data along with image URLs. This dramatically slowed down the response, as well as consumed unnecessarily context in the session. Version 2.x removes the base64-encoded data, and returns a response object that more closely reflects the original Brave Search API response. The updated output schema is defined in src/tools/images/schemas/output.ts.

Tools

Web Search (brave_web_search)

Performs comprehensive web searches with rich result types and advanced filtering options.

Parameters:

  • query (string, required): Search terms (max 400 chars, 50 words)
  • country (string, optional): Country code (default: "US")
  • search_lang (string, optional): Search language (default: "en")
  • ui_lang (string, optional): UI language (default: "en-US")
  • count (number, optional): Results per page (1-20, default: 10)
  • offset (number, optional): Pagination offset (max 9, default: 0)
  • safesearch (string, optional): Content filtering ("off", "moderate", "strict", default: "moderate")
  • freshness (string, optional): Time filter ("pd", "pw", "pm", "py", or date range)
  • text_decorations (boolean, optional): Include highlighting markers (default: true)
  • spellcheck (boolean, optional): Enable spell checking (default: true)
  • result_filter (array, optional): Filter result types (default: ["web", "query"])
  • goggles (array, optional): Custom re-ranking definitions
  • units (string, optional): Measurement units ("metric" or "imperial")
  • extra_snippets (boolean, optional): Get additional excerpts (Pro plans only)
  • summary (boolean, optional): Enable summary key generation for AI summarization

Local Search (brave_local_search)

Searches for local businesses and places with detailed information including ratings, hours, and AI-generated descriptions.

Parameters:

  • Same as brave_web_search with automatic location filtering
  • Automatically includes "web" and "locations" in result_filter

Note: Requires Pro plan for full local search capabilities. Falls back to web search otherwise.

Video Search (brave_video_search)

Searches for videos with comprehensive metadata and thumbnail information.

Parameters:

  • query (string, required): Search terms (max 400 chars, 50 words)
  • country (string, optional): Country code (default: "US")
  • search_lang (string, optional): Search language (default: "en")
  • ui_lang (string, optional): UI language (default: "en-US")
  • count (number, optional): Results per page (1-50, default: 20)
  • offset (number, optional): Pagination offset (max 9, default: 0)
  • spellcheck (boolean, optional): Enable spell checking (default: true)
  • safesearch (string, optional): Content filtering ("off", "moderate", "strict", default: "moderate")
  • freshness (string, optional): Time filter ("pd", "pw", "pm", "py", or date range)

Image Search (brave_image_search)

Searches for images with metadata including URLs, dimensions, and confidence scores.

Parameters:

  • query (string, required): Search terms (max 400 chars, 50 words)
  • country (string, optional): Country code (default: "US")
  • search_lang (string, optional): Search language (default: "en")
  • count (number, optional): Results per page (1-200, default: 50)
  • safesearch (string, optional): Content filtering ("off", "strict", default: "strict")
  • spellcheck (boolean, optional): Enable spell checking (default: true)

News Search (brave_news_search)

Searches for current news articles with freshness controls and breaking news indicators.

Parameters:

  • query (string, required): Search terms (max 400 chars, 50 words)
  • country (string, optional): Country code (default: "US")
  • search_lang (string, optional): Search language (default: "en")
  • ui_lang (string, optional): UI language (default: "en-US")
  • count (number, optional): Results per page (1-50, default: 20)
  • offset (number, optional): Pagination offset (max 9, default: 0)
  • spellcheck (boolean, optional): Enable spell checking (default: true)
  • safesearch (string, optional): Content filtering ("off", "moderate", "strict", default: "moderate")
  • freshness (string, optional): Time filter (default: "pd" for last 24 hours)
  • extra_snippets (boolean, optional): Get additional excerpts (Pro plans only)
  • goggles (array, optional): Custom re-ranking definitions

Summarizer Search (brave_summarizer)

Generates AI-powered summaries from web search results using Brave's summarization API.

Parameters:

  • key (string, required): Summary key from web search results (use summary: true in web search)
  • entity_info (boolean, optional): Include entity information (default: false)
  • inline_references (boolean, optional): Add source URL references (default: false)

Usage: First perform a web search with summary: true, then use the returned summary key with this tool.

Place Search (brave_place_search)

Searches for points of interest (POIs) in a specified geographic area using Brave's Place Search API. Returns rich, structured place data including name, address, opening hours, contact info, ratings, photos, categories, and timezone.

Parameters:

  • query (string, optional): Query string used to refine the POI search (max 400 chars, 50 words). When omitted, returns general points of interest in the supplied area.
  • latitude (number, optional): Latitude of the search center (-90 to 90). Typically paired with longitude.
  • longitude (number, optional): Longitude of the search center (-180 to 180). Typically paired with latitude.
  • location (string, optional): Location string used as an alternative to latitude/longitude. For US locations prefer the form <city> <state> <country name> (e.g., san francisco ca united states); for non-US locations use <city> <country name> (e.g., tokyo japan).
  • radius (number, optional): Search radius around the supplied coordinates, in meters. If omitted, the search is performed globally.
  • count (number, optional): Number of results to return (1-50, default 20).
  • country (string, optional): Two-letter country code (default US).
  • search_lang (string, optional): Search language (default en).
  • ui_lang (string, optional): UI language (default en-US).
  • units (string, optional): Distance units (metric or imperial, default metric).
  • safesearch (string, optional): Safe search level (off, moderate, strict, default strict).
  • spellcheck (boolean, optional): Whether to spellcheck the query (default true).
  • geoloc (string, optional): Optional geolocation token used to refine results.

Optional request headers:

  • api-version (string, optional): Brave API version (YYYY-MM-DD)
  • accept (string, optional): Response media type (application/json or */*)
  • cache-control (string, optional): Use no-cache to request fresh content
  • user-agent (string, optional): User agent originating the request

LLM Context (brave_llm_context)

Retrieves pre-extracted web content optimized for AI agents, LLM grounding, and RAG pipelines.

Parameters:

  • query (string, required): Search query (max 400 chars, 50 words)
  • country (string, optional): Search country code
  • search_lang (string, optional): Search language code
  • count (number, optional): Maximum number of search results considered (1-50)
  • spellcheck (boolean, optional): Enable spell checking
  • maximum_number_of_urls (number, optional): Maximum number of URLs to include (1-50)
  • maximum_number_of_tokens (number, optional): Approximate maximum number of context tokens (1024-32768)
  • maximum_number_of_snippets (number, optional): Maximum number of snippets to include (1-256)
  • context_threshold_mode (string, optional): Threshold mode ("disabled", "strict", "lenient", "balanced")
  • maximum_number_of_tokens_per_url (number, optional): Maximum tokens per URL (512-8192)
  • maximum_number_of_snippets_per_url (number, optional): Maximum snippets per URL (1-100)
  • goggles (string or array, optional): Goggle URL or definition for custom re-ranking
  • freshness (string, optional): Time filter ("pd", "pw", "pm", "py", or date range)
  • enable_local (boolean, optional): Enable local recall
  • enable_source_metadata (boolean, optional): Include source metadata enrichment

Optional request headers:

  • x-loc-lat (number, optional): Client latitude (-90 to 90)
  • x-loc-long (number, optional): Client longitude (-180 to 180)
  • x-loc-city (string, optional): Client city name
  • x-loc-state (string, optional): Client state or region code
  • x-loc-state-name (string, optional): Client state or region name
  • x-loc-country (string, optional): Client country code
  • x-loc-postal-code (string, optional): Client postal code
  • api-version (string, optional): Brave API version (YYYY-MM-DD)
  • accept (string, optional): Response media type ("application/json" or "/")
  • cache-control (string, optional): Use no-cache to request fresh content
  • user-agent (string, optional): User agent originating the request

Configuration

Getting an API Key

  1. Sign up for a Brave Search API account
  2. Choose a plan:
    • Search: The real-time search data your chatbots & agents need to generate answers. Complete search results (URLs, text, news, images, and more), with additional LLM context optimized for AI.
    • Answers: Summarized, completed answers to any question. Answers grounded on a single search or multiple searches for better accuracy & reduced hallucinations.
  3. Generate your API key from the developer dashboard

Environment Variables

The server supports the following environment variables:

  • BRAVE_API_KEY: Your Brave Search API key (required)
  • BRAVE_MCP_TRANSPORT: Transport mode ("http" or "stdio", default: "stdio")
  • BRAVE_MCP_PORT: HTTP server port (default: 8080)
  • BRAVE_MCP_HOST: HTTP server host (default: "0.0.0.0")
  • BRAVE_MCP_LOG_LEVEL: Desired logging level("debug", "info", "notice", "warning", "error", "critical", "alert", or "emergency", default: "info")
  • BRAVE_MCP_ENABLED_TOOLS: When used, specifies a space-separated whitelist for supported tools
  • BRAVE_MCP_DISABLED_TOOLS: When used, specifies a space-separated blacklist for supported tools
  • BRAVE_MCP_STATELESS: HTTP stateless mode (default: "true"). When running on Amazon Bedrock Agentcore, set to "true".

Command Line Options

node dist/index.js [options]

Options:
  --brave-api-key <string>    Brave API key
  --transport <stdio|http>    Transport type (default: stdio)
  --port <number>             HTTP server port (default: 8080)
  --host <string>             HTTP server host (default: 0.0.0.0)
  --logging-level <string>    Desired logging level (one of _debug_, _info_, _notice_, _warning_, _error_, _critical_, _alert_, or _emergency_)
  --enabled-tools             Tools whitelist (only the specified tools will be enabled)
  --disabled-tools            Tools blacklist (included tools will be disabled)
  --stateless  <boolean>      HTTP Stateless flag

Installation

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

Docker

{
  "mcpServers": {
    "brave-search": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "BRAVE_API_KEY", "docker.io/mcp/brave-search"],
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

NPX

{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@brave/brave-search-mcp-server", "--transport", "http"],
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Usage with VS Code

For quick installation, use the one-click installation buttons below:

Install with NPX in VS Code Install with NPX in VS Code Insiders
Install with Docker in VS Code Install with Docker in VS Code Insiders

For manual installation, add the following to your User Settings (JSON) or .vscode/mcp.json:

Docker

{
  "inputs": [
    {
      "password": true,
      "id": "brave-api-key",
      "type": "promptString",
      "description": "Brave Search API Key",
    }
  ],
  "servers": {
    "brave-search": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "BRAVE_API_KEY", "mcp/brave-search"],
      "env": {
        "BRAVE_API_KEY": "${input:brave-api-key}"
      }
    }
  }
}

NPX

{
  "inputs": [
    {
      "password": true,
      "id": "brave-api-key",
      "type": "promptString",
      "description": "Brave Search API Key",
    }
  ],
  "servers": {
    "brave-search-mcp-server": {
      "command": "npx",
      "args": ["-y", "@brave/brave-search-mcp-server", "--transport", "stdio"],
      "env": {
        "BRAVE_API_KEY": "${input:brave-api-key}"
      }
    }
  }
}

Build

Docker

docker build -t mcp/brave-search:latest .

Local Build

npm install
npm run build

Development

Prerequisites

  • Node.js 22.x or higher
  • npm
  • Brave Search API key

Setup

  1. Clone the repository:
git clone https://github.com/brave/brave-search-mcp-server.git
cd brave-search-mcp-server
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Testing via Claude Desktop

Add a reference to your local build in claude_desktop_config.json:

{
  "mcpServers": {
    "brave-search-dev": {
      "command": "node",
      "args": ["C:\\GitHub\\brave-search-mcp-server\\dist\\index.js"], // Verify your path
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Testing via MCP Inspector

  1. Build and start the server:
npm run build
node dist/index.js
  1. In another terminal, start the MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.js

STDIO is the default mode. For HTTP mode testing, add --transport http to the arguments in the Inspector UI.

Available Scripts

  • npm run build: Build the TypeScript project

  • npm run watch: Watch for changes and rebuild

  • npm run format: Format code with Prettier

  • npm run format:check: Check code formatting

  • npm run prepare: Format and build (runs automatically on npm install)

  • npm run inspector: Launch an instance of MCP Inspector

  • npm run inspector:stdio: Launch a instance of MCP Inspector, configured for STDIO

Docker Compose

For local development with Docker:

docker-compose up --build

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

BRAVE_API_KEY*secret

Your API key for the service

Categories
Search & Web Crawling
Registryactive
Package@brave/brave-search-mcp-server
TransportSTDIO
AuthRequired
Tools verifiedJun 10, 2026
UpdatedJun 1, 2026
View on GitHub

Related Search & Web Crawling MCP Servers

View all →
Google Search

com.mcparmory/google-search

Scrape Google search results with SERP data, ads, and knowledge panels
25
Brave Search

io.github.pipeworx-io/brave-search

Brave Search MCP — independent web index (no Google/Bing dependency)
Serper Search and Scrape

marcopesani/mcp-server-serper

Serper MCP Server supporting search and webpage scraping
154
Google Search Console

com.mcparmory/google-search-console

Query search analytics, manage sitemaps, and inspect site URLs and status
25
Google Search Console

acamolese/google-search-console-mcp

Google Search Console MCP server: SEO audits, performance queries, URL inspection, indexing checks.
3
Google Search Console

io.github.sarahpark/google-search-console

Google Search Console MCP server — search analytics, URL inspection, and sitemaps
2