Grok-MCP
MCP server for xAI’s Grok API with Web/X search, vision, image/video generation and file support
Documentation
Grok-MCP
MCP server for xAI’s Grok API with Web/X search, vision, image/video generation and file support.
Features
- Agentic Tool Calling: Web search, X search, code execution, and image generation with multi-step reasoning
- Multiple Grok Models: Access to latest models such as grok-4.6, grok-4.5, grok-build-0.1 and more
- Image and Video Generation: Create images and videos using Grok Imagine
- Vision Capabilities: Analyze images with Grok's vision models
- Files API: Upload, manage, and chat with documents
- Stateful Conversations: Maintain conversation context as id across multiple requests
- Local Chat History: Option to save persistent client side chat history as JSON files in chats/
Prerequisites
- Python 3.11 or higher
- xAI API key (Get one here)
- Astral UV
Installation
1. Clone the repository:
git clone https://github.com/merterbak/Grok-MCP.git
cd Grok-MCP2. Create a venv environment:
uv venv
source .venv/bin/activate # macOS/Linux or .venv\Scripts\activate on Windows3. Install dependencies:
uv syncConfiguration
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"
}
}
}
}Claude Code Integration
Run this command from inside the project directory:
claude mcp add grok-mcp -e XAI_API_KEY=your_api_key_here -- uv run --directory /path/to/Grok-MCP python main.pyOr if you have a `.env` file with your key:
claude mcp add grok-mcp -- uv run --directory /path/to/Grok-MCP python main.pyVerify it's registered:
claude mcp listFilesystem 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//Desktop",
"/Users//Downloads"
]
}
}
}For stdio:
uv run python main.pyDocker:
docker compose up --buildMcp Inspector:
mcp dev main.pyAvailable Tools
Each tool has a full docstring in src/server.py with its arguments and return format. MCP client surfaces those directly, so this list is just a quick map of what's available.
Note: For using images and files, you must provide paths to chat. See Filesystem MCP (Optional) for setup.
Chat and reasoning
- `chat` — standard chat completion with optional persistent history, multi-agent support,
and a per request `service_tier`.
- `chat_with_vision` — analyze local or remote images with a Grok vision model.
- `chat_with_files` — chat grounded on previously uploaded documents.
- `stateful_chat` — continue a server-side stored conversation via `response_id`.
- `retrieve_stateful_response` — fetch a stored response by ID.
- `delete_stateful_response` — delete a stored response by ID.
Agentic tools
- `web_search` — autonomous web research with domain filters and citations.
- `x_search` — autonomous search over X (Twitter) posts, with handle and date filters.
- `code_executor` — solve tasks by running Python in a sandbox.
- `grok_agent` — unified agent that mixes files, images, web search, X search, code execution,
and server-side image generation. Generated images are written to `images/`.
Image and video
- `generate_image` — create or edit images with Grok Imagine (multi-reference editing supported).
Pass `save=true` to write the results to `images/` instead of returning temporary URLs.
- `generate_video` — text-to-video, image-to-video, or video editing with Grok Imagine.
- `extend_video` — extend an existing generated video with a follow-up prompt.
Files
- `upload_file` — upload a local document.
- `list_files` — list uploaded files with sorting.
- `get_file` — fetch file metadata by ID.
- `get_file_content` — download file content as text.
- `delete_file` — delete a file by ID.
Local chat history
- `list_chat_sessions` — list saved sessions in `chats/`.
- `get_chat_history` — get a session's full transcript.
- `clear_chat_history` — delete a session's local history file.
Models
- `list_models` — list all Grok language and image models with live pricing.
License
This project is open source and available under the MIT License.
Frequently asked questions
What is Grok-MCP?
Grok-MCP is MCP server for xAI’s Grok API with Web/X search, vision, image/video generation and file support
How do I install Grok-MCP?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is Grok-MCP open source?
Yes — it is hosted on GitHub at https://github.com/merterbak/Grok-MCP and has 51 stars.
Related MCP tools
Fast and Accurate Code Search for Agents. Uses 99% fewer tokens than grep+read
Control Gmail, Google Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks, Search & Drive with AI - Comprehensive Google Workspace MCP Server & CLI Tool
Cut AI token costs 95%+ on code exploration. The leading MCP server for precise, symbol-level GitHub code retrieval via tree-sitter AST. Works with Claude Code, Cursor & any MCP client. 313B+ tokens saved.
Open source implementation and extension of Google Research’s PaperBanana for automated academic figures, diagrams, and research visuals, expanded to new domains like slide generation.
MCP server and Claude plugin for Postgres skills and documentation. Helps AI coding tools generate better PostgreSQL code.
Official MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP