trackmcp
Back to directory
codeChap

mcp-server-grok-chat

View on GitHub

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

0 stars RustOthers Updated Aug 26, 2026

Documentation

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
`chat`Send 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_vision`Analyse an image with Grok's vision capabilities given an image URL and text prompt
`chat_with_search`Chat with Grok using live web search and/or X (Twitter) search to ground responses
`embedding`Generate text embeddings using Grok's embedding model
`list_models`List 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
`prompt`stringyesThe user message to send
`model`stringnoModel ID (default: `grok-4.3`). Call `list_models` for the current set.
`system_prompt`stringnoSystem prompt to set context
`messages`stringnoFull conversation history as JSON array of `{role, content}` objects
`temperature`floatnoSampling temperature (0.0 - 2.0)
`max_tokens`integernoMaximum tokens to generate
`response_schema`stringnoJSON schema string to enforce structured output
`reasoning_effort`stringnoOn `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
`prompt`stringyesText prompt describing what to analyse
`image_url`stringyesURL of the image (must be http:// or https://)
`model`stringnoModel ID (default: `grok-4.3`). Must be a vision-capable model. Call `list_models` for the current set.
`detail`stringnoImage detail level: `low` or `high` (default: `high`)
`temperature`floatnoSampling temperature (0.0 - 2.0)
`max_tokens`integernoMaximum 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
`prompt`stringyesThe user message to send
`search_type`stringnoSearch type: `web`, `x`, or `both` (default: `both`)
`model`stringnoModel ID (default: `grok-4.3`). Call `list_models` for the current set.
`system_prompt`stringnoSystem prompt to set context
`temperature`floatnoSampling temperature (0.0 - 2.0)
`max_tokens`integernoMaximum tokens to generate
`reasoning_effort`stringnoOn `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
`input`stringyesText to embed as JSON: a single string or array of strings
`model`stringnoEmbedding 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:

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

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

toml
api_key = "xai-..."

Build

bash
cargo build --release

This produces `target/release/grok-chat`.

For development:

bash
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`):

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

Project Structure

code
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 mcp-server-grok-chat?

mcp-server-grok-chat is MCP server for xAI Grok API — chat, vision, search, and embeddings

How do I install mcp-server-grok-chat?

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 mcp-server-grok-chat open source?

Yes — it is hosted on GitHub at https://github.com/codeChap/mcp-server-grok-chat.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP