ViewMax MCP

Remote MCP for AI video, image, music and speech generation.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
63%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,153Tokens (tool definitions)
~867 BTypical response size
Moderate attention impact (1.68% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "viewmax": {
      "url": "https://viewmax.studio/api/mcp"
    }
  }
}

Remote endpoints

https://viewmax.studio/api/mcpstreamable-http

What it can do

Tool inventory

Tools (14)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_video_models

List available video models and their capabilities. Video generation consumes credits; use get_video_model for detailed pricing and the values used when options are omitted.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_video_model(model)

Get full capabilities and credit pricing for one video model. Each mode lists durations, resolutions, aspect_ratios, audio_toggle, credits, and defaults: the duration, resolution and aspect_ratio that generate_video sends and bills when you omit them. max_prompt_length is present when the model limits prompt length. Generating a video with this model consumes credits.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡generate_video(model, prompt, mode, image_urls, video_urls, ...)

Create a video generation task and return its task_id. mode defaults to image-to-video when image_urls are given, else video-to-video when video_urls are given, else text-to-video. Omitted duration, resolution and aspect_ratio use the mode's defaults from get_video_model and are billed at those values. Ultra ViewMax C1 generations cost 0 credits within the daily fair-use pool (also via REST API); otherwise this consumes credits from the authenticated ViewMax account. Call wait_for_task with the task_id until it finishes.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "minLength": 1
    },
    "prompt": {
      "type": "string",
      "minLength": 1
    },
    "mode": {
      "type": "string"
    },
    "image_urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      }
    },
    "video_urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      }
    },
    "duration": {
      "type": "string"
    },
    "resolution": {
      "type": "string"
    },
    "aspect_ratio": {
      "type": "string"
    },
    "audio": {
      "type": "boolean"
    },
    "source_video_duration_seconds": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "idempotency_key": {
      "description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
      "type": "string",
      "pattern": "^[\\x21-\\x7e]{1,200}$"
    }
  },
  "required": [
    "model",
    "prompt"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_task(task_id)

Get the current status, output URLs and cost_credits for one of the authenticated user's tasks (video, image, music, or audio). Failed and canceled tasks include error_code and error_message; their credits are refunded automatically.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢wait_for_task(task_id, timeout_seconds)

Wait up to timeout_seconds (1-50, default 45) for a task and return its latest status in the get_task shape. Some videos take several minutes: keep calling wait_for_task until status is success, failed, or canceled. Task results are persisted and never lost.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "minLength": 1
    },
    "timeout_seconds": {
      "default": 45,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_credits

Get the authenticated account's remaining credits. Generation consumes credits.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_image_models

List available image models with their modes (text-to-image, image-to-image), aspect ratios, qualities, and credit labels. Image generation consumes credits.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢get_image_model(model)

Get full capabilities and credit pricing for one image model. Generating an image with this model consumes credits.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "model"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡generate_image(model, prompt, scene, image_urls, aspect_ratio, ...)

Create an image generation task (text-to-image, or image-to-image when image_urls are provided). Pro/Ultra flagship models (GPT Image 2, GPT Image 2.5, Nano Banana 2, Grok Imagine) and Ultra ViewMax C1 cost 0 credits within the shared daily fair-use pool; otherwise this consumes credits. Call wait_for_task with the task_id for the result URLs.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "minLength": 1
    },
    "prompt": {
      "type": "string",
      "minLength": 1
    },
    "scene": {
      "type": "string"
    },
    "image_urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      }
    },
    "aspect_ratio": {
      "type": "string"
    },
    "quality": {
      "type": "string"
    },
    "idempotency_key": {
      "description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
      "type": "string",
      "pattern": "^[\\x21-\\x7e]{1,200}$"
    }
  },
  "required": [
    "model",
    "prompt"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_music_models

List available music models and their controls (duration, instrumental) and credit cost. Music costs 60 credits for tracks up to 60 seconds, then 1 credit per second.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡generate_music(prompt, duration_seconds, instrumental, style, lyrics, ...)

Create an original music track from a text prompt. Costs 60 credits for tracks up to 60 seconds, then 1 credit per second (duration_seconds defaults to 60); plan allowances do not cover music. Setting style sends prompt as the song's lyrics, so do not also send lyrics; to describe a track, put the description in prompt and omit style. Music renders synchronously: the result usually returns immediately with output_urls.

Input Schema

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "minLength": 1
    },
    "duration_seconds": {
      "type": "number",
      "minimum": 3,
      "maximum": 300
    },
    "instrumental": {
      "type": "boolean"
    },
    "style": {
      "type": "string"
    },
    "lyrics": {
      "type": "string"
    },
    "idempotency_key": {
      "description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
      "type": "string",
      "pattern": "^[\\x21-\\x7e]{1,200}$"
    }
  },
  "required": [
    "prompt"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_voices

List available text-to-speech voices (id, name, gender, accent, language) and speech pricing: characters_per_credit and minimum_credits. A generation costs ceil(characters / 20) credits, minimum 1.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢generate_speech(text, voice_id, model_id, speed, stability, ...)

Convert text to speech with a selected voice_id (see list_voices). Costs ceil(characters / 20) credits, minimum 1. Speech renders synchronously: the result usually returns immediately with output_urls.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1
    },
    "voice_id": {
      "type": "string",
      "minLength": 1
    },
    "model_id": {
      "type": "string"
    },
    "speed": {
      "type": "number",
      "minimum": 0.25,
      "maximum": 4
    },
    "stability": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "similarity_boost": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "idempotency_key": {
      "description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
      "type": "string",
      "pattern": "^[\\x21-\\x7e]{1,200}$"
    }
  },
  "required": [
    "text",
    "voice_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪generate_sound_effect(prompt, duration_seconds, prompt_influence, idempotency_key)

Generate a sound effect from a text prompt. Costs 5 credits. Renders synchronously: the result usually returns immediately with output_urls.

Input Schema

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "minLength": 1
    },
    "duration_seconds": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 22
    },
    "prompt_influence": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "idempotency_key": {
      "description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
      "type": "string",
      "pattern": "^[\\x21-\\x7e]{1,200}$"
    }
  },
  "required": [
    "prompt"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded14 tools
verifiedversion not recorded14 tools
verifiedversion not recorded14 tools