Brave Search MCP 服务器 是一个整合了 Brave Search API 的 MCP 服务器实现,提供全面的搜索功能,包括…
Brave Search MCP 服务器 是一个整合了 Brave Search API 的 MCP 服务器实现,提供全面的搜索功能,包括…
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.
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.
brave_image_searchVersion 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.
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 definitionsunits (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 summarizationbrave_local_search)Searches for local businesses and places with detailed information including ratings, hours, and AI-generated descriptions.
Parameters:
brave_web_search with automatic location filteringNote: Requires Pro plan for full local search capabilities. Falls back to web search otherwise.
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)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)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 definitionsbrave_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.
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 (e.g., san francisco ca united states); for non-US locations use (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 contentuser-agent (string, optional): User agent originating the requestbrave_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 codesearch_lang (string, optional): Search language codecount (number, optional): Maximum number of search results considered (1-50)spellcheck (boolean, optional): Enable spell checkingmaximum_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-rankingfreshness (string, optional): Time filter ("pd", "pw", "pm", "py", or date range)enable_local (boolean, optional): Enable local recallenable_source_metadata (boolean, optional): Include source metadata enrichmentOptional 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 namex-loc-state (string, optional): Client state or region codex-loc-state-name (string, optional): Client state or region namex-loc-country (string, optional): Client country codex-loc-postal-code (string, optional): Client postal codeapi-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 contentuser-agent (string, optional): User agent originating the requestThe server supports the following environment variables:
BRAVE_API_KEY: Your Brave Search API key (required unless BRAVE_API_KEY_FILE is set)BRAVE_API_KEY_FILE: Path to a file containing your Brave Search API key. When set, this takes precedence over BRAVE_API_KEY. Useful for Docker secrets and similar mounted-secret setups.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: "127.0.0.1"). Binds to loopback only by default; set to "0.0.0.0" to expose the server on all interfaces (required inside containers and on Amazon Bedrock AgentCore). Only do this on a trusted network, since the HTTP endpoint is unauthenticated.BRAVE_MCP_ALLOWED_ORIGINS: Space- or comma-separated list of additional Origin header values permitted for the HTTP transport. Loopback origins are always allowed; browser requests carrying any other Origin are rejected with HTTP 403 to guard against DNS rebinding. Set this when a browser-based client on a real domain needs access.BRAVE_MCP_ALLOWED_HOSTS: Space- or comma-separated list of hostnames permitted in the Host header of the HTTP transport. Matching is on the hostname only and is case-insensitive; a numeric port in an entry (e.g. mcp.example.com:8080) is accepted but ignored for matching. Optional, opt-in defense-i暂无开放 Issues,或尚未同步最近议题。