npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@aituber/mcp-server

v1.10.0

Published

AITuber MCP server, hosted at https://mcp.aituber.app. Create AI videos with narration, visuals, and captions for YouTube Shorts, TikTok, and Instagram Reels, and publish them, straight from Claude Desktop, Claude Code, ChatGPT, Codex, Cursor, or OpenClaw

Readme

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).

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
  • YouTube, TikTok, and Instagram - publish directly to your connected channels
  • 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 YouTube, TikTok, and Instagram"

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.

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 /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, and Instagram 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, there are no sessions, and there are no analytics. 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.

Links

License

MIT