Grok Chat MCP

Servidor MCP para a API xAI Grok — chat, visão, busca e embeddings (Rust, stdio)

Documentação

mcp-server-grok-chat

Um servidor MCP (Model Context Protocol) para a API Grok da xAI. Construído em Rust, expõe conclusões de chat, visão, busca na web/X, embeddings e listagem de modelos como ferramentas MCP.

Comunica via stdio usando JSON-RPC 2.0, como todos os servidores MCP.

Ferramentas

FerramentaDescrição
chatEnvia uma solicitação de conclusão de chat para Grok com histórico multi-turno opcional, prompt de sistema, saída estruturada (esquema JSON), seleção de modelo e pesquisa multiagente
chat_with_visionAnalisa uma imagem com os recursos de visão do Grok, dado um URL de imagem e um prompt de texto
chat_with_searchConversa com Grok usando busca na web ao vivo e/ou busca no X (Twitter) para fundamentar as respostas
embeddingGera embeddings de texto usando o modelo de embedding do Grok
list_modelsLista todos os modelos Grok disponíveis e seus IDs (armazenados em cache por 5 minutos)

chat

Envia uma solicitação de conclusão de chat. Suporta conversas multi-turno via uma matriz JSON de histórico de mensagens, prompts de sistema, saída estruturada via esquema JSON, controle de temperatura, seleção de modelo e pesquisa multiagente.

Ao usar um modelo multiagente (qualquer ID de modelo contendo multi-agent), a solicitação é automaticamente roteada pela API de Respostas. O modelo multiagente despacha sua consulta para vários agentes que pesquisam em paralelo e depois sintetizam suas descobertas. Use reasoning_effort para controlar o número de agentes. Chame a ferramenta list_models para ver quais modelos multiagente estão disponíveis atualmente.

Parâmetros:

NomeTipoObrigatórioDescrição
promptstringsimA mensagem do usuário a ser enviada
modelstringnãoID do modelo (padrão: grok-4.3). Chame list_models para o conjunto atual.
system_promptstringnãoPrompt de sistema para definir contexto
messagesstringnãoHistórico completo da conversa como matriz JSON de objetos {role, content}
temperaturefloatnãoTemperatura de amostragem (0.0 - 2.0)
max_tokensinteironãoMáximo de tokens a gerar
response_schemastringnãoString de esquema JSON para impor saída estruturada
reasoning_effortstringnãoEm grok-4.3: low/medium/high controla a profundidade de raciocínio nativa. Em modelos multiagente: low/medium = 4 agentes, high/xhigh = 16 agentes (xhigh é exclusivo para multiagente).

chat_with_vision

Analisa uma imagem usando os recursos de visão do Grok.

Parâmetros:

NomeTipoObrigatórioDescrição
promptstringsimPrompt de texto descrevendo o que analisar
image_urlstringsimURL da imagem (deve ser http:// ou https://)
modelstringnãoID do modelo (padrão: grok-4.3). Deve ser um modelo com capacidade de visão. Chame list_models para o conjunto atual.
detailstringnãoNível de detalhe da imagem: low ou high (padrão: high)
temperaturefloatnãoTemperatura de amostragem (0.0 - 2.0)
max_tokensinteironãoMáximo de tokens a gerar

chat_with_search

Conversa com Grok usando busca na web ao vivo e/ou busca no X (Twitter). O modelo pesquisa automaticamente na internet para fundamentar sua resposta.

Parâmetros:

NomeTipoObrigatórioDescrição
promptstringsimA mensagem do usuário a ser enviada
search_typestringnãoTipo de busca: web, x ou both (padrão: both)
modelstringnãoID do modelo (padrão: grok-4.3). Chame list_models para o conjunto atual.
system_promptstringnãoPrompt de sistema para definir contexto
temperaturefloatnãoTemperatura de amostragem (0.0 - 2.0)
max_tokensinteironãoMáximo de tokens a gerar
reasoning_effortstringnãoEm grok-4.3: low/medium/high controla a profundidade de raciocínio nativa. Em modelos multiagente: low/medium = 4 agentes, high/xhigh = 16 agentes (xhigh é exclusivo para multiagente).

embedding

Gera embeddings de texto.

Parâmetros:

NomeTipoObrigatórioDescrição
inputstringsimTexto para incorporar como JSON: uma única string ou matriz de strings
modelstringnãoModelo de embedding a usar (padrão: grok-2-text-embedding)

list_models

Lista todos os modelos Grok disponíveis. Sem parâmetros. Os resultados são armazenados em cache por 5 minutos.

Pré-requisitos

Configuração

Crie o arquivo de configuração:

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

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

api_key = "xai-..."

Compilação

cargo build --release

Isso produz target/release/grok-chat.

Para desenvolvimento:

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

Configuração MCP

Adicione à configuração do seu Claude Desktop (~/.config/Claude/claude_desktop_config.json):

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

Estrutura do Projeto

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

Licença

MIT