Optimizing Bluera Knowledge Search
Master the search() MCP tool parameters to get better results with less context usage.
Understanding Search Parameters
search(
query: string, // Your search query
intent?: SearchIntent, // What you're looking for
detail?: 'minimal' | 'contextual' | 'full', // How much context to return
limit?: number, // Max results (default: 10)
stores?: string[] // Which stores to search
)
Search Intent: Choosing the Right Type
The intent parameter helps the search engine rank results appropriately for your query type.
Intent Decision Tree
Looking for implementation details? Use find-implementation
- "How does X work internally?"
- "Show me the implementation of Y"
- "What's inside the Z class/function?"
search("Vue computed properties implementation", intent='find-implementation')
→ Prioritizes: actual class/function implementations
→ Ranks higher: ComputedRefImpl class, createComputed() function
→ Ranks lower: tests, documentation, examples
Looking for usage patterns? Use find-pattern
- "How to use X?"
- "Examples of Y pattern"
- "Common ways to implement Z"
search("React hooks patterns", intent='find-pattern')
→ Prioritizes: example code, usage patterns, HOCs
→ Ranks higher: common patterns like useEffect cleanup
→ Ranks lower: internal implementation details
Looking for references? Use find-usage
- "Where is X used?"
- "Find all calls to Y"
- "What depends on Z?"
search("useCallback usage", intent='find-usage')
→ Prioritizes: call sites, import statements
→ Ranks higher: files importing and using useCallback
→ Ranks lower: useCallback's own implementation
Looking for definitions/APIs? Use find-definition
- "What is the API for X?"
- "Show me the type definition of Y"
- "What are the parameters for Z?"
search("FastAPI route decorator", intent='find-definition')
→ Prioritizes: function signatures, type definitions
→ Ranks higher: @app.get() decorator definition
→ Ranks lower: examples using the decorator
Looking for documentation? Use find-documentation
- "What does the doc say about X?"
- "Explain Y from the documentation"
- "API reference for Z"
search("Pydantic validators documentation", intent='find-documentation')
→ Prioritizes: README, docstrings, comments
→ Ranks higher: markdown docs, inline documentation
→ Ranks lower: implementation code
Default (No Intent)
If unsure, omit intent - the search engine will use hybrid ranking:
search("authentication middleware")
→ Returns mixed: implementations, patterns, usage, docs
→ Balanced ranking across all categories
Detail Level: Progressive Context Strategy
The detail parameter controls how much code context is returned per result.
Detail Levels Explained
| Level | What You Get | Tokens/Result | Use When |
|-------|--------------|---------------|----------|
| minimal | Summary, file path, relevance | ~100 | Browsing many results |
| contextual | + imports, types, signatures | ~300 | Need interface context |
| full | + complete code, all context | ~800 | Deep dive on specific file |
Progressive Detail Strategy (Recommended)
Step 1: Start Minimal
search(query, detail='minimal', limit=20)
→ Get 20 summaries (~2k tokens total)
→ Scan quickly for relevance
→ Identify top 3-5 candidates
Step 2: Evaluate Scores
Review relevance scores:
- 0.9-1.0: Excellent match (almost certainly relevant)
- 0.7-0.9: Strong match (very likely relevant)
- 0.5-0.7: Moderate match (possibly relevant)
- < 0.5: Weak match (probably not relevant)
Step 3: Selective Deep Dive
For top results (score > 0.7):
get_full_context(result_ids)
→ Fetch complete code only for relevant items
For moderate results (score 0.5-0.7):
search(refined_query, detail='contextual')
→ Try different query with more context
Result Limiting
The limit parameter caps the number of results returned.
Choosing the Right Limit
| Limit | Mode | Use When | |-------|------|----------| | 20-50 | Discovery | Exploring, not sure what exists | | 10-20 | Standard | Specific question, multiple files | | 3-5 | Targeted | Know exactly what you need |
Tip: Large limits work best with detail='minimal' to control tokens.
Store Filtering
The stores parameter restricts search to specific knowledge stores.
When to Filter Stores
✅ Filter when: You know the library, comparing specific libs, want focused results
❌ Don't filter when: Discovering where code lives, want cross-library perspective
# Check available stores first
list_stores()
# Then filter
search(query, stores=['fastapi', 'express'])
Quick Reference
High-Efficiency Defaults
search(query, detail='minimal', limit=20)
→ Good for most discovery tasks
→ Review, then selectively fetch full context
High-Precision Defaults
search(query, intent='find-implementation', detail='full', limit=5, stores=['known-lib'])
→ When you know exactly what you're looking for
→ Fastest path to deep answer
Balanced Defaults
search(query, detail='contextual', limit=10)
→ Good middle ground
→ See interfaces without full implementation
Deep Dive
For advanced strategies and token optimization examples:
- @references/strategies.md - Combined optimization strategies with token counts
- @references/mistakes.md - Common mistakes to avoid