Skip to main content
Glama

wikivibe-images-mcp

MCP-сервер для генерации и редактирования изображений через WikiVibe. Работает в любом агенте с поддержкой MCP: OMP, Codex CLI, Claude Code, Cursor, opencode/Orca.

Поставил → сказал «сделай картинку через wikivibe» → получил файл.

┌──────────────┐
│ OMP          │─┐
│ Codex CLI    │─┤   stdio    ┌────────────────┐   HTTPS   ┌──────────────────┐
│ Claude Code  │─┼───────────▶│wikivibe-images │──────────▶│ api.wikivibe.ru  │
│ Cursor       │─┤            │  (один бандл)  │           │ /images/…        │
│ opencode     │─┘            └────────┬───────┘           └──────────────────┘
└──────────────┘                       │
                              ~/.wikivibe/credentials.json (0600)

Быстрый старт

npx -y wikivibe-images-mcp login        # сохранить ключ (один раз)
npx -y wikivibe-images-mcp setup all    # прописать сервер во все агенты

Перезапустить агент и попросить:

сделай картинку через wikivibe: рыжий кот в космическом шлеме, фотореализм

Агент вызовет generate_image, получит путь к файлу и покажет картинку.

setup без аргументов или с all обходит все клиенты; можно указать выборочно:

npx -y wikivibe-images-mcp setup omp codex

Доступные имена: omp, claude, codex, cursor, opencode (она же orca).

setup копирует собранный сервер в ~/.wikivibe/bin/wikivibe-images-mcp.js и прописывает именно этот путь. Конфиги агентов не зависят ни от каталога репозитория, ни от кэша npx: после обновления достаточно заново выполнить setup.

Related MCP server: imaginate-mcp

Ручная настройка

Если не хотите запускать setup, добавьте сервер сами. Везде ниже используется стабильная копия; вместо неё можно указать npx -y wikivibe-images-mcp mcp.

OMP — ~/.omp/agent/mcp.json:

{
  "mcpServers": {
    "wikivibe": {
      "command": "node",
      "args": ["/Users/YOU/.wikivibe/bin/wikivibe-images-mcp.js", "mcp"],
      "timeout": 300000
    }
  }
}

Codex CLI — ~/.codex/config.toml:

[mcp_servers.wikivibe]
command = "node"
args = ["/Users/YOU/.wikivibe/bin/wikivibe-images-mcp.js", "mcp"]
tool_timeout_sec = 300

Claude Code:

claude mcp add --scope user wikivibe -- node ~/.wikivibe/bin/wikivibe-images-mcp.js mcp

Cursor — ~/.cursor/mcp.json: тот же JSON, что и для OMP.

opencode / Orca — ~/.config/opencode/opencode.json:

{
  "mcp": {
    "wikivibe": {
      "type": "local",
      "command": ["node", "/Users/YOU/.wikivibe/bin/wikivibe-images-mcp.js", "mcp"],
      "enabled": true
    }
  }
}

Таймауты. Генерация одной картинки занимает 25–45 секунд, а клиенты по умолчанию обрывают MCP-вызов раньше. Поэтому в OMP нужен "timeout": 300000, в Codex — tool_timeout_sec = 300, в Claude Code — MCP_TOOL_TIMEOUT=300000 в окружении.

Инструменты

Инструмент

Параметры

Что делает

generate_image

prompt или prompts[], n, model, size, quality, output_path

создаёт изображения по тексту

edit_image

prompt, images[], n, model, size, quality, output_path

правит локальные файлы (inpainting, restyle, замена объектов)

list_image_models

—

какие image-модели доступны ключу

Каждый результат — путь к файлу на диске и сам файл как MCP image-блок, поэтому картинку видно и в агентах без доступа к файловой системе.

Несколько картинок за один вызов

// варианты одного промпта
{ "prompt": "керамическая чашка, продуктовое фото", "n": 3 }

// разные картинки
{ "prompts": ["лиса акварелью", "кит акварелью", "сова акварелью"] }

Максимум 4 изображения за вызов. Запросы идут строго последовательно: API WikiVibe не принимает n > 1 для gpt-image-* (апстрим отвечает unknown_parameter: tools[0].n), а параллельные вызовы роняют его в 502. Время растёт линейно — примерно 25–45 секунд на картинку.

Ключ API

Ключ хранится только в ~/.wikivibe/credentials.json (права 0600, каталог 0700). В конфиги агентов он не попадает — там лишь команда запуска.

wikivibe-images login                  # интерактивно, ввод скрыт
wikivibe-images login --key sk-…       # для CI
wikivibe-images import                 # подхватить WIKIVIBE_API_KEY из ~/.omp/.env или ./.env
wikivibe-images status                 # проверить ключ, base URL и доступные модели

Приоритет источников: WIKIVIBE_API_KEY → ~/.wikivibe/credentials.json.

Переменные окружения

Переменная

Назначение

WIKIVIBE_API_KEY

ключ, переопределяет сохранённый

WIKIVIBE_BASE_URL

по умолчанию https://api.wikivibe.ru/v1

WIKIVIBE_IMAGE_MODEL

модель по умолчанию (сейчас gpt-image-2.5)

WIKIVIBE_OUTPUT_DIR

куда складывать файлы (по умолчанию системный temp)

WIKIVIBE_CONFIG_DIR

где лежит credentials.json

CLI без агента

wikivibe-images image "постер: закат над морем, минимализм"
wikivibe-images models

wikivibe-images — это тот же файл, что лежит в ~/.wikivibe/bin/. Можно добавить в PATH:

ln -s ~/.wikivibe/bin/wikivibe-images-mcp.js /usr/local/bin/wikivibe-images

Ошибки

Что видно

Причина и что делать

401 / Unauthorized

ключ неверный или отозван → wikivibe-images login

403 image generation is disabled for this group

у группы ключа выключен allow_image_generation → включить в кабинете WikiVibe

400 unknown_parameter: 'tools[0].n'

апстрим не принимает n > 1; сервер сам разбивает на последовательные запросы — обновитесь и перезапустите setup

502 / 503

перегружен апстрим-провайдер; клиент делает одну повторную попытку через 12 с. Не запускайте несколько генераций параллельно

клиент оборвал вызов по таймауту

поднимите лимит MCP: timeout в OMP, tool_timeout_sec в Codex, MCP_TOOL_TIMEOUT в Claude Code

Разработка

Нужен Node.js 20+.

npm install
npm run typecheck
npm run build      # esbuild → dist/cli.js, самодостаточный бандл
node dist/cli.js status
node dist/cli.js setup omp

Проверка MCP-протокола вручную:

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | node dist/cli.js mcp

Структура:

Файл

Роль

src/cli.ts

команды login / status / setup / image, запуск сервера

src/server.ts

регистрация MCP-инструментов и схем

src/images.ts

генерация, редактирование, сохранение файлов

src/api.ts

HTTP-клиент: очередь, backoff, разбор ошибок

src/credentials.ts

хранение и поиск ключа

Ссылки

Лицензия

MIT

Available Tools

3 tools
edit_imageEdit image (WikiVibe)B

Edit one or more existing images with a prompt (inpainting, restyle, object changes). Reference images come from local file paths.

Inputs: images (required), prompt (required), n, size, +3 more.

generate_imageGenerate image (WikiVibe)A

Generate images from text through WikiVibe. Pass prompt for one image, prompts for several different images, or n for variations of the same prompt. Images run sequentially; up to 4 per call.

Inputs: n, size, model, prompt, +3 more.

list_image_modelsList image models (WikiVibe)A
Read-onlyIdempotent

List image-generation models available to the configured WikiVibe key.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 3 tools

    Disambiguation5/5

    The three tools have clearly distinct purposes: generate_image creates images, edit_image modifies existing images, and list_image_models enumerates available models. There is no overlap in resource or action, so an agent can easily select the right tool.

    Naming Consistency5/5

    All names use consistent snake_case with an imperative verb first: generate_image, edit_image, list_image_models. The pattern is predictable across the set, with only a minor difference in noun length for the listing tool.

    Tool Count4/5

    Three tools is a focused, reasonable size for an image-generation server, and each tool earns its place. It is slightly thin compared to servers that include retrieval or history operations, but not problematically so.

    Completeness4/5

    The set covers the core lifecycle: generating images, editing them, and discovering available models. Minor gaps exist, such as no explicit retrieval or deletion of generated images, but the primary workflows are supported.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables coding agents to generate and edit images using Gemini and OpenAI image models, saving files directly into the project with configurable providers, models, and security restrictions.
      3
      89 npm
      1
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Generates and edits images using OpenAI GPT Image or Google Gemini models, saving every result to disk and returning local file paths so AI assistants can continue working with the images. It enables prompt-based image creation, editing, inpainting, multi-image composition, and model listing through MCP tools.
      1
      18 npm
      1
      Apache 2.0
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables MCP clients such as Codex, Cursor, and Claude Code to generate and edit images by optimizing prompts before sending them to Gemini, OpenAI, or BytePlus Seedream, with quality presets and configurable output. Generated files are saved to disk and returned to the assistant as MCP resources.
      2,138 npm
      MIT