Skip to main content

Overview

Grok Search MCP Server provides two distinct analysis modes that determine the depth and structure of search results. The analysis_mode parameter controls whether you receive simple search results or comprehensive analytical insights.

Basic Mode

Basic mode returns straightforward search results with minimal processing overhead. This mode is optimized for speed and simple queries where you need quick, factual information.

Characteristics

  • Token Limit: ~2,000 tokens maximum
  • Response Time: Fast (typically 2-5 seconds)
  • Caching: Not cached
  • Best For: Quick lookups, simple queries, real-time information

Response Structure

{
  "query": "your search query",
  "analysis_mode": "basic",
  "results": [
    {
      "title": "Article title or tweet content preview",
      "snippet": "Brief summary (max 280 chars for tweets)",
      "url": "Source URL",
      "source": "Source name or handle",
      "published_date": "YYYY-MM-DD",
      "author": "Author name"
    }
  ],
  "summary": "Brief overview of findings",
  "total_results": 10,
  "citations": ["url1", "url2"],
  "search_time": "2025-03-04T10:30:00Z"
}

System Prompt (Basic)

The server uses focused prompts for basic mode:
const basePrompt = `Provide current, accurate information about 
the following topic using live search data. Format your response 
as JSON with this exact structure:
{
"results": [
{
  "title": "Article title or tweet content preview",
  "snippet": "Brief summary",
  "url": "Source URL",
  "source": "Source name",
  "published_date": "YYYY-MM-DD",
  "author": "Author name"
}
],
"summary": "Brief overview of findings"
}`;

Example Usage

{
  "tool": "grok_search",
  "parameters": {
    "query": "latest tech news",
    "analysis_mode": "basic",
    "max_results": 5
  }
}

Token Allocation

The implementation allocates different token budgets based on mode:
const requestData = {
  model: "grok-3-latest",
  messages: [...],
  max_tokens: analysisMode === "comprehensive" ? 4000 : 2000,
  temperature: 0.1,
  stream: false,
  search_parameters: searchParams
};

Mode Selection Guidelines

Use Basic Mode When

  • You need quick results
  • Query is simple and specific
  • Real-time data is critical
  • You want to minimize token usage

Use Comprehensive Mode When

  • Researching complex topics
  • Need multiple perspectives
  • Want timeline analysis
  • Require verified facts vs claims

Performance Comparison

MetricBasic ModeComprehensive Mode
Max Tokens2,0004,000
Typical Response Time2-5 seconds10-20 seconds
CachingNoYes (30 min TTL)
Result DepthSimple listMulti-layered analysis
CitationsURLs onlyFull metadata
Comprehensive analyses are automatically cached for 30 minutes to improve performance on repeat queries. Cache keys include all parameters to ensure accuracy.

Implementation Details

The mode affects response parsing logic:
if (analysisMode === "comprehensive" && parsedResults.analysis_mode === "comprehensive") {
  // Handle comprehensive analysis response
  finalResponse = {
    query: query,
    analysis_mode: "comprehensive",
    comprehensive_analysis: parsedResults.comprehensive_analysis || "",
    key_findings: parsedResults.key_findings || [],
    timeline: parsedResults.timeline || [],
    direct_quotes: parsedResults.direct_quotes || [],
    related_context: parsedResults.related_context || "",
    multiple_perspectives: parsedResults.multiple_perspectives || [],
    implications: parsedResults.implications || {},
    verification_status: parsedResults.verification_status || {},
    raw_results: parsedResults.raw_results || parsedResults.results || [],
    summary: parsedResults.summary || "",
    total_results: (parsedResults.raw_results || parsedResults.results || []).length,
    search_time: new Date().toISOString(),
    source: "grok-comprehensive-analysis",
    citations: citations,
    citation_metadata: citationMetadata
  };
}
All search tools support both analysis modes via the analysis_mode parameter. The default is "basic" if not specified.

Build docs developers (and LLMs) love