Grok MCP
A MCP server for xAI's Grok API, providing access to capabilities including image understanding, image generation, live web search, and reasoning models.
Grok-MCP
A MCP server for xAI's Grok API, providing access to capabilities including image understanding, image generation, live web search, and reasoning models.
🚀 Features
- Multiple Grok Models: Access to Grok-4, Grok-4-Fast, Grok-3-Mini, and more
- Image Generation: Create images using Grok's image generation models
- Vision Capabilities: Analyze images with Grok's vision models
- Live Web Search: Real-time web search with citations from news, web, X, and RSS feeds
- Reasoning Models: Advanced reasoning with extended thinking models (Grok-3-Mini, Grok-4)
- Stateful Conversations: Use this nrewly released feature to maintain conversation context as id across multiple requests
- Conversation History: Built-in support for multi-turn conversations
📋 Prerequisites
- Python 3.11 or higher
- xAI API key (Get one here)
uv
package manager
🛠️ Installation
- Clone the repository:
git clone https://github.com/merterbak/Grok-MCP.git
cd Grok-MCP
- Create a venv environment:
uv venv
source .venv/bin/activate
- Installation:
uv pip install -e .
(Optional) or you can sync dependencies
uv sync --all-extras
🔧 Configuration
Claude Desktop Integration
Add this to your Claude Desktop configuration file:
{
"mcpServers": {
"grok": {
"command": "uv",
"args": [
"--directory",
"/path/to/Grok-MCP",
"run",
"python",
"main.py"
],
"env": {
"XAI_API_KEY": "your_api_key_here"
}
}
}
}
Filesystem MCP (Optional)
Claude Desktop can't send uploaded images in the chat to an MCP tool. The easiest way to give access to files directly from your computer is official Filesystem MCP server. After setting it up you’ll be able to just write the image’s file path (such as /Users/mert/Desktop/image.png) in chat and Claude can use it with any vision chat tool.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/<your-username>/Desktop",
"/Users/<your-username>/Downloads"
]
}
}
}
For stdio:
uv run python main.py
Docker:
docker compose up --build
Mcp Inspector:
mcp dev main.py
📚 Available Tools
1. list_models
List all available Grok models with creation dates and ownership information.
2. chat
Standard chat completion with extensive customization options.
Parameters:
prompt
(required): Your messagemodel
: Model to use (default: "grok-4-fast")system_prompt
: Optional system instructionuse_conversation_history
: Enable multi-turn conversationstemperature
,max_tokens
,top_p
: Generation parameterspresence_penalty
,frequency_penalty
,stop
: Advanced controlreasoning_effort
: For reasoning models ("low" or "high")
3. chat_with_reasoning
Get detailed reasoning along with the response.
Parameters:
prompt
(required): Your question or taskmodel
: "grok-4", "grok-3-mini", or "grok-3-mini-fast"reasoning_effort
: "low" or "high" (not for grok-4)system_prompt
,temperature
,max_tokens
,top_p
Returns: Content, reasoning content, and usage statistics
4. chat_with_vision
Analyze images with natural language queries.
Parameters:
prompt
(required): Your question about the image(s)image_paths
: List of local image file pathsimage_urls
: List of image URLsdetail
: "auto", "low", or "high"model
: Vision-capable model (default: "grok-4-0709")
Supported formats: JPG, JPEG, PNG
5. generate_image
Create images from text descriptions.
Parameters:
prompt
(required): Image descriptionn
: Number of images to generate (default: 1)response_format
: "url" or "b64_json"model
: Image generation model (default: "grok-2-image-1212")
Returns: Generated images and revised prompt
6. live_search
Search the web in real-time with source citations.
Parameters:
prompt
(required): Your search querymodel
: Model to use (default: "grok-4")mode
: "on" or "off"return_citations
: Include source citations (default: true)from_date
,to_date
: Date range (YYYY-MM-DD)max_search_results
: Max results to fetch (default: 20)country
: Country code for localized searchrss_links
: List of RSS feed URLs to searchsources
: Custom source configuration
Returns: Content, citations, usage stats, and number of sources used
7. stateful_chat
Maintain conversation state across multiple requests on xAI servers.
Parameters:
prompt
(required): Your messageresponse_id
: Previous response ID to continue conversationmodel
: Model to use (default: "grok-4")system_prompt
: System instruction (only for new conversations)include_reasoning
: Include reasoning summarytemperature
,max_tokens
Returns: Response with ID for continuing the conversation (stored for 30 days)
8. retrieve_stateful_response
Retrieve a previously stored conversation response.
Parameters:
response_id
(required): The response ID to retrieve
9. delete_stateful_response
Delete a stored conversation from xAI servers.
Parameters:
response_id
(required): The response ID to delete
📄 License
This project is open source and available under the MIT License.
Related Servers
Criage MCP Server
An MCP server for the Criage package manager, providing full client functionality via the MCP protocol.
CodeSeeker
Advanced code search and transformation powered by ugrep and ast-grep for modern development workflows.
Currents
Enable AI Agents to fix Playwright test failures reported to Currents.
Unstructured API MCP Server
Interact with the Unstructured API to manage data sources, destinations, workflows, and jobs.
Feishu MCP Server
An MCP server with built-in Feishu OAuth authentication, deployable on Cloudflare Workers.
JetBrains
Work on your code with JetBrains IDEs
NPM Sentinel MCP
An AI-powered MCP server for analyzing NPM package security, dependencies, and performance.
Postman API
An MCP server for interacting with the Postman API, requiring an API key.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers, without authentication.
WordPress Feel Chatbot Plugin
A WordPress plugin that transforms a WordPress site into an MCP server, allowing direct access to its content.