Enhanced Grok Search MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Enhanced Grok Search MCP ServerProvide a comprehensive news analysis and timeline for the latest AI safety regulations."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Enhanced Grok Search MCP Server
A robust MCP (Model Context Protocol) server that provides comprehensive web search and analysis capabilities using xAI's Grok API.
Features
🔍 Search Capabilities
Web Search: Search general web content using Grok's AI-powered search
News Search: Search for recent news and current events with timeline analysis
Twitter/X Search: Search social media posts with sentiment analysis
Date Range Filtering: Search within specific time periods
📊 Analysis Modes
Basic Mode: Traditional search results with titles, snippets, and URLs
Comprehensive Mode: Rich analysis including:
Detailed timelines of events
Direct quotes with full attribution
Multiple perspectives and viewpoints
Historical context and implications
Fact verification status
Key findings categorization
🛡️ Reliability Features
Retry Logic: Automatic retry with exponential backoff for failed requests
Request Timeouts: Configurable timeouts to prevent hanging
Graceful Error Handling: Comprehensive error responses with detailed context
Health Monitoring: Built-in health checks and performance metrics
Caching: Intelligent caching for comprehensive analyses
Input Validation: Enhanced sanitization and validation of all inputs
🔧 Technical Features
NPX Compatible: Easy installation and usage via NPX
MCP Protocol: Full compatibility with MCP clients like Claude Desktop
Structured Logging: Comprehensive logging for debugging and monitoring
Performance Metrics: Request tracking and success rate monitoring
Related MCP server: Grok MCP Server
Installation
Simple 3-Step Process
git clone https://github.com/stat-guy/grok-search-mcp.git
cd grok-search-mcp
npm install -g .Verify Installation
Test that the installation worked:
npx grok-search-mcp --helpSuccess indicator: If you see Grok Search MCP Server running on stdio, your installation is ready!
Alternative: NPX Usage
npx grok-search-mcpSetup
1. Get Your xAI API Key
Visit the xAI Developer Portal
Create an account or sign in
Generate your API key
Copy the API key for the next step
2. Configure Environment Variable
Set your xAI API key as an environment variable:
export XAI_API_KEY="your-api-key-here"Or create a .env file in your project:
XAI_API_KEY=your-api-key-here3. Configure Claude Desktop
Add the server to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"grok-search": {
"command": "npx",
"args": ["grok-search-mcp"],
"env": {
"XAI_API_KEY": "your-api-key-here"
}
}
}
}Available Tools
grok_search
General-purpose search tool with configurable search types and analysis modes.
Parameters:
query(required): The search querysearch_type(optional): "web", "news", or "general" (default: "web")analysis_mode(optional): "basic" or "comprehensive" (default: "basic")max_results(optional): Maximum number of results (1-20, default: 10)from_date(optional): Start date in YYYY-MM-DD formatto_date(optional): End date in YYYY-MM-DD format
Basic Mode Example:
{
"query": "latest AI developments",
"search_type": "news",
"max_results": 5
}Comprehensive Mode Example:
{
"query": "US Iran conflict 2025",
"search_type": "news",
"analysis_mode": "comprehensive",
"max_results": 10,
"from_date": "2025-06-20",
"to_date": "2025-06-24"
}grok_web_search
Search general web content with comprehensive analysis support.
Parameters:
query(required): The web search queryanalysis_mode(optional): "basic" or "comprehensive" (default: "basic")max_results(optional): Maximum number of results (1-20, default: 10)from_date(optional): Start date in YYYY-MM-DD formatto_date(optional): End date in YYYY-MM-DD format
grok_news_search
Search for recent news with comprehensive timeline and context analysis.
Parameters:
query(required): The news search queryanalysis_mode(optional): "basic" or "comprehensive" (default: "basic")max_results(optional): Maximum number of results (1-20, default: 10)from_date(optional): Start date in YYYY-MM-DD formatto_date(optional): End date in YYYY-MM-DD format
grok_twitter
Search Twitter/X posts with social media analysis.
Parameters:
query(required): The search query for tweetshandles(optional): Array of Twitter handles to filter by (without @ symbol)analysis_mode(optional): "basic" or "comprehensive" (default: "basic")max_results(optional): Maximum number of results (1-20, default: 10)from_date(optional): Start date in YYYY-MM-DD formatto_date(optional): End date in YYYY-MM-DD format
health_check
Check server health and API connectivity status.
Parameters: None
Response Formats
Basic Mode Response
{
"query": "search query",
"analysis_mode": "basic",
"results": [
{
"title": "Result Title",
"snippet": "Brief description or excerpt",
"url": "https://example.com",
"source": "source-name",
"published_date": "2025-06-24",
"author": "Author Name",
"citation_url": "https://example.com",
"citation_metadata": {
"domain": "example.com",
"is_secure": true
}
}
],
"citations": ["https://example.com"],
"summary": "Brief overview of findings",
"total_results": 5,
"search_time": "2025-06-24T12:00:00.000Z",
"source": "grok-live-search"
}Comprehensive Mode Response
{
"query": "search query",
"analysis_mode": "comprehensive",
"comprehensive_analysis": "Detailed analysis with context and implications...",
"key_findings": [
{
"category": "main_story",
"title": "Primary Development",
"content": "Detailed explanation with specifics",
"sources": ["https://source1.com", "https://source2.com"],
"confidence": "high"
}
],
"timeline": [
{
"date": "2025-06-21",
"event": "Initial event occurred",
"source": "News Source",
"significance": "This marked the beginning of..."
}
],
"direct_quotes": [
{
"quote": "This is an exact quote from the source",
"speaker": "Official Name",
"context": "During a press conference on Monday",
"source_url": "https://source.com",
"significance": "This statement clarifies the position..."
}
],
"related_context": "Historical background and connections...",
"multiple_perspectives": [
{
"viewpoint": "Supporters",
"content": "Analysis from this perspective",
"sources": ["https://supporting-source.com"],
"reasoning": "This group supports because..."
}
],
"implications": {
"short_term": "Immediate consequences include...",
"long_term": "Potential long-term impacts are...",
"stakeholders_affected": ["Group 1", "Group 2"]
},
"verification_status": {
"confirmed_facts": ["Verified information"],
"unconfirmed_claims": ["Unverified claims"],
"contradictory_information": ["Conflicting reports"]
},
"raw_results": [
{
"title": "Source Article",
"snippet": "Brief description",
"url": "https://example.com",
"relevance_score": 9
}
],
"summary": "Executive summary of the entire analysis",
"total_results": 10,
"search_time": "2025-06-24T12:00:00.000Z",
"source": "grok-comprehensive-analysis"
}Configuration
Environment Variables
XAI_API_KEY(required): Your xAI API keyGROK_TIMEOUT(optional): Request timeout in milliseconds (default: 30000)GROK_MAX_RETRIES(optional): Maximum retry attempts (default: 3)
Claude Desktop Configuration Example
{
"mcpServers": {
"grok-search": {
"command": "npx",
"args": ["grok-search-mcp"],
"env": {
"XAI_API_KEY": "your-api-key-here",
"GROK_TIMEOUT": "45000",
"GROK_MAX_RETRIES": "5"
}
}
}
}Error Handling
The server includes comprehensive error handling with standardized error responses:
Invalid API Key: Graceful degradation with clear error messages
Empty Query: Enhanced validation with detailed feedback
API Rate Limits: Automatic retry with exponential backoff
Network Issues: Connection error handling with retry logic
Timeout Issues: Configurable timeouts with clear error reporting
JSON Parsing: Multiple parsing strategies with fallback handling
Error Response Format
{
"error": "Detailed error message",
"status": "failed",
"query": "original query",
"search_type": "web",
"analysis_mode": "basic",
"timestamp": "2025-06-24T12:00:00.000Z",
"request_id": "req_1234567890_abc123"
}Performance Features
Caching
Comprehensive Analysis Caching: Intelligent caching for expensive comprehensive analyses
TTL Management: Configurable cache expiration (default: 30 minutes)
Memory Management: Automatic cache size limits to prevent memory issues
Monitoring
Health Checks: Built-in health monitoring with detailed status reporting
Performance Metrics: Request tracking, success rates, and timing analysis
Structured Logging: JSON-formatted logs for easy parsing and monitoring
Reliability
Retry Logic: Exponential backoff for transient failures
Circuit Breaking: Graceful degradation when API is unavailable
Input Sanitization: Comprehensive input validation and cleaning
Error Recovery: Multiple JSON parsing strategies for robust response handling
Troubleshooting
Common Issues
"API service is not available"
Check if XAI_API_KEY is set correctly
Verify your API key is valid and active
Use the health_check tool to diagnose API connectivity
"Request timeout after Xms"
Increase GROK_TIMEOUT environment variable
Check your internet connection
Consider using basic mode for faster responses
"Search query too long"
Queries are limited to 1000 characters
Break down complex queries into smaller parts
Empty or poor results in comprehensive mode
Try different query phrasings
Use basic mode for simple searches
Check if the topic has sufficient recent coverage
Health Monitoring
Use the health_check tool to get detailed status:
{
"tool": "health_check"
}Example health response:
{
"server_healthy": true,
"api_healthy": true,
"uptime_ms": 3600000,
"total_requests": 150,
"error_count": 3,
"success_rate": "98.00%",
"api_details": {
"hasApiKey": true,
"cacheSize": 12
}
}Debugging
The server provides structured logging. Monitor stderr output for detailed logs:
npx grok-search-mcp 2>debug.logTesting
Run the test suite to verify functionality:
# With API key
XAI_API_KEY=your-key npm test
# Basic functionality test (may skip API calls)
npm testUsage Examples
Basic News Search
{
"query": "latest technology news",
"search_type": "news",
"max_results": 5
}Comprehensive Analysis
{
"query": "climate change policy 2025",
"analysis_mode": "comprehensive",
"search_type": "news",
"from_date": "2025-01-01",
"max_results": 15
}Twitter Analysis with Specific Handles
{
"query": "AI developments",
"handles": ["elonmusk", "OpenAI", "AnthropicAI"],
"analysis_mode": "comprehensive",
"max_results": 10
}Date-Filtered Web Search
{
"query": "quantum computing breakthroughs",
"search_type": "web",
"from_date": "2025-06-01",
"to_date": "2025-06-24",
"max_results": 8
}API Limits
Rate limits depend on your xAI API plan
Monitor usage through the xAI Developer Portal
Comprehensive mode uses more tokens than basic mode
Caching helps reduce API usage for repeated queries
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Support
For issues and feature requests, please create an issue in the repository.
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests for new functionality
Update documentation
Submit a pull request
Changelog
Version 2.0.0 (Enhanced)
✅ Added comprehensive analysis mode with rich context
✅ Implemented timeline extraction and direct quotes
✅ Added multiple perspectives analysis
✅ Enhanced error handling with retry logic
✅ Added intelligent caching for comprehensive analyses
✅ Implemented health monitoring and performance metrics
✅ Added structured logging system
✅ Enhanced input validation and sanitization
✅ Added configurable timeouts and retry settings
✅ Improved JSON parsing with multiple fallback strategies
Available Tools
5 toolsgrok_news_searchB
Search for recent news using Grok. Comprehensive mode provides timeline analysis, direct quotes, and multiple perspectives on news events.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The news search query | |
| analysis_mode | No | Analysis mode: 'basic' returns simple search results, 'comprehensive' provides detailed analysis with timelines, quotes, multiple perspectives, and context | basic |
| max_results | No | Maximum number of news results to return | |
| from_date | No | Optional start date for search in ISO8601 format (YYYY-MM-DD). Limits search to content from this date onwards. | |
| to_date | No | Optional end date for search in ISO8601 format (YYYY-MM-DD). Limits search to content up to this date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that 'comprehensive mode provides timeline analysis, direct quotes, and multiple perspectives,' which adds some context about output behavior. However, it lacks critical details such as rate limits, authentication needs, data freshness, or what happens with invalid parameters, leaving significant gaps for a tool with 5 parameters.
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 appropriately sized with two sentences that are front-loaded with the core purpose. The second sentence efficiently elaborates on the 'comprehensive mode' without redundancy. However, it could be slightly more structured by explicitly separating usage contexts.
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?
Given 5 parameters, no annotations, and no output schema, the description is moderately complete. It covers the tool's purpose and hints at behavioral aspects, but lacks details on output format, error handling, or integration with sibling tools. For a search tool with multiple parameters and no structured output documentation, this leaves room for improvement.
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 description coverage is 100%, so the schema fully documents all 5 parameters. The description adds minimal value by hinting at the 'comprehensive' mode's features, but doesn't provide additional semantic context beyond what's in the schema (e.g., explaining how 'query' differs from general search or the impact of date ranges). Baseline 3 is appropriate as the schema does the heavy lifting.
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's purpose as 'Search for recent news using Grok' with a specific verb ('Search') and resource ('recent news'), distinguishing it from general search tools. However, it doesn't explicitly differentiate from sibling tools like 'grok_search' or 'grok_web_search' beyond the 'news' focus.
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 implies when to use this tool by mentioning 'recent news' and 'comprehensive mode' for detailed analysis, suggesting it's for news-specific searches with optional in-depth analysis. However, it doesn't provide explicit guidance on when to choose this over alternatives like 'grok_search' or 'grok_twitter', nor does it mention exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grok_searchB
Search the web using Grok's AI-powered search capabilities. Supports both basic search results and comprehensive analysis with timelines, quotes, and multiple perspectives.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query to execute | |
| search_type | No | Type of search to perform | web |
| max_results | No | Maximum number of search results to return | |
| analysis_mode | No | Analysis mode: 'basic' returns simple search results, 'comprehensive' provides detailed analysis with timelines, quotes, multiple perspectives, and context | basic |
| from_date | No | Optional start date for search in ISO8601 format (YYYY-MM-DD). Limits search to content from this date onwards. | |
| to_date | No | Optional end date for search in ISO8601 format (YYYY-MM-DD). Limits search to content up to this date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'AI-powered search capabilities' and analysis features like 'timelines, quotes, and multiple perspectives,' but lacks details on rate limits, authentication needs, error handling, or response format. For a search tool with 6 parameters and no annotations, this is a significant gap in behavioral context.
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 concise and front-loaded, with two sentences that efficiently state the tool's purpose and capabilities. Every sentence adds value without waste, making it appropriately sized for the tool's complexity.
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?
Given the tool's moderate complexity (6 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and analysis modes but lacks details on behavioral traits, usage differentiation from siblings, and output expectations. Without annotations or output schema, more context would improve completeness for effective agent use.
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 description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds some context by mentioning 'comprehensive analysis with timelines, quotes, and multiple perspectives,' which relates to the 'analysis_mode' parameter, but doesn't provide additional semantic meaning beyond what the schema specifies. Baseline 3 is appropriate as the schema does the heavy lifting.
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's purpose: 'Search the web using Grok's AI-powered search capabilities.' It specifies the verb ('search') and resource ('the web'), and mentions AI-powered capabilities. However, it doesn't explicitly differentiate from siblings like 'grok_web_search' or 'grok_news_search' beyond mentioning search types, which limits differentiation.
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 implies usage by mentioning support for 'basic search results and comprehensive analysis,' but it doesn't provide explicit guidance on when to use this tool versus siblings like 'grok_news_search' or 'grok_web_search.' No alternatives or exclusions are stated, leaving usage context implied rather than clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grok_twitterC
Search Twitter/X posts using Grok's X search capabilities, optionally filtered by specific handles. Comprehensive mode analyzes social media trends and sentiment.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query to find tweets/posts about | |
| handles | No | Optional list of Twitter handles to search from (without @ symbol, e.g., ['elonmusk', 'twitter']) | |
| analysis_mode | No | Analysis mode: 'basic' returns simple search results, 'comprehensive' provides detailed analysis with timelines, quotes, multiple perspectives, and context | basic |
| max_results | No | Maximum number of tweet results to return | |
| from_date | No | Optional start date for search in ISO8601 format (YYYY-MM-DD). Limits search to content from this date onwards. | |
| to_date | No | Optional end date for search in ISO8601 format (YYYY-MM-DD). Limits search to content up to this date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'comprehensive mode analyzes social media trends and sentiment' which adds some behavioral context, but doesn't address critical aspects like rate limits, authentication requirements, data freshness, or what happens when no results are found. The description is insufficient for a search tool with 6 parameters.
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 appropriately concise with two sentences. The first sentence states the core functionality, and the second adds important context about the comprehensive mode. However, the second sentence could be more tightly integrated with the first for better flow.
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?
For a search tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (tweet objects, analysis results, error conditions), doesn't mention pagination or result format, and provides minimal behavioral context. The comprehensive mode mention helps but doesn't compensate for the overall gaps.
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 description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description mentions 'optionally filtered by specific handles' and 'comprehensive mode analyzes social media trends and sentiment', which adds minor context about the 'handles' and 'analysis_mode' parameters, but doesn't provide significant value beyond what's already in the schema descriptions.
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's purpose: 'Search Twitter/X posts using Grok's X search capabilities' with optional filtering. It specifies the verb ('search') and resource ('Twitter/X posts'), but doesn't explicitly differentiate from sibling tools like 'grok_search' or 'grok_web_search' beyond mentioning 'Twitter/X' specifically.
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 mentions 'comprehensive mode analyzes social media trends and sentiment' which implies some usage context, but provides no explicit guidance on when to use this tool versus alternatives like 'grok_search' or 'grok_web_search'. There's no mention of prerequisites, limitations, or comparative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grok_web_searchC
Search general web content using Grok. Supports comprehensive analysis mode for detailed insights.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The web search query | |
| analysis_mode | No | Analysis mode: 'basic' returns simple search results, 'comprehensive' provides detailed analysis with timelines, quotes, multiple perspectives, and context | basic |
| max_results | No | Maximum number of results to return | |
| from_date | No | Optional start date for search in ISO8601 format (YYYY-MM-DD). Limits search to content from this date onwards. | |
| to_date | No | Optional end date for search in ISO8601 format (YYYY-MM-DD). Limits search to content up to this date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'comprehensive analysis mode for detailed insights,' which hints at enhanced output, but doesn't describe what the tool returns (e.g., search results format, error handling, rate limits, or authentication needs). For a search tool with no annotation coverage, this is a significant gap in transparency.
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 concise and front-loaded with the core purpose in the first sentence. The second sentence adds useful detail about analysis mode without redundancy. Both sentences earn their place, making it efficient, though it could be slightly more structured by explicitly listing key features.
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?
Given the tool's complexity (5 parameters, no output schema, no annotations), the description is incomplete. It lacks details on return values, error conditions, and behavioral traits like rate limits or permissions. Without annotations or output schema, the description should compensate more to guide effective use, but it falls short.
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 description coverage is 100%, so the schema fully documents all 5 parameters. The description adds minimal value beyond the schema: it mentions 'comprehensive analysis mode' which aligns with the 'analysis_mode' parameter's enum, but doesn't provide additional context like use cases or examples. Baseline 3 is appropriate as the schema does the heavy lifting.
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's purpose: 'Search general web content using Grok.' It specifies the verb ('Search') and resource ('general web content'), and mentions 'comprehensive analysis mode for detailed insights' to differentiate it from basic search. However, it doesn't explicitly distinguish it from sibling tools like 'grok_news_search' or 'grok_search', which likely have overlapping functions.
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 provides no guidance on when to use this tool versus alternatives. It mentions 'comprehensive analysis mode' but doesn't explain when to choose this over basic mode or how it compares to sibling tools like 'grok_news_search' or 'grok_search'. There are no explicit when/when-not statements or named alternatives, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkB
Check the health status of the Grok Search MCP server and API connectivity
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions checking 'health status' and 'API connectivity' but doesn't disclose behavioral traits like what specific metrics are returned, whether it performs active tests or passive checks, expected response format, or potential side effects. The description is functional but lacks operational transparency needed for informed tool selection.
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 single, efficient sentence that clearly communicates the core purpose without any wasted words. It's appropriately sized for a simple health check tool and front-loads the essential information. Every word earns its place in conveying what the tool does.
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?
Given the tool's simplicity (0 parameters, no output schema), the description is reasonably complete for understanding its basic purpose. However, without annotations or output schema, it doesn't provide enough information about what health data is returned or how to interpret results. For a diagnostic tool, users need more context about expected outputs and success/failure indicators.
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?
The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description appropriately doesn't discuss parameters since none exist. It focuses correctly on the tool's purpose rather than attempting to describe non-existent inputs.
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's purpose with a specific verb ('Check') and resource ('health status of the Grok Search MCP server and API connectivity'). It distinguishes itself from sibling tools like grok_search or grok_web_search by focusing on system health rather than data retrieval. However, it doesn't explicitly differentiate from all siblings (e.g., grok_news_search also involves checking/searching).
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like troubleshooting connectivity issues, verifying server availability before other operations, or whether it should be used proactively. With sibling tools focused on search functionality, there's no explicit comparison or exclusion criteria provided.
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.
5 tool updates
v1.0.0- First observed
grok_news_search - First observed
grok_search - First observed
grok_twitter - First observed
grok_web_search - First observed
health_check
TDQS
Scored across 5 tools
Multiple tools have overlapping purposes that could cause confusion. grok_search, grok_web_search, and grok_news_search all perform web searches with similar comprehensive analysis modes, making it difficult for an agent to choose the right tool. Only grok_twitter and health_check have clearly distinct functions.
The naming follows a consistent snake_case pattern with a 'grok_' prefix for most tools, which is predictable and readable. The only deviation is health_check, which lacks the prefix but maintains the same naming style, keeping the set mostly consistent.
With 5 tools, the count is reasonable for a search-focused server, but it feels borderline due to redundancy. The set could be streamlined without losing functionality, as multiple tools cover similar search domains, making the number slightly heavy for the apparent scope.
The server covers news, web, and Twitter search with health monitoring, but there are notable gaps. For a search domain, missing tools for filtering, saving results, or handling advanced queries limit agent workflows. The surface is functional but incomplete for comprehensive search operations.
Maintenance
Related MCP Connectors
Real-time web and scholarly search with cited answers and multi-step deep research.
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
Web research for agents: quality-scored Google search, webpage extraction, and deep research.
Web search, scraping, Google Trends and data lookups. Paid per call in USDC on Base via x402.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceSearch X (formerly Twitter) in real-time from your AI assistant using xAI's Grok API, with no X API account required.19 npmMIT
- AlicenseAqualityDmaintenanceEnables real-time search of X.com (Twitter) posts, users, threads, and trends via xAI's Grok API, directly from Claude.53MIT
- AlicenseNot gradedqualityBmaintenanceLive X (Twitter) and web search for any coding agent through your existing Grok subscription. Exposes a grok_search MCP tool, so no X API key or X developer account is needed.21 npm28Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables real-time web and Twitter/X search via Grok, returning structured results with source URLs, confidence scores, and key points. Supports multiple output modes, language options, and time range filtering.19 npm4MIT