brave-search
Scannednpx machina-cli add skill mikeng-io/agent-skills/brave-search --openclawBrave Search MCP — Optional Web Search Enrichment
This skill wraps the Brave Search MCP server to provide structured web, news, and local search capabilities. It is designed to be invoked by other skills or used standalone for general research.
Setup: Requires the Brave Search MCP server configured with a Brave Search API key.
# Add to MCP config (one-time setup)
claude mcp add -s user brave-search npx @brave/search-mcp
# Then set: BRAVE_API_KEY=your_key_here
# Get a free API key at: https://brave.com/search/api/
Pre-Flight: Check Availability
ToolSearch: "brave-search"
→ Returns: mcp__brave-search__brave_web_search (and news, local, etc.)
→ If found: proceed to Step 1
→ If not found: return availability: "unavailable", fallback to other search tools
Non-blocking fallback chain: Brave Search → web-search-prime → WebFetch → Bash curl/wget
Step 1: Select Search Mode
Choose the appropriate Brave Search tool based on query type:
search_mode_selection:
brave_web_search:
trigger: General research, technical questions, documentation lookup
tool: mcp__brave-search__brave_web_search
returns: Web results with titles, URLs, descriptions
brave_news_search:
trigger: Recent events, breaking news, time-sensitive topics, announcements
tool: mcp__brave-search__brave_news_search
returns: News articles with publication dates and source attribution
brave_local_search:
trigger: Location-specific queries, "near me", city/region-scoped research
tool: mcp__brave-search__brave_local_search
returns: Local business/event results with location data
brave_summarizer:
trigger: "Summarize what the web says about X" — AI-distilled summary of top results
tool: mcp__brave-search__brave_summarizer
returns: Synthesized summary (does not return individual URLs — use when summary is enough)
brave_video_search:
trigger: Tutorial videos, conference talks, demo recordings
tool: mcp__brave-search__brave_video_search
brave_image_search:
trigger: Visual content, diagrams, charts, screenshots
tool: mcp__brave-search__brave_image_search
Step 2: Execute Queries
Run 1-5 queries depending on research scope. Parallel execution is fine for independent queries.
Query best practices:
- Be specific: "Kafka consumer group rebalancing Go" not just "Kafka"
- Use quotes for exact phrases:
"distributed tracing" "OpenTelemetry" - Add year for recent content:
OpenTelemetry Go 2025 - For news: use
brave_news_searchwith a shorter, more topic-focused query
Example usage:
# Web search
mcp__brave-search__brave_web_search(query="OpenTelemetry Go SDK distributed tracing 2025", count=10)
# News search
mcp__brave-search__brave_news_search(query="Kubernetes security CVE 2025", count=5)
# Local search
mcp__brave-search__brave_local_search(query="blockchain conferences San Francisco 2025")
Step 3: Process Results
For each result, extract and structure:
{
"source": "brave-search",
"search_mode": "web | news | local | summarizer | video | image",
"query": "the query executed",
"results": [
{
"title": "Result title",
"url": "https://actual-content-url",
"description": "Excerpt or description",
"published_date": "2025-01-15", // news results
"credibility": "HIGH | MEDIUM | LOW",
"key_points": ["Extracted insight 1", "Extracted insight 2"]
}
],
"availability": "available",
"result_count": 10
}
Credibility assessment:
- HIGH: Official docs, academic papers, recognized industry authorities
- MEDIUM: Established company blogs, tech publications, conference proceedings
- LOW: Personal blogs, forums, social media, unverified sources
Calling Context Integration
When invoked by deep-research
Return structured results for integration into the domain researcher's findings. Multi-search strategy: run Brave Web and Brave News in parallel for each domain query to get broader coverage.
When invoked by context skill (optional enrichment)
Use brave_web_search with 1-2 queries to detect current technology patterns, framework versions, or industry terminology signals that supplement domain selection.
When invoked standalone
Execute queries, return structured results with source attribution. Suitable for quick research tasks that don't require the full deep-research pipeline.
Output
{
"skill": "brave-search",
"availability": "available | unavailable",
"queries_executed": ["list of queries"],
"search_modes_used": ["web", "news"],
"results": [...],
"result_count": 15,
"fallback_used": false
}
If unavailable:
{
"skill": "brave-search",
"availability": "unavailable",
"reason": "MCP server not configured",
"setup_hint": "claude mcp add -s user brave-search npx @brave/search-mcp"
}
Why Brave Search?
- Independent index: Not Google — provides genuine search diversity
- Privacy-first: No tracking or personalization affecting results
- API quality: Structured JSON responses with rich metadata
- News freshness: Separate news endpoint with publication dates
- No rate limiting drama: Paid API with predictable quotas
- Local search: Useful for geo-specific research without extra configuration
Source
git clone https://github.com/mikeng-io/agent-skills/blob/master/skills/brave-search/SKILL.mdView on GitHub Overview
Brave Search MCP provides structured web, news, and local search with an independent Brave index, avoiding Google dependency. It can be invoked by other skills or used standalone for general research. When Brave Search is unavailable, a non-blocking fallback chain kicks in to other search tools.
How This Skill Works
The skill wraps the Brave Search MCP server to perform web, news, local search, and optional summarization via dedicated MCP tools. It selects the appropriate tool based on query type (web, news, local, video, image, or summarizer). It runs queries non-blockingly and can fall back to web search prime, WebFetch, or curl/wget if the primary MCP tool is unavailable.
When to Use It
- General web research and technical queries requiring web results with titles, URLs, and descriptions
- Time-sensitive topics requiring recent news or announcements
- Location-based searches like city or regional information and 'near me' queries
- Situations where you want an AI-distilled summary of top results using brave_summarizer
- Finding tutorial videos, conference talks, or visual content with brave_video_search
Quick Start
- Step 1: Run pre-flight to verify Brave Search MCP availability
- Step 2: Choose a mode (web, news, local, video) and run a query, e.g., mcp__brave-search__brave_web_search(query="OpenTelemetry Go 2025")
- Step 3: Process results and decide if a summary is enough or if you should drill into individual URLs
Best Practices
- Choose the correct search mode (web, news, local, video, image, or summarizer) for the query type
- Be specific in queries, use quotes for exact phrases, and include year for recency when applicable
- Perform a pre-flight availability check and have a fallback plan if Brave Search MCP is unavailable
- Combine web, news, and local results to get a well-rounded view of the topic
- Verify critical results by cross-checking URLs, dates, and source credibility
Example Use Cases
- Research OpenTelemetry docs with brave_web_search for up-to-date references
- Track Kubernetes security events using brave_news_search for recent CVEs and advisories
- Find San Francisco blockchain conferences with brave_local_search
- Summarize top sources about a topic using brave_summarizer when a synthesis suffices
- Locate tutorial videos and talks with brave_video_search