Menivor

Create short-form vertical reels and ads, check pricing, and get your finished MP4 from Menivor.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,201Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (0.94% 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": {
    "menivor": {
      "url": "https://menivor.com/api/mcp"
    }
  }
}

Remote endpoints

https://menivor.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡create_reel(subject, script, language, aspect, voice_name, ...)

Start rendering a vertical short-form reel. Uses one reel credit per variant, reserved at start and released if the render fails. Returns job_id; poll it with get_job.

Input Schema

{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "description": "What the reel is about (the topic or hook)",
      "maxLength": 500
    },
    "script": {
      "type": "string",
      "description": "Optional narration script; generated from the subject when omitted",
      "maxLength": 5000
    },
    "language": {
      "type": "string",
      "description": "Script language code, e.g. en or tr; defaults to auto",
      "maxLength": 8
    },
    "aspect": {
      "type": "string",
      "enum": [
        "9:16",
        "16:9",
        "1:1"
      ],
      "description": "Output aspect ratio; defaults to 9:16"
    },
    "voice_name": {
      "type": "string",
      "description": "Voice id from GET /voices",
      "maxLength": 128
    },
    "avatar_id": {
      "type": "string",
      "description": "Avatar presenter id from GET /avatars",
      "maxLength": 128
    },
    "screen_recording_key": {
      "type": "string",
      "description": "Key of an uploaded screen recording you own",
      "maxLength": 512
    },
    "caption_style": {
      "type": "string",
      "description": "Caption style id",
      "maxLength": 64
    },
    "variants": {
      "type": "integer",
      "minimum": 1,
      "maximum": 3,
      "description": "Render 1 to 3 variants; each uses one credit"
    }
  },
  "required": [
    "subject"
  ],
  "additionalProperties": false
}
🟢get_job(job_id)

Read a reel job's state, progress and, once finished, its download URL.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "Job id returned by create_reel"
    }
  },
  "required": [
    "job_id"
  ],
  "additionalProperties": false
}
🟢ad_from_url(url, title, language, render, formats, ...)

Extract a product from a URL and draft ad angles as an Ad Studio project. With render=true, also renders ad variants for every angle in the chosen formats and aspects.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Product or landing page URL",
      "maxLength": 2048
    },
    "title": {
      "type": "string",
      "description": "Optional project title",
      "maxLength": 200
    },
    "language": {
      "type": "string",
      "description": "Ad language code, e.g. en",
      "maxLength": 5
    },
    "render": {
      "type": "boolean",
      "description": "Render variants right away (uses credits)"
    },
    "formats": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "showcase",
          "before_after",
          "ugc_avatar"
        ]
      },
      "description": "Ad formats to render"
    },
    "aspects": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "9:16",
          "16:9",
          "1:1"
        ]
      },
      "description": "Aspect ratios to render"
    },
    "avatar_id": {
      "type": "string",
      "description": "Avatar presenter id; required for the ugc_avatar format",
      "maxLength": 64
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
🟡schedule_publish(job_id, platforms, scheduled_at, youtube_privacy_status)

Schedule a finished reel to auto-publish to connected TikTok, Instagram or YouTube Shorts accounts at a future UTC time.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "A completed reel job id"
    },
    "platforms": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "tiktok",
          "instagram",
          "youtube_shorts"
        ]
      },
      "minItems": 1
    },
    "scheduled_at": {
      "type": "string",
      "format": "date-time",
      "description": "Future ISO-8601 UTC time"
    },
    "youtube_privacy_status": {
      "type": "string",
      "enum": [
        "private",
        "unlisted",
        "public"
      ]
    }
  },
  "required": [
    "job_id",
    "platforms",
    "scheduled_at"
  ],
  "additionalProperties": false
}
🟢list_scheduled

List your scheduled publishes and their status.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_performance(job_id, limit)

Read logged performance (views, likes, retention) for one reel with job_id, or your most recent logged reels without it.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "Optional reel job id"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Rows when listing; default 20"
    }
  },
  "additionalProperties": false
}
🟢generation_quote(profile, stages, max_cost_usd)

Get a signed price quote before generating: name a generation profile, or map pipeline stages to catalog model ids. Optionally cap the budget.

Input Schema

{
  "type": "object",
  "properties": {
    "profile": {
      "type": "string",
      "description": "Generation profile slug",
      "maxLength": 128
    },
    "stages": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Stage to catalog model id, e.g. {\"voice\": \"elevenlabs/multilingual-v2\"}"
    },
    "max_cost_usd": {
      "type": "string",
      "description": "Budget cap as a decimal USD string, e.g. \"2.50\""
    }
  },
  "additionalProperties": false
}
🟢wallet_balance

Read your Menivor wallet: available and reserved balance in USD.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_media_models(modality)

List Menivor's image, video and audio generation models with their integer micro-USD prices (per image, per second of video, or per audio clip).

Input Schema

{
  "type": "object",
  "properties": {
    "modality": {
      "type": "string",
      "enum": [
        "image",
        "video",
        "audio"
      ]
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools