loading…
Search for a command to run...
loading…
MCP server for xAI's [Grok API](https://docs.x.ai/docs/overview) with agentic tool calling, image generation, vision, and file support.
MCP server for xAI's [Grok API](https://docs.x.ai/docs/overview) with agentic tool calling, image generation, vision, and file support.
MCP server for xAI's Grok API with agentic tool calling, image and video generation, vision, and file support.
git clone https://github.com/merterbak/Grok-MCP.git
cd Grok-MCP
uv venv
source .venv/bin/activate # macOS/Linux or .venv\Scripts\activate on Windows
uv sync
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"
}
}
}
}
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.py
Or if you have a .env file with your key:
claude mcp add grok-mcp -- uv run --directory /path/to/Grok-MCP python main.py
Verify it's registered:
claude mcp list
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
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 — standard chat completion with optional persistent history and multi-agent support.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.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, and code execution.generate_image — create or edit images with Grok Imagine (multi-reference editing supported).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.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.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.list_models — list all Grok language and image models with live pricing.This project is open source and available under the MIT License.
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"merterbak-grok-mcp": {
"command": "npx",
"args": []
}
}
}