Skip to main content
Glama

AITuber MCP Server

Create AI-powered videos from your AI assistant. Generate videos with AI narration, visuals, and synced captions for YouTube Shorts, TikTok, Instagram Reels, and long-form content. Supports AI-generated images, video clips, stock footage, and viral templates like skeleton and character styles. AITuber handles script writing, voice synthesis, visual generation, and video rendering.

One server, one URL:

https://mcp.aituber.app

AITuber | Setup Guide | API Documentation

Set up your client

claude.ai and Claude Desktop

Open Settings, go to Connectors, click "Add custom connector", and paste https://mcp.aituber.app. A browser window opens to sign in with your AITuber account. Done.

Claude Code

claude mcp add --transport http aituber https://mcp.aituber.app

Your browser opens once to sign in and approve access.

ChatGPT

Open Settings, go to Connectors, then Advanced, and turn on Developer mode (required for custom connectors). Add a new connector with the URL https://mcp.aituber.app and sign in with your AITuber account.

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "aituber": {
      "url": "https://mcp.aituber.app"
    }
  }
}

Codex

Add to ~/.codex/config.toml:

[mcp_servers.aituber]
url = "https://mcp.aituber.app"

OpenClaw and other MCP clients

Add a remote MCP server with the URL https://mcp.aituber.app. If your client supports OAuth, sign in when prompted. If it asks for credentials instead, use an API key (next section).

Related MCP server: arcframe-mcp

Two ways to sign in

1. Your AITuber login (default). Apps like Claude, ChatGPT, and Cursor open a browser window where you sign in and approve access. No key to copy, nothing to store.

2. An API key (servers, CI, automation). Where a browser sign-in is not practical (a VPS, CI pipeline, n8n, cron), create a key at app.aituber.app/dashboard/api-keys (starts with ak_) and send it as a bearer token to the same URL:

claude mcp add --transport http aituber https://mcp.aituber.app \
  --header "Authorization: Bearer ak_your_key_here"
{
  "mcpServers": {
    "aituber": {
      "url": "https://mcp.aituber.app",
      "headers": {
        "Authorization": "Bearer ak_your_key_here"
      }
    }
  }
}

API keys are long-lived and revocable from the dashboard, so they fit unattended automation better than OAuth tokens.

What you can do

  • Generate videos from a prompt or script - describe a topic and get a fully produced video, or provide exact narration text for precise control

  • Short-form and long-form - create 15-second Shorts or 20-minute videos

  • 1,300+ AI voices - filter by gender, accent, age, or language

  • 27+ visual styles - photorealistic, anime, cinematic, 3D Pixar, watercolor, comic book, and more

  • Video templates - skeleton X-ray style, character-driven stories

  • Multiple media types - AI-generated images, AI video clips, or real stock footage

  • Music videos - generate a song from a prompt (or upload your own track) and turn it into a music video with AI visuals and synced lyric captions

  • Six publishing platforms - publish to YouTube, TikTok, Instagram, Facebook, Threads, and X

  • Export to MP4 - render and download the final video

  • Check credits and plan - monitor usage before generating

Start creating

Ask your AI assistant:

"Create a 60-second video about 5 mind-blowing facts about the ocean"

"List available British female voices for narration"

"Check how many credits I have left"

"Export my latest video to MP4 and give me the download link"

"List my connected channels and publish my finished video to Threads and X"

How it works

The server provides two tools:

search_api

Finds the right AITuber API endpoint for your task. Describe what you want in natural language.

search_api("create a video about cats")
-> Returns: POST /videos/generate with all parameters and examples

execute_api

Calls the AITuber API. Use after search_api to know which endpoint and parameters to use.

execute_api(method: "POST", path: "/videos/generate", body: {
  "script": "5 amazing facts about the deep ocean",
  "inputType": "idea",
  "expectedDurationSeconds": 60
})
-> Returns: { videoId: "abc-123", status: "pending" }

Example workflows

Generate and download MP4

  1. Search - find the right endpoint for creating a video

  2. Generate - create the video with your script and settings

  3. Poll - check video status until generation completes

  4. Export - render the completed video to MP4

  5. Download - get the MP4 download URL

Generate and publish

  1. Generate - create the video with your script and settings

  2. Poll - wait until the video status is completed

  3. List channels - call GET /channels to find connected channel IDs

  4. Publish - call POST /publications with the videoId and per-channel settings

  5. Poll publication - call GET /publications/{publicationId} until it reaches published, scheduled, or failed

Publishing requires channels to already be connected through the AITuber dashboard and an active paid plan with the Publish feature. If the video is not exported yet, the API starts the export automatically.

Generate a music video

  1. Make a song - call POST /music with a prompt (or upload a track with POST /uploads purpose music)

  2. Poll the song - call GET /music/{id} until status is completed

  3. Build the video - call POST /music-videos with the musicId (or musicAssetId) and a visualMode (ai-images, ai-video, or cover-image)

  4. Poll the video - call GET /videos/{id} until status is completed, then export or publish it

API endpoints

Endpoint

Description

GET /voices

Browse 1,300+ AI voices with filters (public, no auth required)

GET /voices/cloned

List voices you cloned in the dashboard

GET /avatars

List avatars for talking-head videos

GET /elements

List saved people, products, and places (with @handles)

POST /elements

Save an element from a photo URL or uploaded asset

POST /uploads

Upload media (from a URL or a direct PUT)

GET /ugc/reactions

List UGC reaction clips (library + your own)

POST /ugc/reactions

Generate a reaction clip from your character

GET /ugc/reactions/{id}

Get a reaction clip status

POST /ugc/videos

Build a finished UGC hook video

POST /music

Generate an original song from a prompt

GET /music

List your generated and uploaded tracks

GET /music/{id}

Get a song's status and audio URL

POST /music-videos

Turn a song into a music video with AI visuals

POST /ideas

Get video topic ideas for a niche

POST /scripts

Write a narration script from a topic

GET /image-styles

List image styles for video generation

GET /caption-styles

List caption styles for video generation

POST /videos/generate

Create a video from a script or idea

GET /videos

List all your videos

GET /videos/{id}

Get video details and generation status

DELETE /videos/{id}

Delete a video

GET /clip-models

List AI models for standalone clips with capabilities and costs

POST /clips

Generate a standalone AI video clip from a prompt or image

GET /clips

List your clips

GET /clips/{id}

Get clip status and download URL

GET /subscription

Check your plan, credits, and billing info

POST /exports

Start rendering a video to MP4

GET /exports/download

Get a temporary download URL for the MP4

GET /channels

List connected YouTube, TikTok, Instagram, Facebook, Threads, and X channels

POST /publications

Publish a completed video to one or more connected channels

GET /publications/{publicationId}

Check publication status after publishing

DELETE /publications/{publicationId}

Cancel a scheduled publication before it goes live

Supported video types

Type

Description

How to create

Faceless narration (images)

AI images with Ken Burns animation, narration, and captions

Default. Just send a script or idea.

Faceless narration (video clips)

AI-generated video clips instead of images

Set mediaType: "video"

Stock footage

Real stock footage matched to narration

Set mediaType: "stock"

Skeleton template

Viral "what happens if..." X-ray style

Set templateId: "skeleton"

Character template

Character-driven story format

Set templateId: "character"

Avatar (talking head)

An avatar speaks your script to the camera

Set mediaType: "avatar" + avatarId + voiceId

Under the hood

The server is a stateless Cloudflare Worker (src/remote.ts, source in this repo). It verifies your AITuber sign-in or API key, exposes the search_api and execute_api tools, and forwards each call to the AITuber API with your own credential. Nothing is stored and there are no server-side sessions. PostHog MCP Analytics records tool names, client details, timing, and success or failure. Tool arguments and responses are removed before analytics events are sent. The endpoint catalog is generated from the API's OpenAPI definition, so the tools always match the live API. Dev and deploy notes: CONTRIBUTING.md.

License

MIT

Available Tools

2 tools
execute_apiA

Execute a request against the AITuber API. Use search_api first to find the right endpoint and parameters. Handles authentication automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body (for POST/PUT), e.g. { "script": "...", "mediaType": "images" }
pathYesAPI endpoint path, e.g. /videos, /videos/generate, /voices, /subscription
queryNoQuery parameters as key-value pairs, e.g. { "limit": "10", "gender": "female" }
methodYesHTTP method
pathParamsNoPath parameter substitutions, e.g. { "id": "abc-123" } for /videos/{id}

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions automatic authentication but does not disclose potential destructive behavior (e.g., creating/modifying resources) or rate limits. Minimal behavioral context beyond the basic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the core purpose, followed by usage guidance and a notable behavior (auth handling). No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks return value information (no output schema and no description of what the response looks like). Given 5 parameters with nested objects, a usage example would improve completeness. Does not explain how parameter interactions work (e.g., when to use query vs pathParams).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no additional parameter meaning beyond the schema's own descriptions. The only extra info is about authentication, which is not parameter-specific.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Explicitly states it executes requests against the AITuber API, with a clear verb (execute) and resource (AITuber API). It also distinguishes from sibling search_api by advising to use search_api first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: use search_api first to find endpoint and parameters. Also mentions automatic authentication handling, helping the agent understand prerequisites and workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_apiA

Search the AITuber API to find endpoints for creating AI videos, checking credits, exporting to MP4, publishing to YouTube/TikTok/Instagram, and more. Returns matching endpoints with parameters and examples. Use this before execute_api to find the right endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesWhat you want to do, e.g. "create a video", "list voices", "check credits", "download mp4", "publish to tiktok"

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

As a search tool, it is implicitly read-only. Description mentions it returns endpoints with parameters and examples, which is sufficient for a non-destructive operation. No annotations provided, but description does not hide any behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with core purpose, no irrelevant details. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains what is returned (matching endpoints with parameters and examples). For a simple search with one parameter, this is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already includes examples in the parameter description. The tool description does not add deeper meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches the AITuber API to find endpoints for various tasks, distinguishing it from the sibling tool execute_api by explicitly saying to use it before execute_api.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to use this tool before execute_api, providing clear when-to-use and alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.12.0
    • First observedexecute_api
    • First observedsearch_api

TDQS

A4.3/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: search_api discovers endpoints and parameters, while execute_api performs the actual API call. There is no overlap or ambiguity.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern (search_api, execute_api) using snake_case, making the naming predictable.

Tool Count4/5

Two tools is minimal but suitable for the server's designed workflow of discovery followed by execution. While slightly thin, each tool serves a necessary and distinct role without redundancy.

Completeness5/5

The combination of search and execute covers the full lifecycle of using the AITuber API: finding the right endpoint and then executing it. Authentication and parameter handling are included, leaving no obvious gaps.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aituberapp/ai-video-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server