Brave Search With Proxy
Brave Search MCP サーバー
オプションの HTTP プロキシ構成を備えた、Web およびローカル検索用の Brave Search API を活用する MCP サーバー。
このリポジトリは、モデルコンテキストプロトコルサーバーからフォークし、ネイティブfetch実装をライブラリnode-fetch-nativeに置き換えます。
サーバーは、 http_proxyおよびhttps_proxy環境変数が設定されている場合、デフォルトでそれらを使用してリクエストをプロキシサーバー経由でルーティングします。BRAVE_SEARCH_PROXY環境変数を設定することで、別のプロキシサーバーを使用することBRAVE_SEARCH_PROXYできます。
特徴
ウェブ検索: 一般的なクエリ、ニュース、記事、ページ区切りと鮮度コントロール付き
ローカル検索: 詳細な情報でビジネス、レストラン、サービスを検索
柔軟なフィルタリング: 結果の種類、安全レベル、コンテンツの鮮度を制御
スマートフォールバック: ローカル検索では、結果が見つからない場合は自動的にウェブにフォールバックします。
Related MCP server: MCP2Brave
ツール
勇敢なウェブ検索
ページネーションとフィルタリングを使用してウェブ検索を実行する
入力:
query(文字列): 検索用語count(数値、オプション): 1ページあたりの結果数(最大20件)offset(数値、オプション):ページ区切りのオフセット(最大9)
勇敢なローカル検索
地元のビジネスやサービスを検索する
入力:
query(文字列):ローカル検索用語count(数値、オプション): 結果の数(最大20)
ローカル検索結果が見つからない場合は自動的にウェブ検索に戻ります
構成
APIキーの取得
Brave Search APIアカウントにサインアップする
プランを選択してください(無料プランは月間2,000クエリまでご利用いただけます)
開発者ダッシュボードからAPIキーを生成する
Claude Desktopでの使用
これをclaude_desktop_config.jsonに追加します:
ドッカー
{
"mcpServers": {
"brave-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRAVE_API_KEY",
"mcp/brave-search"
],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE",
"BRAVE_SEARCH_PROXY": "https://example.com:10890" // Optional, remove if not needed
}
}
}
}NPX
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@kwp-lab/mcp-brave-search"
],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE",
"BRAVE_SEARCH_PROXY": "https://example.com:10890" // Optional, remove if not needed
}
}
}
}VS Codeでの使用
素早くインストールするには、以下のワンクリック インストール ボタンを使用してください...
手動でインストールする場合は、VS Code のユーザー設定 (JSON) ファイルに次の JSON ブロックを追加します。Ctrl Ctrl + Shift + Pを押してPreferences: Open User Settings (JSON)と入力すると、このブロックを追加できます。
オプションとして、ワークスペース内の.vscode/mcp.jsonというファイルに追加することもできます。これにより、他のユーザーと設定を共有できるようになります。
.vscode/mcp.jsonファイルではmcpキーは必要ないことに注意してください。
ドッカー
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "brave_api_key",
"description": "Brave Search API Key",
"password": true
}
],
"servers": {
"brave-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRAVE_API_KEY",
"mcp/brave-search"
],
"env": {
"BRAVE_API_KEY": "${input:brave_api_key}",
"BRAVE_SEARCH_PROXY": "https://example.com:10890" // Optional, remove if not needed
}
}
}
}
}NPX
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "brave_api_key",
"description": "Brave Search API Key",
"password": true
}
],
"servers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@kwp-lab/mcp-brave-search"],
"env": {
"BRAVE_API_KEY": "${input:brave_api_key}",
"BRAVE_SEARCH_PROXY": "https://example.com:10890" // Optional, remove if not needed
}
}
}
}
}建てる
Docker ビルド:
docker build -t mcp/brave-search:latest -f ./Dockerfile .ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
Available Tools
2 toolsbrave_local_searchA
Searches for local businesses and places using Brave's Local Search API. Best for queries related to physical locations, businesses, restaurants, services, etc. Returns detailed information including:
Business names and addresses
Ratings and review counts
Phone numbers and opening hours Use this when the query implies 'near me' or mentions specific locations. Automatically falls back to web search if no local results are found.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Local search query (e.g. 'pizza near Central Park') | |
| count | No | Number of results (1-20, default 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses automatic fallback to web search and lists returned information (names, ratings, hours). It lacks details on rate limits or authorization, but the key behavior is transparent.
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 concise paragraph with bullet points. It front-loads the purpose, then gives usage context, return info, and a fallback note. No unnecessary words, well-organized.
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, but description explains return details (business names, addresses, ratings, etc.) and fallback behavior. It misses error handling or pagination, but for a local search tool with two simple params, it is sufficiently complete.
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% (both params described), baseline 3. The description adds meaning by specifying query examples ('pizza near Central Park') and default count behavior, plus clarifies what the return values include. This goes beyond 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 the tool searches for local businesses and places using Brave's Local Search API. It distinguishes from siblings like brave_web_search by specifying physical locations and business entities, and notes a fallback to 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?
The description explicitly says 'Best for queries related to physical locations' and 'Use this when the query implies "near me" or mentions specific locations,' providing clear when-to-use guidance. It does not explicitly state when not to use, but the context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_web_searchA
Performs a web search using the Brave Search API, ideal for general queries, news, articles, and online content. Use this for broad information gathering, recent events, or when you need diverse web sources. Supports pagination, content filtering, and freshness controls. Maximum 20 results per request, with offset for pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (max 400 chars, 50 words) | |
| count | No | Number of results (1-20, default 10) | |
| offset | No | Pagination offset (max 9, default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions pagination, content filtering, freshness controls, and maximum results (20). However, does not explicitly state it is a read-only operation or discuss rate limits/auth. Adequate but not comprehensive.
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: first states purpose, second provides usage scenarios, third mentions capabilities. No fluff, well-structured.
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?
Tool has 3 params and no output schema. Description covers purpose, usage, and constraints but lacks explanation of return value format or structure. Could be more complete for agent usage.
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%; baseline 3. Description adds slight value by reiterating max 20 results and offset usage, but no new parameter details beyond schema. Content filtering and freshness controls are mentioned but are not 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?
Clearly states 'Performs a web search using the Brave Search API' with specific verb+resource. Distinguishes from siblings like brave_answers and brave_local_search by stating 'ideal for general queries, news, articles, and online content.'
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?
Provides explicit usage context: 'ideal for general queries, news, articles, and online content. Use this for broad information gathering, recent events, or when you need diverse web sources.' Lacks explicit when-not-to-use or alternatives, but context is clear.
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.
2 tool updates
- First observed
brave_local_search - First observed
brave_web_search
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: brave_local_search targets local businesses and physical locations with 'near me' queries, while brave_web_search handles general web searches for information, news, and online content. There is no overlap in functionality, as each tool is specialized for different query types and data sources, making it easy for an agent to choose the correct one based on the user's intent.
Both tool names follow a consistent pattern: 'brave_' prefix followed by a descriptive term ('local_search' and 'web_search') using snake_case. This naming convention clearly indicates the server domain (Brave Search) and the specific search type, making the tools predictable and easy to understand without any deviations or mixed styles.
With only 2 tools, the server feels thin for a search domain, as it might benefit from additional tools like image search, news search, or advanced filtering options. However, the tools cover the core local and web search functionalities adequately, so it's borderline but not severely lacking. A typical search server would have more tools to handle diverse query types and result formats.
The server covers the essential search operations for local and web queries, with each tool providing detailed capabilities like pagination, filtering, and fallback mechanisms. Minor gaps exist, such as no dedicated tools for image or video searches, but agents can work around this using the web search tool. The surface is reasonably complete for basic search needs without significant dead ends.
Maintenance
Related MCP Connectors
Official SerpApi MCP server for Google, Bing, and other search engines.
The official MCP Server for the Mux API
MCP server for Google search results via SERP API
Related MCP Servers
- -licenseNot gradedqualityAmaintenanceAn MCP server implementation that integrates the Brave Search API, providing both web and local search capabilities.13,25090,196MIT
- AlicenseCqualityDmaintenanceA server based on the MCP protocol that uses the Brave API for web search functionality.63MIT
- AlicenseNot gradedqualityFmaintenanceAn MCP server that integrates the Brave Search API to provide both web and local search capabilities, with features like pagination, filtering, and smart fallbacks.15MIT
- AlicenseAqualityDmaintenanceAn MCP Server implementation that integrates the Brave Search API, providing, Web Search, Local Points of Interest Search, Image Search, Video Search, News Search and LLM Context Search capabilities5196125GPL 3.0