Get the FREE Ultimate OpenClaw Setup Guide →

brave-search

Scanned
npx machina-cli add skill mikeng-io/agent-skills/brave-search --openclaw
Files (1)
SKILL.md
5.9 KB

Brave 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_search with 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

  1. Step 1: Run pre-flight to verify Brave Search MCP availability
  2. 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")
  3. 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

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers