mcpField
G
grok-chat

grok-chat

Local
github.com/codeChapAI & Agents0Updated 9w ago

About grok-chat

grok-chat is a Rust MCP server that gives MCP clients access to the xAI Grok API for chat, vision, search, embeddings, and model discovery.

Key features

  1. 01Multi-turn chat with structured output
  2. 02Image analysis with vision models
  3. 03Live web and X search
  4. 04Text embedding generation
  5. 05Available model listing

Use cases

  1. 01Grounding answers with current web or X results
  2. 02Analyzing an image from its URL
  3. 03Generating embeddings for text
  4. 04Routing research across multiple agents

MCP support

Communicates over stdio with JSON-RPC 2.0 and exposes five Grok API tools to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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_search

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.