brave
Server Details
Visit https://brave.com/search/api/ for a free API key. Search the web, local businesses, images,…
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- brave/brave-search-mcp-server
- GitHub Stars
- 1,451
- Server Listing
- Brave Search MCP Server
TDQS
Scored across 8 tools
Most tools target distinct search types (image, web, news, video), but brave_local_search and brave_place_search overlap heavily in local/POI retrieval, and brave_llm_context vs brave_web_search could be confused despite descriptions. The two-step chaining tools (brave_summarizer, brave_local_search) are clearly distinguished by their required prior-call dependencies.
All eight tools use a consistent snake_case brave_<type>_search or brave_<function> pattern (brave_image_search, brave_web_search, brave_news_search, brave_video_search, brave_local_search, brave_place_search, brave_summarizer, brave_llm_context). No deviations in casing or style.
Eight tools is well-scoped for a search API covering distinct verticals (web, image, news, video, local, place) plus two derived-content tools. Each tool earns its place without redundancy.
Covers most Brave Search verticals but omits some known APIs (e.g., spellcheck, suggest, or direct summarizer without two-step). The two-step flows for summarizer and local search create minor usability gaps, though they reflect API design rather than tool surface incompleteness.
Available Tools
8 toolsbrave_image_searchImage searchARead-onlyInspect
Performs an image search using the Brave Search API. Helpful when you need pictures of people, places, things, graphic-design ideas, or art inspiration. Counts of up to 100 are supported.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query (max 400 characters and 50 words). | |
| count | No | Number of results (max 100; default 50). | |
| country | No | 2-letter country code (ISO 3166-1 alpha-2). Defaults to US. | |
| safesearch | No | Filter level for adult content. | |
| spellcheck | No | Whether to spellcheck the query. | |
| search_lang | No | 2-letter language code for the search. Defaults to en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, etc. The description adds context about maximum count (100) but does not detail response format or other behavioral traits. For a read-only tool with annotations, this is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded with purpose. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple image search with good annotations and schema coverage, the description is sufficiently complete. It could mention output format (e.g., URLs, thumbnails) but is not necessary given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema, though it mentions 'counts of up to 100' which aligns with the count parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs an image search and gives examples of use cases. However, it does not explicitly differentiate from sibling tools like brave_video_search or brave_web_search, though the name implies image-specific functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Helpful when you need pictures...' which implies use cases but does not specify when not to use or mention alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_llm_contextLLM context retrieval (RAG)ARead-onlyInspect
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 relaying results in markdown-supporting environments, cite source URLs from the sources map.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Maximum number of search results considered to select the LLM context data. Default 20, max 50. | |
| query | Yes | The user's search query. Max 400 characters and 50 words. | |
| country | No | 2-letter country code (ISO 3166-1 alpha-2). Defaults to US. | |
| freshness | No | Filter results by recency. Use pd, pw, pm, py, or YYYY-MM-DDtoYYYY-MM-DD. | |
| spellcheck | No | Whether to spellcheck the query. | |
| search_lang | No | 2-letter language code for the search. Defaults to en. | |
| enable_local | No | Whether to enable local recall. | |
| context_threshold_mode | No | Mode used to determine the inclusion threshold for content. | |
| enable_source_metadata | No | Enable source metadata enrichment (site_name, favicon) in the sources attribute. | |
| maximum_number_of_urls | No | Maximum number of different URLs to include in LLM context. | |
| maximum_number_of_tokens | No | Approximate maximum number of tokens to include in context. Default 8192, max 32768. | |
| maximum_number_of_snippets | No | Maximum number of snippets (chunks of text) to include in LLM context. Default 50, max 256. | |
| maximum_number_of_tokens_per_url | No | Maximum number of tokens to include per URL. Default 4096, max 8192. | |
| maximum_number_of_snippets_per_url | No | Maximum number of snippets to include per URL. Default 50, max 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds that it returns text chunks, tables, code blocks, and a sources map, providing useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with core functionality, each sentence adds distinct value (purpose, differentiation, usage guidance). No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given high schema coverage and read-only annotations, the description adequately covers tool behavior. Could mention response structure more, but sufficient for a RAG tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameter semantics are well-documented in schema. Description does not add extra parameter-specific meaning beyond schema, earning baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves pre-extracted, relevance-ranked web content using Brave's LLM Context API, optimized for AI agents and RAG, distinguishing it from traditional web search by returning actual content chunks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly contrasts with traditional web search, indicating when to use this tool over siblings like brave_web_search. Provides citation guidance but lacks explicit when-not usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_local_searchLocal POI search (enrichment)ARead-onlyInspect
Brave Local Search API returns enriched information (address, phone, hours, rating) for location-search results. Access requires the Brave Search API Pro plan; currently US-only. Two-step flow: first call brave_web_search with result_filter=locations to obtain locations.results[].id, then pass them here. NOTE: This tool takes location IDs from a prior web-search response; if you have a free-text query, call brave_web_search first.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | One or more location IDs returned by a prior `brave_web_search` with `result_filter=locations`. Up to 20 IDs per call. | |
| units | No | Measurement system. | |
| ui_lang | No | User interface language for the response, in the form <lang>-<country> (e.g. en-US). | |
| search_lang | No | 2-letter language code for the search. Defaults to en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, non-destructive. Description adds context: requires Pro plan, US-only, two-step flow. No contradictions. Could mention rate limits or ID expiration, but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph, no wasted words. Front-loaded with core purpose, then prerequisites and usage notes. Efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main points: enrichment, prerequisites, US-only, Pro plan. No output schema, but mentions returned fields (address, phone, hours, rating). Could include idempotency or id lifespan, but adequate for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description adds meaning for 'ids' parameter: source from prior search and limit of 20 IDs. Other parameters have schema descriptions, but no extra from description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('returns enriched information') and resource ('location-search results'), clearly distinguishing from siblings like brave_web_search by explaining the two-step flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (after brave_web_search with result_filter=locations) and when not (free-text queries should go to brave_web_search). Provides clear alternative with brave_web_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_news_searchNews searchARead-onlyInspect
Searches for news articles using Brave's News Search API. Use it when you need current news, breaking updates, or articles about specific topics.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query (max 400 characters and 50 words). | |
| count | No | Number of results to return (max 20; default 20). | |
| offset | No | Pagination offset (max 9, in units of `count`). | |
| country | No | 2-letter country code (ISO 3166-1 alpha-2). Defaults to US. | |
| ui_lang | No | User interface language for the response, in the form <lang>-<country> (e.g. en-US). | |
| freshness | No | Filter results by recency. Use pd (past day), pw (past week), pm (past month), py (past year), or a YYYY-MM-DDtoYYYY-MM-DD range. | |
| safesearch | No | Filter level for adult content. | |
| spellcheck | No | Whether to spellcheck the query. | |
| search_lang | No | 2-letter language code for the search. Defaults to en. | |
| text_decorations | No | Whether to include decoration markers (e.g. highlighting) in result strings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=false, destructiveHint=false, and openWorldHint=true. The description adds no behavioral details beyond stating it uses Brave's News Search API (which is a source, not behavior). It does not mention rate limits, result structure, or account requirements. With annotations providing the safety profile, the description adds minimal extra value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two sentences: the first states the main function, the second provides usage guidance. Every word is purposeful, no fluff. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description does not explain the return format (e.g., list of articles with title, source, date). It also does not mention pagination mechanics beyond the 'count' and 'offset' parameters. Given the tool has multiple parameters and is a search tool, the description could be more complete about what the agent can expect as output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all 10 parameters are described in the schema. The tool description does not add any additional parameter semantics or contextual hints beyond what the schema already provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'searches' and the resource 'news articles using Brave's News Search API'. It also provides usage context ('when you need current news, breaking updates, or articles about specific topics'), which differentiates it from sibling tools like brave_web_search or brave_image_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises when to use the tool ('when you need current news, breaking updates, or articles about specific topics'). It does not specify when not to use it or name alternatives, but the context implies that for general web or image searches, other brother tools should be used. This is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_place_searchPlace search (POIs, cities, addresses, streets)ARead-onlyInspect
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 shape. Use for POIs near coordinates or a named area, browsing general POIs (omit query, supply coords or location), disambiguating bare city names, resolving specific addresses, or looking up streets. Anchor via latitude+longitude or location; with neither, query is required.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results (max 50, default 20). | |
| query | No | Query string. Shape influences the response: POI-like queries return `results`; ambiguous city names return `cities`; address-/street-shaped queries with a geographic anchor return `addresses` and/or `streets`. Omit to browse general POIs in the supplied area. Required if neither `latitude`+`longitude` nor `location` is provided. | |
| units | No | Units of measurement for distance values. | |
| geoloc | No | Optional geolocation token used to refine results. | |
| radius | No | Bias toward results closer to the supplied coordinates, in meters. NOT a hard cutoff. | |
| country | No | 2-letter country code (ISO 3166-1 alpha-2). Defaults to US. | |
| ui_lang | No | User interface language for the response, in the form <lang>-<country> (e.g. en-US). | |
| latitude | No | Latitude of the geographical coordinates to search around (-90 to 90). Typically paired with `longitude`. | |
| location | No | Location string used as an alternative to lat/long. 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. | |
| longitude | No | Longitude of the geographical coordinates to search around (-180 to 180). Typically paired with `latitude`. | |
| safesearch | No | Filter level for adult content. | |
| spellcheck | No | Whether to spellcheck the query. | |
| search_lang | No | 2-letter language code for the search. Defaults to en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, non-destructive, open-world behavior. The description adds that the response shape varies by query, which complements annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph with no redundancy. Each sentence adds meaningful information, front-loading the tool's purpose and key usage patterns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 parameters, no output schema), the description covers the essential interplay between parameters and response types. It could briefly mention ordering or pagination, but is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have schema descriptions (100% coverage). The description adds value by explaining the role of 'query' in shaping the response and providing format examples for 'location', going beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches Brave's Place Search API for POIs, cities, addresses, streets, and locations. It lists specific response components and use cases, distinguishing it from sibling tools that handle images, news, videos, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when to use the tool for various geospatial queries (POIs, addresses, city disambiguation) and how to anchor searches via coordinates or location. While it doesn't explicitly exclude other tools, the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_summarizerAI-generated summaryARead-onlyInspect
Retrieves AI-generated summaries of web search results. Two-step flow: first call brave_web_search with summary=true to obtain summarizer.key, then pass it here. Pro AI tier required.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Summarizer key returned by a prior `brave_web_search` with `summary=true`. | |
| entity_info | No | Whether to include extra entity-info fields with citation metadata. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and destructiveHint=false; description adds operational context (two-step flow, tier requirement) without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, each sentence adds value with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists; description lacks details about the summary output format. However, parameters are fully covered and operational flow is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description mentions 'key' in context but adds no new semantic meaning beyond what the schema provides for either parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Retrieves AI-generated summaries of web search results' and distinguishes from sibling tools by explaining the two-step flow involving brave_web_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes the two-step flow and prerequisite ('first call brave_web_search with summary=true'), and states 'Pro AI tier required', providing clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_video_searchVideo searchBRead-onlyInspect
Searches for videos using Brave's Video Search API. Returns structured video results with metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query (max 400 characters and 50 words). | |
| count | No | Number of results to return (max 20; default 20). | |
| offset | No | Pagination offset (max 9, in units of `count`). | |
| country | No | 2-letter country code (ISO 3166-1 alpha-2). Defaults to US. | |
| ui_lang | No | User interface language for the response, in the form <lang>-<country> (e.g. en-US). | |
| freshness | No | Filter results by recency. Use pd (past day), pw (past week), pm (past month), py (past year), or a YYYY-MM-DDtoYYYY-MM-DD range. | |
| safesearch | No | Filter level for adult content. | |
| spellcheck | No | Whether to spellcheck the query. | |
| search_lang | No | 2-letter language code for the search. Defaults to en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, which describe the tool's safety and variability. The description adds 'Returns structured video results with metadata' but does not expand on behavior beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence conveys the tool's purpose without fluff. Front-loading is adequate. Could be slightly more structured (e.g., bullet points for parameters), but it is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite full schema coverage for parameters, the description omits critical context such as pagination behavior, result structure details, or any constraints. For a search tool with 9 parameters, more completeness is expected to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions, so the description does not need to add further meaning. It does not elaborate on parameter usage or relationships, but the baseline is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for videos via Brave's Video Search API. The name and title reinforce this. However, it does not explicitly differentiate from sibling search tools like 'brave_web_search' or 'brave_image_search', which would strengthen clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., 'brave_web_search' for general web content, 'brave_image_search' for images). No context on prerequisites, limitations, or scenarios is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_web_searchWeb searchARead-onlyInspect
Performs web searches using the Brave Search API and returns comprehensive search results with rich metadata. To chain into local-POI enrichment, pass result_filter=locations and feed the resulting locations.results[].id values into brave_local_search. To chain into the AI summarizer, pass summary=true and feed the returned summarizer.key into brave_summarizer.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query (max 400 characters and 50 words). | |
| count | No | Number of results to return (max 20; default 20). | |
| units | No | Measurement system used in result content. | |
| offset | No | Pagination offset (max 9, in units of `count`). | |
| country | No | 2-letter country code (ISO 3166-1 alpha-2). Defaults to US. | |
| summary | No | Set to true to request a summarizer key in the response. Pair with `brave_summarizer` to fetch the AI-generated summary text. Pro AI tier required. | |
| ui_lang | No | User interface language for the response, in the form <lang>-<country> (e.g. en-US). | |
| freshness | No | Filter results by recency. Use pd (past day), pw (past week), pm (past month), py (past year), or a YYYY-MM-DDtoYYYY-MM-DD range. | |
| goggles_id | No | Goggles ID for re-ranked results. See https://search.brave.com/help/goggles. | |
| safesearch | No | Filter level for adult content. | |
| spellcheck | No | Whether to spellcheck the query. | |
| search_lang | No | 2-letter language code for the search. Defaults to en. | |
| result_filter | No | Comma-separated list of result types to include. Available values: discussions, faq, infobox, news, query, summarizer, videos, web, locations. Use `locations` to chain into `brave_local_pois`. | |
| extra_snippets | No | Return up to 5 extra alternate snippets per result. Premium plans only. | |
| text_decorations | No | Whether to include decoration markers (e.g. highlighting) in result strings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the tool is known to be safe. The description adds behavioral context about returning 'comprehensive search results with rich metadata' and explains chaining behavior. It doesn't contradict annotations and provides useful extra context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three sentences, with no wasted words. It front-loads the main purpose and then provides chaining instructions, making it easy to parse quickly. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 15 parameters and no output schema, the description is fairly complete. It covers the core purpose and chaining use cases, but could briefly mention the response structure (e.g., web results, locations, summarizer fields). However, the chaining hints partially compensate for the missing output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds value by explaining how to use `result_filter` and `summary` parameters for chaining, which goes beyond the schema descriptions. It enhances the semantic meaning of these key parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs web searches using the Brave Search API, which is a specific verb and resource. It also differentiates from sibling tools by mentioning chaining capabilities, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool (general web searches) and gives two specific chaining scenarios with exact parameter usage. It tells the agent how to chain into local-POI enrichment or the AI summarizer, which effectively distinguishes usage from alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- Changed
brave_image_search19 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / count / defaultRemoved value: -50 - changed
Input schema / properties / count / descriptionPrevious value: -"Number of results (1-200, default 50). Combine this parameter with `offset` to paginate search results."New value: +"Number of results (max 100; default 50)." - removed
Input schema / properties / count / maximumRemoved value: -200 - removed
Input schema / properties / count / minimumRemoved value: -1 - changed
Input schema / properties / count / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / country / defaultRemoved value: -"US" - changed
Input schema / properties / country / descriptionPrevious value: -"Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries."New value: +"2-letter country code (ISO 3166-1 alpha-2). Defaults to US." - added
Input schema / properties / qAdded value: +{ + "description": "Search query (max 400 characters and 50 words).", + "type": "string" +} - removed
Input schema / properties / queryRemoved value: -{ - "description": "The user's search query. Query cannot be empty. Limited to 400 characters and 50 words.", - "maxLength": 400, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / safesearch / defaultRemoved value: -"strict" - changed
Input schema / properties / safesearch / descriptionPrevious value: -"Filters search results for adult content. The following values are supported: 'off' - No filtering. 'strict' - Drops all adult content from search results."New value: +"Filter level for adult content." - changed
Input schema / properties / safesearch / enumPrevious value: -[ - "off", - "strict" -]New value: +[ + "off", + "moderate", + "strict" +] - removed
Input schema / properties / search_lang / defaultRemoved value: -"en" - changed
Input schema / properties / search_lang / descriptionPrevious value: -"Search language preference. The 2 or more character language code for which the search results are provided."New value: +"2-letter language code for the search. Defaults to en." - removed
Input schema / properties / spellcheck / defaultRemoved value: -true - changed
Input schema / properties / spellcheck / descriptionPrevious value: -"Whether to spellcheck provided query."New value: +"Whether to spellcheck the query." - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "q" +] - changed
Output schema / (root)Previous value: -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": false, - "properties": { - "count": { - "minimum": 0, - "type": "integer" - }, - "items": { - "items": { - "additionalProperties": false, - "properties": { - "confidence": { - "description": "The confidence level of the result.", - "enum": [ - "low", - "medium", - "high" - ], - "type": "string" - }, - "page_fetched": { - "format": "date-time", - "type": "string" - }, - "properties": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "type": "integer" - }, - "url": { - "format": "uri", - "type": "string" - }, - "width": { - "exclusiveMinimum": 0, - "type": "integer" - } - }, - "required": [ - "url", - "width", - "height" - ], - "type": "object" - }, - "title": { - "type": "string" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "title", - "url", - "page_fetched", - "confidence", - "properties" - ], - "type": "object" - }, - "type": "array" - }, - "might_be_offensive": { - "description": "Whether the image might be offensive.", - "type": "boolean" - }, - "type": { - "const": "object", - "type": "string" - } - }, - "required": [ - "type", - "items", - "count", - "might_be_offensive" - ], - "type": "object" -}New value: +null
- Added
brave_llm_context - Changed
brave_local_search22 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / countRemoved value: -{ - "default": 10, - "description": "Number of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.)", - "maximum": 20, - "minimum": 1, - "type": "integer" -} - removed
Input schema / properties / countryRemoved value: -{ - "default": "US", - "description": "Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.", - "enum": [ - "ALL", - "AR", - "AU", - "AT", - "BE", - "BR", - "CA", - "CL", - "DK", - "FI", - "FR", - "DE", - "HK", - "IN", - "ID", - "IT", - "JP", - "KR", - "MY", - "MX", - "NL", - "NZ", - "NO", - "CN", - "PL", - "PT", - "PH", - "RU", - "SA", - "ZA", - "ES", - "SE", - "CH", - "TW", - "TR", - "GB", - "US" - ], - "type": "string" -} - removed
Input schema / properties / extra_snippetsRemoved value: -{ - "description": "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.", - "type": "boolean" -} - removed
Input schema / properties / freshnessRemoved value: -{ - "description": "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.", - "enum": [ - "pd", - "pw", - "pm", - "py", - "YYYY-MM-DDtoYYYY-MM-DD" - ], - "type": "string" -} - removed
Input schema / properties / gogglesRemoved value: -{ - "description": "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. For more details, refer to the Goggles repository (i.e., https://github.com/brave/goggles-quickstart).", - "items": { - "type": "string" - }, - "type": "array" -} - added
Input schema / properties / idsAdded value: +{ + "description": "One or more location IDs returned by a prior `brave_web_search` with `result_filter=locations`. Up to 20 IDs per call.", + "items": { + "type": "string" + }, + "type": "array" +} - removed
Input schema / properties / offsetRemoved value: -{ - "default": 0, - "description": "Pagination offset (max 9, default 0)", - "maximum": 9, - "minimum": 0, - "type": "integer" -} - removed
Input schema / properties / queryRemoved value: -{ - "description": "Search query (max 400 chars, 50 words)", - "maxLength": 400, - "type": "string" -} - removed
Input schema / properties / result_filterRemoved value: -{ - "default": [ - "web", - "query" - ], - "description": "Result filter (default ['web', 'query'])", - "items": { - "enum": [ - "discussions", - "faq", - "infobox", - "news", - "query", - "summarizer", - "videos", - "web", - "locations", - "rich" - ], - "type": "string" - }, - "type": "array" -} - removed
Input schema / properties / safesearchRemoved value: -{ - "default": "moderate", - "description": "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'.", - "enum": [ - "off", - "moderate", - "strict" - ], - "type": "string" -} - removed
Input schema / properties / search_lang / defaultRemoved value: -"en" - changed
Input schema / properties / search_lang / descriptionPrevious value: -"Search language preference. The 2 or more character language code for which the search results are provided."New value: +"2-letter language code for the search. Defaults to en." - removed
Input schema / properties / search_lang / enumRemoved value: -[ - "ar", - "eu", - "bn", - "bg", - "ca", - "zh-hans", - "zh-hant", - "hr", - "cs", - "da", - "nl", - "en", - "en-gb", - "et", - "fi", - "fr", - "gl", - "de", - "gu", - "he", - "hi", - "hu", - "is", - "it", - "jp", - "kn", - "ko", - "lv", - "lt", - "ms", - "ml", - "mr", - "nb", - "pl", - "pt-br", - "pt-pt", - "pa", - "ro", - "ru", - "sr", - "sk", - "sl", - "es", - "sv", - "ta", - "te", - "th", - "tr", - "uk", - "vi" -] - removed
Input schema / properties / spellcheckRemoved value: -{ - "default": true, - "description": "Whether to spellcheck the provided query.", - "type": "boolean" -} - removed
Input schema / properties / summaryRemoved value: -{ - "description": "This parameter enables summary key generation in web search results. This is required for summarizer to be enabled.", - "type": "boolean" -} - removed
Input schema / properties / text_decorationsRemoved value: -{ - "default": true, - "description": "Whether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters).", - "type": "boolean" -} - removed
Input schema / properties / ui_lang / defaultRemoved value: -"en-US" - changed
Input schema / properties / ui_lang / descriptionPrevious value: -"The language of the UI. The 2 or more character language code for which the search results are provided."New value: +"User interface language for the response, in the form <lang>-<country> (e.g. en-US)." - removed
Input schema / properties / ui_lang / enumRemoved value: -[ - "es-AR", - "en-AU", - "de-AT", - "nl-BE", - "fr-BE", - "pt-BR", - "en-CA", - "fr-CA", - "es-CL", - "da-DK", - "fi-FI", - "fr-FR", - "de-DE", - "zh-HK", - "en-IN", - "en-ID", - "it-IT", - "ja-JP", - "ko-KR", - "en-MY", - "es-MX", - "nl-NL", - "en-NZ", - "no-NO", - "zh-CN", - "pl-PL", - "en-PH", - "ru-RU", - "en-ZA", - "es-ES", - "sv-SE", - "fr-CH", - "de-CH", - "zh-TW", - "tr-TR", - "en-GB", - "en-US", - "es-US" -] - changed
Input schema / properties / units / descriptionPrevious value: -"The measurement units. If not provided, units are derived from search country."New value: +"Measurement system." - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "ids" +]
- Changed
brave_news_search31 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / count / defaultRemoved value: -20 - changed
Input schema / properties / count / descriptionPrevious value: -"Number of results (1-50, default 20)"New value: +"Number of results to return (max 20; default 20)." - removed
Input schema / properties / count / maximumRemoved value: -50 - removed
Input schema / properties / count / minimumRemoved value: -1 - changed
Input schema / properties / count / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / country / defaultRemoved value: -"US" - changed
Input schema / properties / country / descriptionPrevious value: -"Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries."New value: +"2-letter country code (ISO 3166-1 alpha-2). Defaults to US." - removed
Input schema / properties / extra_snippetsRemoved value: -{ - "default": false, - "description": "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.", - "type": "boolean" -} - removed
Input schema / properties / freshness / anyOfRemoved value: -[ - { - "const": "pd", - "type": "string" - }, - { - "const": "pw", - "type": "string" - }, - { - "const": "pm", - "type": "string" - }, - { - "const": "py", - "type": "string" - }, - { - "type": "string" - } -] - removed
Input schema / properties / freshness / defaultRemoved value: -"pd" - changed
Input schema / properties / freshness / descriptionPrevious value: -"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."New value: +"Filter results by recency. Use pd (past day), pw (past week), pm (past month), py (past year), or a YYYY-MM-DDtoYYYY-MM-DD range." - added
Input schema / properties / freshness / typeAdded value: +"string" - removed
Input schema / properties / gogglesRemoved value: -{ - "description": "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. For more details, refer to the Goggles repository (i.e., https://github.com/brave/goggles-quickstart).", - "items": { - "type": "string" - }, - "type": "array" -} - removed
Input schema / properties / offset / defaultRemoved value: -0 - changed
Input schema / properties / offset / descriptionPrevious value: -"Pagination offset (max 9, default 0)"New value: +"Pagination offset (max 9, in units of `count`)." - removed
Input schema / properties / offset / maximumRemoved value: -9 - removed
Input schema / properties / offset / minimumRemoved value: -0 - changed
Input schema / properties / offset / typePrevious value: -"integer"New value: +"number" - added
Input schema / properties / qAdded value: +{ + "description": "Search query (max 400 characters and 50 words).", + "type": "string" +} - removed
Input schema / properties / queryRemoved value: -{ - "description": "Search query (max 400 chars, 50 words)", - "maxLength": 400, - "type": "string" -} - removed
Input schema / properties / safesearch / defaultRemoved value: -"moderate" - changed
Input schema / properties / safesearch / descriptionPrevious value: -"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'."New value: +"Filter level for adult content." - removed
Input schema / properties / search_lang / defaultRemoved value: -"en" - changed
Input schema / properties / search_lang / descriptionPrevious value: -"Search language preference. The 2 or more character language code for which the search results are provided."New value: +"2-letter language code for the search. Defaults to en." - removed
Input schema / properties / spellcheck / defaultRemoved value: -true - changed
Input schema / properties / spellcheck / descriptionPrevious value: -"Whether to spellcheck provided query."New value: +"Whether to spellcheck the query." - added
Input schema / properties / text_decorationsAdded value: +{ + "description": "Whether to include decoration markers (e.g. highlighting) in result strings.", + "type": "boolean" +} - removed
Input schema / properties / ui_lang / defaultRemoved value: -"en-US" - changed
Input schema / properties / ui_lang / descriptionPrevious value: -"User interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110."New value: +"User interface language for the response, in the form <lang>-<country> (e.g. en-US)." - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "q" +]
- Added
brave_place_search - Changed
brave_summarizer5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / entity_info / defaultRemoved value: -false - changed
Input schema / properties / entity_info / descriptionPrevious value: -"Returns extra entities info with the summary response."New value: +"Whether to include extra entity-info fields with citation metadata." - removed
Input schema / properties / inline_referencesRemoved value: -{ - "default": false, - "description": "Adds inline references to the summary response.", - "type": "boolean" -} - changed
Input schema / properties / key / descriptionPrevious value: -"The key is equal to value of field key as part of the Summarizer response model."New value: +"Summarizer key returned by a prior `brave_web_search` with `summary=true`."
- Changed
brave_video_search27 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / count / defaultRemoved value: -20 - changed
Input schema / properties / count / descriptionPrevious value: -"Number of results (1-50, default 20). Combine this parameter with `offset` to paginate search results."New value: +"Number of results to return (max 20; default 20)." - removed
Input schema / properties / count / maximumRemoved value: -50 - removed
Input schema / properties / count / minimumRemoved value: -1 - changed
Input schema / properties / count / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / country / defaultRemoved value: -"US" - changed
Input schema / properties / country / descriptionPrevious value: -"Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries."New value: +"2-letter country code (ISO 3166-1 alpha-2). Defaults to US." - removed
Input schema / properties / freshness / anyOfRemoved value: -[ - { - "const": "pd", - "type": "string" - }, - { - "const": "pw", - "type": "string" - }, - { - "const": "pm", - "type": "string" - }, - { - "const": "py", - "type": "string" - }, - { - "type": "string" - } -] - changed
Input schema / properties / freshness / descriptionPrevious value: -"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')."New value: +"Filter results by recency. Use pd (past day), pw (past week), pm (past month), py (past year), or a YYYY-MM-DDtoYYYY-MM-DD range." - added
Input schema / properties / freshness / typeAdded value: +"string" - removed
Input schema / properties / offset / defaultRemoved value: -0 - changed
Input schema / properties / offset / descriptionPrevious value: -"Pagination offset (max 9, default 0). Combine this parameter with `count` to paginate search results."New value: +"Pagination offset (max 9, in units of `count`)." - removed
Input schema / properties / offset / maximumRemoved value: -9 - removed
Input schema / properties / offset / minimumRemoved value: -0 - changed
Input schema / properties / offset / typePrevious value: -"integer"New value: +"number" - added
Input schema / properties / qAdded value: +{ + "description": "Search query (max 400 characters and 50 words).", + "type": "string" +} - removed
Input schema / properties / queryRemoved value: -{ - "description": "The user's search query. Query cannot be empty. Limited to 400 characters and 50 words.", - "maxLength": 400, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / safesearch / defaultRemoved value: -"moderate" - changed
Input schema / properties / safesearch / descriptionPrevious value: -"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'."New value: +"Filter level for adult content." - removed
Input schema / properties / search_lang / defaultRemoved value: -"en" - changed
Input schema / properties / search_lang / descriptionPrevious value: -"Search language preference. The 2 or more character language code for which the search results are provided."New value: +"2-letter language code for the search. Defaults to en." - removed
Input schema / properties / spellcheck / defaultRemoved value: -true - changed
Input schema / properties / spellcheck / descriptionPrevious value: -"Whether to spellcheck provided query."New value: +"Whether to spellcheck the query." - removed
Input schema / properties / ui_lang / defaultRemoved value: -"en-US" - changed
Input schema / properties / ui_lang / descriptionPrevious value: -"User interface language preferred in response. Usually of the format <language_code>-<country_code>. For more, see RFC 9110."New value: +"User interface language for the response, in the form <lang>-<country> (e.g. en-US)." - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "q" +]
- Changed
brave_web_search40 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / count / defaultRemoved value: -10 - changed
Input schema / properties / count / descriptionPrevious value: -"Number of results (1-20, default 10). Applies only to web search results (i.e., has no effect on locations, news, videos, etc.)"New value: +"Number of results to return (max 20; default 20)." - removed
Input schema / properties / count / maximumRemoved value: -20 - removed
Input schema / properties / count / minimumRemoved value: -1 - changed
Input schema / properties / count / typePrevious value: -"integer"New value: +"number" - removed
Input schema / properties / country / defaultRemoved value: -"US" - changed
Input schema / properties / country / descriptionPrevious value: -"Search query country, where the results come from. The country string is limited to 2 character country codes of supported countries."New value: +"2-letter country code (ISO 3166-1 alpha-2). Defaults to US." - removed
Input schema / properties / country / enumRemoved value: -[ - "ALL", - "AR", - "AU", - "AT", - "BE", - "BR", - "CA", - "CL", - "DK", - "FI", - "FR", - "DE", - "HK", - "IN", - "ID", - "IT", - "JP", - "KR", - "MY", - "MX", - "NL", - "NZ", - "NO", - "CN", - "PL", - "PT", - "PH", - "RU", - "SA", - "ZA", - "ES", - "SE", - "CH", - "TW", - "TR", - "GB", - "US" -] - changed
Input schema / properties / extra_snippets / descriptionPrevious value: -"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."New value: +"Return up to 5 extra alternate snippets per result. Premium plans only." - changed
Input schema / properties / freshness / descriptionPrevious value: -"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."New value: +"Filter results by recency. Use pd (past day), pw (past week), pm (past month), py (past year), or a YYYY-MM-DDtoYYYY-MM-DD range." - removed
Input schema / properties / freshness / enumRemoved value: -[ - "pd", - "pw", - "pm", - "py", - "YYYY-MM-DDtoYYYY-MM-DD" -] - removed
Input schema / properties / gogglesRemoved value: -{ - "description": "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. For more details, refer to the Goggles repository (i.e., https://github.com/brave/goggles-quickstart).", - "items": { - "type": "string" - }, - "type": "array" -} - added
Input schema / properties / goggles_idAdded value: +{ + "description": "Goggles ID for re-ranked results. See https://search.brave.com/help/goggles.", + "type": "string" +} - removed
Input schema / properties / offset / defaultRemoved value: -0 - changed
Input schema / properties / offset / descriptionPrevious value: -"Pagination offset (max 9, default 0)"New value: +"Pagination offset (max 9, in units of `count`)." - removed
Input schema / properties / offset / maximumRemoved value: -9 - removed
Input schema / properties / offset / minimumRemoved value: -0 - changed
Input schema / properties / offset / typePrevious value: -"integer"New value: +"number" - added
Input schema / properties / qAdded value: +{ + "description": "Search query (max 400 characters and 50 words).", + "type": "string" +} - removed
Input schema / properties / queryRemoved value: -{ - "description": "Search query (max 400 chars, 50 words)", - "maxLength": 400, - "type": "string" -} - removed
Input schema / properties / result_filter / defaultRemoved value: -[ - "web", - "query" -] - changed
Input schema / properties / result_filter / descriptionPrevious value: -"Result filter (default ['web', 'query'])"New value: +"Comma-separated list of result types to include. Available values: discussions, faq, infobox, news, query, summarizer, videos, web, locations. Use `locations` to chain into `brave_local_pois`." - removed
Input schema / properties / result_filter / itemsRemoved value: -{ - "enum": [ - "discussions", - "faq", - "infobox", - "news", - "query", - "summarizer", - "videos", - "web", - "locations", - "rich" - ], - "type": "string" -} - changed
Input schema / properties / result_filter / typePrevious value: -"array"New value: +"string" - removed
Input schema / properties / safesearch / defaultRemoved value: -"moderate" - changed
Input schema / properties / safesearch / descriptionPrevious value: -"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'."New value: +"Filter level for adult content." - removed
Input schema / properties / search_lang / defaultRemoved value: -"en" - changed
Input schema / properties / search_lang / descriptionPrevious value: -"Search language preference. The 2 or more character language code for which the search results are provided."New value: +"2-letter language code for the search. Defaults to en." - removed
Input schema / properties / search_lang / enumRemoved value: -[ - "ar", - "eu", - "bn", - "bg", - "ca", - "zh-hans", - "zh-hant", - "hr", - "cs", - "da", - "nl", - "en", - "en-gb", - "et", - "fi", - "fr", - "gl", - "de", - "gu", - "he", - "hi", - "hu", - "is", - "it", - "jp", - "kn", - "ko", - "lv", - "lt", - "ms", - "ml", - "mr", - "nb", - "pl", - "pt-br", - "pt-pt", - "pa", - "ro", - "ru", - "sr", - "sk", - "sl", - "es", - "sv", - "ta", - "te", - "th", - "tr", - "uk", - "vi" -] - removed
Input schema / properties / spellcheck / defaultRemoved value: -true - changed
Input schema / properties / spellcheck / descriptionPrevious value: -"Whether to spellcheck the provided query."New value: +"Whether to spellcheck the query." - changed
Input schema / properties / summary / descriptionPrevious value: -"This parameter enables summary key generation in web search results. This is required for summarizer to be enabled."New value: +"Set to true to request a summarizer key in the response. Pair with `brave_summarizer` to fetch the AI-generated summary text. Pro AI tier required." - removed
Input schema / properties / text_decorations / defaultRemoved value: -true - changed
Input schema / properties / text_decorations / descriptionPrevious value: -"Whether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters)."New value: +"Whether to include decoration markers (e.g. highlighting) in result strings." - removed
Input schema / properties / ui_lang / defaultRemoved value: -"en-US" - changed
Input schema / properties / ui_lang / descriptionPrevious value: -"The language of the UI. The 2 or more character language code for which the search results are provided."New value: +"User interface language for the response, in the form <lang>-<country> (e.g. en-US)." - removed
Input schema / properties / ui_lang / enumRemoved value: -[ - "es-AR", - "en-AU", - "de-AT", - "nl-BE", - "fr-BE", - "pt-BR", - "en-CA", - "fr-CA", - "es-CL", - "da-DK", - "fi-FI", - "fr-FR", - "de-DE", - "zh-HK", - "en-IN", - "en-ID", - "it-IT", - "ja-JP", - "ko-KR", - "en-MY", - "es-MX", - "nl-NL", - "en-NZ", - "no-NO", - "zh-CN", - "pl-PL", - "en-PH", - "ru-RU", - "en-ZA", - "es-ES", - "sv-SE", - "fr-CH", - "de-CH", - "zh-TW", - "tr-TR", - "en-GB", - "en-US", - "es-US" -] - changed
Input schema / properties / units / descriptionPrevious value: -"The measurement units. If not provided, units are derived from search country."New value: +"Measurement system used in result content." - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "q" +]
3 tool updates
- Added
brave_local_search - Added
brave_summarizer - Added
brave_video_search
3 tool updates
- Removed
brave_local_search - Removed
brave_summarizer - Removed
brave_video_search
3 tool updates
- Added
brave_local_search - Added
brave_summarizer - Added
brave_video_search
3 tool updates
- Removed
brave_local_search - Removed
brave_summarizer - Removed
brave_video_search
5 tool updates
- Added
brave_image_search - Added
brave_local_search - Added
brave_news_search - Added
brave_summarizer - Added
brave_video_search
5 tool updates
- Removed
brave_image_search - Removed
brave_local_search - Removed
brave_news_search - Removed
brave_summarizer - Removed
brave_video_search
3 tool updates
- Added
brave_local_search - Added
brave_summarizer - Added
brave_video_search
3 tool updates
- Removed
brave_local_search - Removed
brave_summarizer - Removed
brave_video_search
5 tool updates
- Added
brave_image_search - Added
brave_local_search - Added
brave_news_search - Added
brave_summarizer - Added
brave_video_search
5 tool updates
- Removed
brave_image_search - Removed
brave_local_search - Removed
brave_news_search - Removed
brave_summarizer - Removed
brave_video_search
3 tool updates
- Added
brave_local_search - Added
brave_summarizer - Added
brave_video_search
3 tool updates
- Removed
brave_local_search - Removed
brave_summarizer - Removed
brave_video_search
5 tool updates
- Added
brave_image_search - Added
brave_local_search - Added
brave_news_search - Added
brave_summarizer - Added
brave_video_search
5 tool updates
- Removed
brave_image_search - Removed
brave_local_search - Removed
brave_news_search - Removed
brave_summarizer - Removed
brave_video_search
5 tool updates
- Added
brave_image_search - Added
brave_local_search - Added
brave_news_search - Added
brave_summarizer - Added
brave_video_search
5 tool updates
- Removed
brave_image_search - Removed
brave_local_search - Removed
brave_news_search - Removed
brave_summarizer - Removed
brave_video_search
5 tool updates
- Added
brave_image_search - Added
brave_local_search - Added
brave_news_search - Added
brave_summarizer - Added
brave_video_search
Related MCP Connectors
Search the web, images, videos, news, and local businesses with robust filters, freshness controls…
Google, Bing, DuckDuckGo and Google Maps search results, free without an API key.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Search the web in real time to get trustworthy, source-backed answers. Find the latest news and co…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables web searching and local business discovery through the Brave Search API. Provides both general web search with pagination and filtering controls, plus local business search with automatic fallback to web results.2-
- FlicenseNot gradedqualityDmaintenanceEnables web and local business searches through the Brave Search API. Provides general web search with pagination and filtering, plus local business search with automatic fallback to web results.-
- AlicenseNot gradedqualityDmaintenanceEnables web and local search capabilities using the Brave Search API, allowing users to perform general web searches and find local businesses with ratings, hours, and contact info.MIT
- AlicenseNot gradedqualityDmaintenanceIntegrates the Brave Search API to provide web and local search capabilities, including news, articles, and business information. It features smart fallbacks from local to web search and supports pagination and freshness controls.265 npm1GPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.