Brave Search With Proxy
Brave Search MCP 서버
웹 및 로컬 검색을 위한 Brave Search API를 활용하는 MCP 서버이며, 선택적 HTTP 프록시 구성이 가능합니다.
이 저장소는 Model Context Protocol 서버 에서 포크되어 기본 fetch 구현을 라이브러리 node-fetch-native 로 대체합니다.
서버는 기본적으로 http_proxy 및 https_proxy 환경 변수를 사용하여 프록시 서버를 통해 요청을 라우팅합니다(설정된 경우). BRAVE_SEARCH_PROXY 환경 변수를 설정하여 다른 프록시 서버를 사용할 수도 있습니다.
특징
웹 검색 : 일반 쿼리, 뉴스, 기사, 페이지 매김 및 신선도 제어 기능 포함
지역 검색 : 자세한 정보와 함께 업체, 레스토랑 및 서비스를 찾아보세요
유연한 필터링 : 결과 유형, 안전 수준 및 콘텐츠 신선도 제어
스마트 폴백 : 로컬 검색은 결과가 발견되지 않으면 자동으로 웹으로 돌아갑니다.
Related MCP server: MCP2Brave
도구
브레이브 웹 검색
페이지 매김 및 필터링을 사용하여 웹 검색 실행
입력:
query(문자열): 검색어count(숫자, 선택 사항): 페이지당 결과(최대 20개)offset(숫자, 선택 사항): 페이지 번호 오프셋(최대 9)
용감한 지역 검색
지역 기업 및 서비스 검색
입력:
query(문자열): 로컬 검색어count(숫자, 선택 사항): 결과 수(최대 20개)
로컬 검색 결과가 없으면 자동으로 웹 검색으로 돌아갑니다.
구성
API 키 받기
Brave Search API 계정 에 가입하세요
플랜 선택 (월 2,000개 쿼리가 가능한 무료 계층 제공)
개발자 대시보드에서 API 키 생성
Claude Desktop과 함께 사용
claude_desktop_config.json 에 다음을 추가하세요:
도커
지엑스피1
엔피엑스
{
"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 + 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
}
}
}
}
}엔피엑스
{
"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