Grok Image MCP
Servidor MCP para geração e edição de imagens Grok
Documentação
mcp-server-grok-image
Um servidor MCP (Model Context Protocol) para a API de geração de imagens Grok da xAI. Construído em Rust, expõe geração e edição de imagens como ferramentas MCP.
Comunica-se via stdio usando JSON-RPC 2.0, como todos os servidores MCP.
Ferramentas
| Ferramenta | Descrição |
|---|---|
generate_image | Gera uma imagem a partir de um prompt de texto |
edit_image | Edita uma imagem existente usando instruções em linguagem natural |
list_styles | Lista estilos de imagem disponíveis para uso com generate_image |
generate_image
Gera uma imagem a partir de uma descrição em texto.
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
prompt | string | sim | Descrição em texto da imagem desejada |
model | string | não | Modelo a usar (padrão: grok-imagine-image) |
n | integer | não | Número de imagens a gerar (1-10, padrão 1) |
aspect_ratio | string | não | Proporção de aspecto: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2, auto, etc. |
resolution | string | não | Resolução de saída: 1k (~1024px, padrão) ou 2k (~2048px) |
response_format | string | não | Formato de saída: url (padrão, temporário) ou b64_json |
style | string | não | Nome do estilo a aplicar (use list_styles para ver as opções) |
Quando um estilo é definido, o prompt é envolvido no template do estilo. Por exemplo, com style: "watercolor" e prompt: "a cat on a roof", a API recebe "a cat on a roof, as a watercolor painting". Evite incluir linguagem de estilo no próprio prompt ao usar este parâmetro.
A resposta inclui o prompt resolvido para que você veja exatamente o que foi enviado à API.
edit_image
Edita uma imagem existente usando instruções em linguagem natural.
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
image_url | string | sim | URL, data URI base64 ou caminho de arquivo local da imagem de origem |
prompt | string | sim | Instruções de edição em linguagem natural |
model | string | não | Modelo a usar (padrão: grok-imagine-image) |
n | integer | não | Número de variações a gerar (1-10, padrão 1) |
resolution | string | não | Resolução de saída: 1k (~1024px, padrão) ou 2k (~2048px) |
response_format | string | não | Formato de saída: url (padrão, temporário) ou b64_json |
Observação: o parâmetro style intencionalmente não está disponível no edit_image — prompts de edição são instruções (ex.: "remover o fundo"), não descrições, então envolvê-los em templates de estilo produziria resultados sem sentido.
list_styles
Retorna todos os estilos de imagem disponíveis com seu nome, descrição e template de prompt. Sem parâmetros.
Estilos Integrados
| Estilo | Descrição |
|---|---|
watercolor | Estilo de pintura em aquarela |
oil-painting | Pintura a óleo com pinceladas visíveis |
pencil-sketch | Esboço detalhado a lápis |
pixel-art | Pixel art retrô |
anime | Ilustração em estilo anime |
pop-art | Estilo pop art ousado |
art-nouveau | Art nouveau com linhas orgânicas fluidas |
cinematic | Fotografia cinematográfica com iluminação dramática |
portrait | Fotografia profissional de retrato |
macro | Fotografia macro extrema |
aerial | Fotografia aérea com drone |
studio | Fotografia de estúdio com fundo limpo |
noir | Estilo film noir escuro |
vintage | Fotografia vintage desbotada |
Modelos Disponíveis
| Modelo | Resolução | Custo | Limite de Taxa |
|---|---|---|---|
grok-imagine-image (padrão) | 1k/2k | $0,02/imagem | 300 RPM |
Pré-requisitos
- Rust (edição 2024)
- Uma chave de API xAI de console.x.ai
Configuração
Crie o arquivo de configuração:
mkdir -p ~/.config/mcp-server-grok-image
Crie ~/.config/mcp-server-grok-image/config.toml:
api_key = "xai-..."
Estilos Personalizados
Adicione estilos personalizados ao seu arquivo de configuração. Estilos personalizados com o mesmo nome de um estilo integrado o substituirão.
api_key = "xai-..."
[[styles]]
name = "my-style"
description = "My custom look"
template = "{prompt}, in my custom style"
[[styles]]
name = "watercolor"
description = "My watercolor variant"
template = "{prompt}, as a loose expressive watercolor with ink outlines"
Templates devem conter o placeholder {prompt}. Qualquer estilo personalizado sem ele será ignorado com um aviso na inicialização.
Compilação
cargo build --release
Isso produz target/release/mcp-server-grok-image.
Para desenvolvimento:
cargo build # debug build
cargo run # run in dev mode
RUST_LOG=debug cargo run # run with debug logging
Configuração do MCP
Adicione à configuração do seu Claude Desktop (~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"grok-image": {
"command": "/path/to/mcp-server-grok-image"
}
}
}
Estrutura do Projeto
src/
main.rs - everything: config, styles, API types, MCP server, tool definitions
Licença
MIT