Grok Chat MCP

Servidor MCP para la API de xAI Grok — chat, visión, búsqueda y embeddings (Rust, stdio)

Documentación

mcp-server-grok-chat

Un servidor MCP (Protocolo de Contexto de Modelo) para la API de xAI Grok. Construido en Rust, expone completaciones de chat, visión, búsqueda web/X, incrustaciones y listado de modelos como herramientas MCP.

Se comunica mediante stdio usando JSON-RPC 2.0, como todos los servidores MCP.

Herramientas

HerramientaDescripción
chatEnvía una solicitud de completación de chat a Grok con historial multi-turno opcional, prompt de sistema, salida estructurada (esquema JSON), selección de modelo e investigación multi-agente
chat_with_visionAnaliza una imagen con las capacidades de visión de Grok dada una URL de imagen y un prompt de texto
chat_with_searchChatea con Grok usando búsqueda web en vivo y/o búsqueda en X (Twitter) para fundamentar las respuestas
embeddingGenera incrustaciones de texto usando el modelo de incrustación de Grok
list_modelsLista todos los modelos de Grok disponibles y sus IDs (almacenados en caché durante 5 minutos)

chat

Envía una solicitud de completación de chat. Admite conversaciones multi-turno mediante un arreglo JSON de historial de mensajes, prompts de sistema, salida estructurada mediante esquema JSON, control de temperatura, selección de modelo e investigación multi-agente.

Al usar un modelo multi-agente (cualquier ID de modelo que contenga multi-agent), la solicitud se enruta automáticamente a través de la API de Respuestas. El modelo multi-agente envía tu consulta a múltiples agentes que investigan en paralelo y luego sintetiza sus hallazgos. Usa reasoning_effort para controlar el número de agentes. Llama a la herramienta list_models para ver qué modelos multi-agente están disponibles actualmente.

Parámetros:

NombreTipoRequeridoDescripción
promptstringEl mensaje del usuario a enviar
modelstringnoID del modelo (predeterminado: grok-4.3). Llama a list_models para el conjunto actual.
system_promptstringnoPrompt de sistema para establecer contexto
messagesstringnoHistorial completo de conversación como arreglo JSON de objetos {role, content}
temperaturefloatnoTemperatura de muestreo (0.0 - 2.0)
max_tokensintegernoMáximo de tokens a generar
response_schemastringnoCadena de esquema JSON para imponer salida estructurada
reasoning_effortstringnoEn grok-4.3: low/medium/high controla la profundidad de razonamiento nativa. En modelos multi-agente: low/medium = 4 agentes, high/xhigh = 16 agentes (xhigh es solo multi-agente).

chat_with_vision

Analiza una imagen usando las capacidades de visión de Grok.

Parámetros:

NombreTipoRequeridoDescripción
promptstringPrompt de texto que describe qué analizar
image_urlstringURL de la imagen (debe ser http:// o https://)
modelstringnoID del modelo (predeterminado: grok-4.3). Debe ser un modelo con capacidad de visión. Llama a list_models para el conjunto actual.
detailstringnoNivel de detalle de la imagen: low o high (predeterminado: high)
temperaturefloatnoTemperatura de muestreo (0.0 - 2.0)
max_tokensintegernoMáximo de tokens a generar

chat_with_search

Chatea con Grok usando búsqueda web en vivo y/o búsqueda en X (Twitter). El modelo busca automáticamente en internet para fundamentar su respuesta.

Parámetros:

NombreTipoRequeridoDescripción
promptstringEl mensaje del usuario a enviar
search_typestringnoTipo de búsqueda: web, x o both (predeterminado: both)
modelstringnoID del modelo (predeterminado: grok-4.3). Llama a list_models para el conjunto actual.
system_promptstringnoPrompt de sistema para establecer contexto
temperaturefloatnoTemperatura de muestreo (0.0 - 2.0)
max_tokensintegernoMáximo de tokens a generar
reasoning_effortstringnoEn grok-4.3: low/medium/high controla la profundidad de razonamiento nativa. En modelos multi-agente: low/medium = 4 agentes, high/xhigh = 16 agentes (xhigh es solo multi-agente).

embedding

Genera incrustaciones de texto.

Parámetros:

NombreTipoRequeridoDescripción
inputstringTexto a incrustar como JSON: una sola cadena o un arreglo de cadenas
modelstringnoModelo de incrustación a usar (predeterminado: grok-2-text-embedding)

list_models

Lista todos los modelos de Grok disponibles. Sin parámetros. Los resultados se almacenan en caché durante 5 minutos.

Requisitos previos

  • Rust (edición 2024)
  • Una clave de API de xAI de console.x.ai

Configuración

Crea el archivo de configuración:

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

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

api_key = "xai-..."

Compilación

cargo build --release

Esto produce target/release/grok-chat.

Para desarrollo:

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

Configuración de MCP

Agrega a tu configuración de Claude Desktop (~/.config/Claude/claude_desktop_config.json):

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

Estructura del Proyecto

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

Licencia

MIT