xAI MCP Server

xAI MCP Server

Integrates xAI's Grok APIs into Claude Code to enable image and video generation, real-time web searches, and multi-modal image analysis. It provides a suite of tools for interacting with Grok models directly through natural language prompts during a Claude session.

Category
Visit Server

README

xAI MCP Server

A Model Context Protocol (MCP) server that brings xAI's Grok APIs to Claude Code. Generate images, chat with Grok, analyze images, search the web, and create videos—all from natural language prompts in your Claude Code session.

Features

Tool Description
generate_image Generate images using Grok Imagine
chat Chat with Grok models (grok-3, grok-4, grok-3-mini)
analyze_image Analyze and describe images with Grok Vision
live_search Real-time web, news, and X/Twitter search
generate_video Generate videos from text prompts

Prerequisites

  • Node.js 18.0.0 or higher
  • xAI API Key from x.ai/api
  • Claude Code installed

Installation

Option 1: Quick Install (Recommended)

curl -fsSL https://raw.githubusercontent.com/joemccann/xai-mcp-server/main/install.sh | bash

This installs the server and automatically configures Claude Code. You'll be prompted for your xAI API key.

Option 2: npx from GitHub

No installation needed - runs directly from GitHub:

npx github:joemccann/xai-mcp-server

Option 3: npm Global Install

npm install -g @joemccann/xai-mcp-server

Option 4: Clone and Build

git clone https://github.com/joemccann/xai-mcp-server.git
cd xai-mcp-server
npm install

Configuration for Claude Code

Step 1: Get Your xAI API Key

  1. Go to x.ai/api
  2. Sign up or log in
  3. Create an API key
  4. Copy the key (starts with xai-)

Step 2: Configure Claude Code

Note: If you used the Quick Install (Option 1), this is already done for you.

Add the MCP server to your Claude Code settings file:

Location: ~/.claude/settings.json

Using npx from npm (no install needed):

{
  "mcpServers": {
    "xai": {
      "command": "npx",
      "args": ["-y", "@joemccann/xai-mcp-server"],
      "env": {
        "XAI_API_KEY": "xai-your-api-key-here"
      }
    }
  }
}

Using npx from GitHub:

{
  "mcpServers": {
    "xai": {
      "command": "npx",
      "args": ["-y", "github:joemccann/xai-mcp-server"],
      "env": {
        "XAI_API_KEY": "xai-your-api-key-here"
      }
    }
  }
}

If installed globally via npm:

{
  "mcpServers": {
    "xai": {
      "command": "xai-mcp-server",
      "env": {
        "XAI_API_KEY": "xai-your-api-key-here"
      }
    }
  }
}

If cloned/installed locally:

{
  "mcpServers": {
    "xai": {
      "command": "node",
      "args": ["~/.xai-mcp-server/dist/index.js"],
      "env": {
        "XAI_API_KEY": "xai-your-api-key-here"
      }
    }
  }
}

Step 3: Restart Claude Code

Restart Claude Code to load the new MCP server. You should see the xAI tools available.

Usage

Once configured, you can use natural language to invoke xAI capabilities:

Image Generation

Generate an image of a cyberpunk cityscape at night with neon lights.
Using grok imagine, create a watercolor painting of a mountain landscape.
Generate 3 variations of a logo for a coffee shop called "Bean There".

Chat with Grok

Ask Grok to explain the theory of relativity in simple terms.
Have Grok write a haiku about programming.

Image Analysis

Analyze this image and describe what you see: https://example.com/photo.jpg
What text is visible in this screenshot: [image URL]

Live Search

Search for the latest news about SpaceX launches.
Find recent tweets about the new iPhone release.
Search the web for Python best practices 2024.

Video Generation

Generate a 5-second video of clouds moving across a blue sky.
Create a video animation of a bouncing ball.

Tool Reference

generate_image

Generate images from text descriptions using Grok Imagine.

Parameter Type Required Default Description
prompt string Yes - Text description of the image
n number No 1 Number of images (1-10)
model string No grok-2-image Image generation model
aspect_ratio string No - Aspect ratio (e.g., "16:9", "1:1", "4:3")
response_format string No url Output format: "url" or "b64_json"

Example Response:

{
  "success": true,
  "images": [
    {
      "index": 1,
      "url": "https://api.x.ai/images/generated/abc123.png",
      "revised_prompt": "A detailed cyberpunk cityscape..."
    }
  ]
}

chat

Chat with Grok language models.

Parameter Type Required Default Description
message string Yes - Message to send to Grok
model string No grok-3 Model: grok-3, grok-4, grok-3-mini
system_prompt string No - System context/instructions
temperature number No 0.7 Sampling temperature (0-2)
max_tokens number No - Maximum response tokens

analyze_image

Analyze images using Grok's vision capabilities.

Parameter Type Required Default Description
image_url string Yes - Image URL or base64 data URL
prompt string No "Describe this image" Question or instruction
detail string No auto Detail level: "low", "high", "auto"
model string No grok-2-vision-1212 Vision model

live_search

Perform real-time web searches using Grok.

Parameter Type Required Default Description
query string Yes - Search query
sources array No ["web"] Sources: "web", "news", "x"
date_range object No - Date filter: { start, end } (YYYY-MM-DD)
max_results number No 10 Maximum results (1-20)

generate_video

Generate videos from text descriptions.

Parameter Type Required Default Description
prompt string Yes - Video description
model string No grok-2-video Video generation model
duration number No 5 Duration in seconds (1-15)
image string No - Input image URL to animate
video string No - Input video URL to edit
aspect_ratio string No - Aspect ratio (e.g., "16:9")
wait_for_completion boolean No true Wait for video to finish

Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Watch mode (rebuild on changes)
npm run dev

# Run the server directly
npm start

Project Structure

xai-mcp-server/
├── src/
│   ├── index.ts           # MCP server entry point
│   ├── xai-client.ts      # xAI API client with types
│   └── tools/
│       ├── generate-image.ts
│       ├── chat.ts
│       ├── vision.ts
│       ├── live-search.ts
│       └── generate-video.ts
├── dist/                  # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md

Troubleshooting

"XAI_API_KEY environment variable is required"

Ensure your ~/.claude/settings.json includes the env block with your API key:

"env": {
  "XAI_API_KEY": "xai-your-key-here"
}

Tools not appearing in Claude Code

  1. Verify the path in args is absolute and correct
  2. Ensure the project is built (npm run build)
  3. Restart Claude Code completely
  4. Check Claude Code logs for MCP connection errors

API errors

  • Verify your API key is valid at x.ai
  • Check you have sufficient API credits
  • Some features may require specific API tier access

API Reference

This server uses the xAI API. For full API documentation, see:

License

MIT

Contributing

Contributions welcome! Please open an issue or submit a pull request.

Acknowledgments

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured