io.github.codeChap/grok-chat

Official registry Search and web

MCP server for the xAI Grok API — chat, vision, search, and embeddings

Install

The installation steps are in the documentation below. Documentation

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. mcp-server-grok-chat
  2. Tools
  3. Prerequisites
  4. Setup
  5. Build
  6. MCP Configuration
  7. Project Structure
  8. License

mcp-server-grok-chat

An MCP (Model Context Protocol) server for the xAI Grok API. Built in Rust, exposes chat completions, vision, web/X search, embeddings, and model listing as MCP tools.

Communicates via stdio using JSON-RPC 2.0, like all MCP servers.

Tools

ToolDescription
chatSend a chat completion request to Grok with optional multi-turn history, system prompt, structured output (JSON schema), model selection, and multi-agent research
chat_with_visionAnalyse an image with Grok's vision capabilities given an image URL and text prompt
chat_with_searchChat with Grok using live web search and/or X (Twitter) search to ground responses
embeddingGenerate text embeddings using Grok's embedding model
list_modelsList all available Grok models and their IDs (cached for 5 minutes)
chat

Send a chat completion request. Supports multi-turn conversations via a JSON message history array, system prompts, structured output via JSON schema, temperature control, model selection, and multi-agent research.

When using a multi-agent model (any model ID containing multi-agent), the request is automatically routed through the Responses API. The multi-agent model dispatches your query to multiple agents that research in parallel, then synthesizes their findings. Use reasoning_effort to control agent count. Call the list_models tool to see which multi-agent models are currently available.

Parameters:

NameTypeRequiredDescription
promptstringyesThe user message to send
modelstringnoModel ID (default: grok-4.3). Call list_models for the current set.
system_promptstringnoSystem prompt to set context
messagesstringnoFull conversation history as JSON array of {role, content} objects
temperaturefloatnoSampling temperature (0.0 - 2.0)
max_tokensintegernoMaximum tokens to generate
response_schemastringnoJSON schema string to enforce structured output
reasoning_effortstringnoOn grok-4.3: low/medium/high controls native reasoning depth. On multi-agent models: low/medium = 4 agents, high/xhigh = 16 agents (xhigh is multi-agent-only).
chat_with_vision

Analyse an image using Grok's vision capabilities.

Parameters:

NameTypeRequiredDescription
promptstringyesText prompt describing what to analyse
image_urlstringyesURL of the image (must be http:// or https://)
modelstringnoModel ID (default: grok-4.3). Must be a vision-capable model. Call list_models for the current set.
detailstringnoImage detail level: low or high (default: high)
temperaturefloatnoSampling temperature (0.0 - 2.0)
max_tokensintegernoMaximum tokens to generate

Chat with Grok using live web search and/or X (Twitter) search. The model automatically searches the internet to ground its response.

Parameters:

NameTypeRequiredDescription
promptstringyesThe user message to send
search_typestringnoSearch type: web, x, or both (default: both)
modelstringnoModel ID (default: grok-4.3). Call list_models for the current set.
system_promptstringnoSystem prompt to set context
temperaturefloatnoSampling temperature (0.0 - 2.0)
max_tokensintegernoMaximum tokens to generate
reasoning_effortstringnoOn grok-4.3: low/medium/high controls native reasoning depth. On multi-agent models: low/medium = 4 agents, high/xhigh = 16 agents (xhigh is multi-agent-only).
embedding

Generate text embeddings.

Parameters:

NameTypeRequiredDescription
inputstringyesText to embed as JSON: a single string or array of strings
modelstringnoEmbedding model to use (default: grok-2-text-embedding)
list_models

List all available Grok models. No parameters. Results are cached for 5 minutes.

Prerequisites

Setup

Create the config file:

mkdir -p ~/.config/mcp-server-grok-chat

Create ~/.config/mcp-server-grok-chat/config.toml:

api_key = "xai-..."

Build

cargo build --release

This produces target/release/grok-chat.

For development:

cargo build              # debug build
cargo run                # run in dev mode
RUST_LOG=debug cargo run # run with debug logging

MCP Configuration

Add to your Claude Desktop config (~/.config/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "grok-chat": {
      "command": "/path/to/grok-chat"
    }
  }
}

Project Structure

src/
  main.rs    - entry point, config loading, stdio transport setup
  server.rs  - MCP tool definitions (chat, chat_with_vision, chat_with_search, embedding, list_models)
  api.rs     - xAI HTTP client, request/response types, response formatters
  params.rs  - tool parameter types with serde and JSON Schema derives
  config.rs  - TOML config loading

License

MIT

Frequently asked questions

What is io.github.codeChap/grok-chat?

MCP server for the xAI Grok API — chat, vision, search, and embeddings

How do I install io.github.codeChap/grok-chat?

Follow the installation steps in its documentation, shown on this page and in its repository.

Is io.github.codeChap/grok-chat open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains io.github.codeChap/grok-chat?

It is published by codeChap. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.