# MakeViral (remote · www.makeviral.ai)

Find the newest viral AI video trend templates and make them from your photos or a prompt.

- Trust score: 70/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `www.makeviral.ai`: 70/100 (this document), [markdown](https://verifymcp.io/servers/ai-makeviral-makeviral/www.md), [page](https://verifymcp.io/servers/ai-makeviral-makeviral/www)

## Channel facts

- Endpoint: `https://www.makeviral.ai/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (run_template).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 77/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3484 tokens (~183/item across 19 items; 14 tools + 5 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 19/100
  - Stability check failed: schema churn in the 7 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 0 additions.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 93% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 14 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).
  - Supports UI / widget rendering.

## Install

### How do I install the MakeViral MCP server?

MakeViral is a hosted endpoint at https://www.makeviral.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http ai-makeviral-makeviral 'https://www.makeviral.ai/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "ai-makeviral-makeviral": {
      "url": "https://www.makeviral.ai/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ai-makeviral-makeviral": {
      "type": "http",
      "url": "https://www.makeviral.ai/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.ai-makeviral-makeviral]
url = "https://www.makeviral.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-makeviral-makeviral": {
      "type": "remote",
      "url": "https://www.makeviral.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-makeviral-makeviral --url 'https://www.makeviral.ai/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ai-makeviral-makeviral:
    url: "https://www.makeviral.ai/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "ai-makeviral-makeviral": {
      "Transport": "http",
      "Url": "https://www.makeviral.ai/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add ai-makeviral-makeviral -t streamable-http -u 'https://www.makeviral.ai/mcp'
```

### Other

```json
{
  "mcpServers": {
    "ai-makeviral-makeviral": {
      "type": "http",
      "url": "https://www.makeviral.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 16 to 19.

### 2026-11-03 (score 69, +1)

- [security] Tool “run_template” rewrote its description, which is the text the model reads
- [cosmetic] “run_template” added an optional parameter “acceptLowQualityPhoto”
- [cosmetic] “run_template” added an optional parameter “photoSubjects”

### 2026-11-01 (score 68, 0)

- [security regression] Stability: 0.07 → fail
- [security regression] A breaking change shipped without a version bump: still 1.0.0
- [functional regression] “run_template” changed the type of “fields”: object → array
- [functional] New resource “library”
- [cosmetic] “run_template” reworded the description of “fields”

### 2026-10-31 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-30 (score 67, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-29 (score 67)

First indexed and scored.

## MCP tools (14)

### `search_templates` (~232 tokens)

Find trend templates

Find MakeViral trend templates: viral AI video and photo trends (knight cat, hotel lobby walk, Halloween costumes, dance reels...) that turn the user's own photos of themselves, their partner, friends or pets into a short video or photo. Use it when the user wants a trend video, asks what they can make from a photo, or names a TikTok or Instagram trend. Results are sorted by popularity and show an example clip, the photos needed and the price in MakeViral credits. With no query it returns the most popular templates. Suggest a few that fit and say that each one costs credits from the user's MakeViral account, then use get_template when the user picks one.

Input parameters:

- `limit` (integer)
- `output` (string)
- `query` (string): Words for the trend or idea, e.g. 'knight cat', 'halloween couple', 'dance'
- `season` (string): e.g. 'halloween'
- `subject` (string): Who or what is in the photos (product = a brand ad from a product photo and a logo)

Output parameters:

- `account` (object)
- `templates` (array)

### `get_template` (~127 tokens)

Show a template

Show one MakeViral template: what it makes, its versions (for example solo, with a friend, with a pet), the photos each version needs in order, quality options, optional 'make it yours' fields, the price in credits, the user's credit balance when signed in, and an example clip. Use it when the user names or picks one template. Call it before run_template so you pass the right version and photos, and tell the user the price in credits.

Input parameters:

- `slug` (string, required): Template slug from search_templates, e.g. 'knight-cat-ai-video'

Output parameters:

- `account` (object)
- `template` (object)

### `run_template` (~665 tokens)

Make a trend video or photo

Make a MakeViral trend video or photo from the user's photos. It spends the version's credits from the user's MakeViral account (a failed run gives them all back). A photo is usually ready in this call and the result has the link. A video takes a few minutes: then call get_run with wait true until it is ready, and give the user the link. Before calling: 1) pick the template and version with get_template, 2) tell the user the price in credits, 3) ask for exactly the photos that version needs, in its order, 4) ask the user to confirm the people in the photos are them or people who agreed, and that no one in them is a child. Photos: pass the files the user attached in this chat as `photos`, OR public image links as `photoUrls`, OR an `uploadId` from create_upload_link when the user cannot attach files here. Never use photos of a public figure or of someone who did not agree. When the account can pay, the photos are checked before the charge: a blurry, dark or low-resolution photo, or a small or missing face, returns an explanation and charges nothing. Then ask for a better photo, or for the user's OK to go on with acceptLowQualityPhoto.

Input parameters:

- `acceptLowQualityPhoto` (boolean): Only after this tool said a photo has a quality problem: true when the user chose to go on with these photos and agreed that MakeViral is not responsible for results caused by photo quality and gives…
- `fields` (array): Optional 'make it yours' values: one { id, value } per field id that get_template lists
- `object` (object): Knight sword swap only: the object one knight hands the other
- `photoSubjects` (array): Optional: what a photo shows when it is NOT a person (a pet or animal, a robot, toy or cartoon character, or something else). The video keeps that one's own body and look, and the face check does not…
- `photoUrls` (array): Public https links to the photos (JPEG, PNG or WebP), in the version's photo order
- `photos` (array): The user's photos attached in the chat, in the version's photo order
- `photosConsent` (boolean, required): true only after the user confirmed that everyone in the photos is the user or agreed to it, and that no one is a child
- `quality` (string): Quality option id from get_template. Default: the template's default option (listed first).
- `requestId` (string): Optional id (8-64 letters, digits, - or _). The same id never charges twice. Without it, the same request within 10 minutes returns the first run; pass a new id to make it again with the same photos.
- `template` (string, required): Template slug, e.g. 'knight-cat-ai-video'
- `uploadId` (string): The id from create_upload_link, after the user added the photos there
- `version` (string): Version id from get_template. Default 'main'.

Output parameters:

- `run` (object)

### `get_run` (~118 tokens)

Check a run

Check a MakeViral run started with run_template: its status, minutes left, and the finished video or photo link when it is ready. With wait true the call waits up to 40 seconds for the run to finish, so you can wait for the result in the same answer and then give the user the link.

Input parameters:

- `runId` (string, required): The run id from run_template, e.g. 'tr_ag...'
- `wait` (boolean): Wait up to 40 seconds for the run to finish before answering. Default false.

Output parameters:

- `run` (object)

### `list_runs` (~36 tokens)

List my runs

List the user's latest MakeViral template runs (newest first) with their status and result links.

Input parameters:

- `limit` (integer)

Output parameters:

- `runs` (array)

### `list_models` (~158 tokens)

List AI image and video models

List the AI models of MakeViral Create (makeviral.ai/create): image models (Nano Banana, GPT Image, Seedream, Flux...) and video models (Seedance, Kling, Veo, Wan, Grok Imagine, MiniMax...) with what each takes and its lowest price in MakeViral credits. Use it when the user asks MakeViral for an image or a video from their own idea (not a trend template), wants a specific model such as Kling, Veo or Seedance, or asks which MakeViral model to use. Then use get_model for one model's full rules and prices, and create_image or create_video to make it.

Input parameters:

- `kind` (string): Only image models or only video models

Output parameters:

- `account` (object)
- `models` (array)

### `get_model` (~202 tokens)

Show a model and its prices

Show one MakeViral Create model: the shapes, sizes and lengths it makes, the photos, clips and sounds it takes, special inputs (end frame, multi-shot, elements, motion style), and the price in credits for every size and length. With resolution, durationSec and count it also gives the exact price of that choice, so you can tell the user before create_image or create_video.

Input parameters:

- `clipSeconds` (number): Optional, seconds of a reference clip (they add to the price)
- `count` (integer): Optional, how many to price
- `durationSec` (integer): Optional, video length to price
- `model` (string, required): Model id from list_models
- `referencePhotos` (integer): Optional, video reference photos (one model charges for more than 5)
- `resolution` (string): Optional, to price one choice: e.g. '2K' (image) or '720p' (video)

Output parameters:

- `account` (object)
- `model` (object)
- `prices` (array)
- `quote` (object)

### `create_image` (~421 tokens)

Make an AI image

Make AI images from the user's prompt with a chosen MakeViral Create model, from text or from the user's photos (edit a photo, put a person in a new scene, combine photos). It spends credits from the user's MakeViral account (a failed image gives them back) and usually returns the finished image link in this call. Before calling: 1) pick the model (get_model gives its sizes and prices), 2) tell the user the price in credits, 3) when photos are used, ask the user to confirm the people in them are them or agreed, and that no one is a child. Photos: pass the files the user attached in this chat as `photos`, or public image links as `photoUrls`. Never use photos of a public figure or of someone who did not agree. Calling again with the same input within 10 minutes returns the first result; pass a new requestId to make more.

Input parameters:

- `aspect` (string): Shape. Default 9:16 (vertical, for TikTok and Reels).
- `count` (integer): How many images (each one is charged). Default 1.
- `model` (string, required): Image model id (list_models). nano-banana-2 is a good default.
- `photoUrls` (array): Public https links to photos (JPEG, PNG or WebP)
- `photos` (array): The user's photos attached in the chat (references to edit or follow)
- `photosConsent` (boolean): Needed with photos: true only after the user confirmed everyone in them is the user or agreed, and no one is a child
- `prompt` (string, required): What the image shows, in the user's words, made clear and specific
- `requestId` (string): Optional id (8-64 letters, digits, - or _). The same id never charges twice.
- `resolution` (string): Size. Default: the model's smallest (1K).
- `transparentBackground` (boolean): GPT Image only, text only: a transparent background

Output parameters:

- `creations` (array)

### `create_video` (~876 tokens)

Make an AI video

Make an AI video from the user's prompt with a chosen MakeViral Create model (Seedance, Kling, Veo, Wan, Grok Imagine, MiniMax...): from text, from a start frame photo (and an end frame on some models), or from references (photos, clips and sounds), with Kling multi-shot and elements. It spends credits from the user's MakeViral account (a failed video gives them back). A video takes a few minutes: this call returns at once, then call get_creation with wait true until it is ready and give the user the link. Before calling: 1) pick the model and check what it takes with get_model, 2) tell the user the price in credits, 3) with photos or clips, ask the user to confirm the people in them are them or agreed, and that no one is a child. Files: pass files the user attached in this chat (startFrame, endFrame, referencePhotos, referenceSounds), or public https links in the *Url fields. Clips must be links (MP4 or MOV). Never use photos of a public figure or of someone who did not agree. Calling again with the same input within 10 minutes returns the first video; pass a new requestId to make another.

Input parameters:

- `aspect` (string): Shape. Default 9:16 (vertical). With a start frame most models follow the photo's shape.
- `autoShots` (boolean): Kling Omni: the model plans the shots itself
- `clipMode` (string): Kling Omni with a clip: 'edit' changes the clip itself (default), 'reference' makes a new video from it
- `count` (integer): How many videos (each one is charged). Default 1.
- `durationSec` (integer): Length in seconds (get_model lists them). Default: the model's default.
- `elementPhotos` (array): The element photos attached in the chat, element by element in order
- `elements` (array): Kling 3.0 elements: people or things from 2-4 photos each
- `endFrame` (object): The last frame (models with an end frame), with a start frame
- `endFrameUrl` (string): The last frame as a public https photo link
- `keepClipSound` (boolean): With a clip: put the clip's own sound on the result
- `model` (string, required): Video model id (list_models). seedance-2-5 is a good default.
- `motion` (string): Grok Imagine only
- `photosConsent` (boolean): Needed with photos or clips: true only after the user confirmed everyone in them is the user or agreed, and no one is a child
- `prompt` (string): What happens in the video. With references, name them as get_model says (e.g. [Image 1]).
- `referenceClipUrls` (array): Reference clips as public https links to an MP4 or MOV file
- `referenceClips` (array): Reference clips (MP4 or MOV) as files, where the chat can attach them
- `referencePhotoUrls` (array): Reference photos as public https links
- `referencePhotos` (array): Reference photos attached in the chat (people, products, a style). Never with frames.
- `referenceSoundUrls` (array): Reference sounds as public https links
- `referenceSounds` (array): Reference sounds (MP3 or WAV) attached in the chat
- `requestId` (string): Optional id (8-64 letters, digits, - or _). The same id never charges twice.
- `resolution` (string): Size. Default: the model's smallest.
- `seed` (integer): Wan only: repeat a result
- `shots` (array): Kling multi-shot: each shot's prompt and length; they add up to the video length
- `sound` (boolean): Sound on or off where the model has the choice. Default on.
- `startFrame` (object): The first frame: a photo the user attached in the chat
- `startFrameUrl` (string): The first frame as a public https photo link
- `webSearch` (boolean): Seedance, text to video only: look things up online

Output parameters:

- `creations` (array)

### `get_creation` (~123 tokens)

Check an image or video

Check images or videos started with create_image or create_video: status, minutes left, and the finished link when ready. With wait true the call waits up to 40 seconds for them to finish, so you can wait for the result in the same answer and then give the user the link.

Input parameters:

- `id` (string): One id (instead of ids)
- `ids` (array): Ids from create_image or create_video, e.g. 'vid_...'
- `wait` (boolean): Wait up to 40 seconds for them to finish. Default false.

Output parameters:

- `creations` (array)

### `list_creations` (~52 tokens)

List my images and videos

List the user's latest MakeViral Create images and videos (newest first) with their status and links. Template runs are in list_runs.

Input parameters:

- `kind` (string)
- `limit` (integer)

Output parameters:

- `creations` (array)

### `get_account` (~45 tokens)

Show my credits

Show the signed-in MakeViral account: its first name and credit balance. Every run uses credits, so use it before a run when the price might be more than the balance.

Output parameters:

- `credits` (number)
- `infoUrl` (string)
- `name` (string)

### `create_upload_link` (~90 tokens)

Get a photo upload link

Make a one-hour link where the user adds the photos for a template on makeviral.ai (on any device). Use it when the user cannot attach photos in this chat. Give the user the link, wait until they say they are done, then call run_template with the returned uploadId.

Input parameters:

- `template` (string, required): Template slug
- `version` (string): Version id. Default 'main'.

Output parameters:

- `slots` (array)
- `uploadId` (string)
- `url` (string)

### `suggest_template` (~98 tokens)

Suggest a new template

Send MakeViral a trend or idea that has no template yet, so the team can add it. Use it when search_templates finds nothing that fits what the user wants, and only after the user agrees. Include the TikTok or Instagram link of the trend when the user has one.

Input parameters:

- `idea` (string, required): The trend or idea in one or two sentences
- `link` (string): Optional https link to an example of the trend

Output parameters:

- `received` (boolean)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ai-makeviral-makeviral/www#diagnostics

## Score history

- 2026-11-05: 70
- 2026-11-04: 69
- 2026-11-03: 69
- 2026-11-02: 68
- 2026-11-01: 68
- 2026-10-31: 68
- 2026-10-30: 67
- 2026-10-29: 67

## Common questions

### What is the MakeViral MCP server?

MakeViral is an MCP server listed in the public MCP registry as ai.makeviral/makeviral. Find the newest viral AI video trend templates and make them from your photos or a prompt. This page covers its hosted endpoint (https://www.makeviral.ai/mcp).

### Is the MakeViral MCP server safe to use?

MakeViral scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the MakeViral MCP server expose?

MakeViral exposes 14 tools: search_templates, get_template, run_template, get_run, list_runs, and 9 more. Their descriptions and schemas cost roughly 3,243 tokens of context every time the server is loaded.

### Does the MakeViral MCP server require authentication?

No. We connected to MakeViral without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the MakeViral MCP server still maintained?

MakeViral is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://www.makeviral.ai/mcp
- Website: https://www.makeviral.ai/
- Changelog RSS feed: https://verifymcp.io/servers/ai-makeviral-makeviral/www.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-makeviral-makeviral/www.json
- HTML version of this page: https://verifymcp.io/servers/ai-makeviral-makeviral/www
