The ultimate MCP server for AI video generation - Bringing Creatify AI's powerful video creation capabilities to every AI assistant in the MCP ecosystem.
The Creatify MCP Server is a comprehensive Model Context Protocol (MCP) server that exposes the full power of Creatify AI's video generation platform to AI assistants, chatbots, and automation tools. Built on top of the robust @tsavo/creatify-api-ts
TypeScript client library, this server transforms complex video creation workflows into simple, natural language interactions.
- π Prompts - Reusable video creation templates and workflows
- π Logging - Structured logging with multiple severity levels
- π Progress Tracking - Real-time updates during video generation
- π€ AI Self-Help -
how_to_use
tool for AI assistants to understand parameters - π Notifications - Real-time status updates and progress notifications
Imagine telling Claude Desktop: "Create a 16:9 avatar video of Anna saying 'Welcome to our product demo' and wait for it to complete" - and having it actually happen. That's the power of this MCP server.
- Creatify AI API - The world's leading AI video generation platform
- @tsavo/creatify-api-ts - Comprehensive TypeScript client library
- Model Context Protocol - Standardized AI assistant integration
- TypeScript - Full type safety and excellent developer experience
create_avatar_video
- Create AI avatar videos with lip-synccreate_url_to_video
- Convert websites into professional videosgenerate_text_to_speech
- Generate natural-sounding speech from textcreate_multi_avatar_conversation
- Create videos with multiple avatars having conversationscreate_custom_template_video
- Generate videos using custom templatescreate_ai_edited_video
- Automatically edit and enhance videoscreate_ai_shorts
- Create short-form videos (perfect for TikTok, Instagram Reels)generate_ai_script
- Generate AI-powered scripts for videoscreate_custom_avatar
- Design and create your own custom avatars (DYOA)manage_music
- Upload, manage, and use background musiccreate_advanced_lipsync
- Advanced lip-sync with emotion and gesture controlhow_to_use
- Get detailed usage information for any toolget_video_status
- Check the status of video generation tasks
creatify://avatars
- List of available AI avatarscreatify://voices
- List of available voices for text-to-speechcreatify://templates
- Available custom video templatescreatify://music
- Available background music librarycreatify://credits
- Remaining API creditscreatify://avatar/{avatarId}
- Detailed information about specific avatars
- β 12 MCP Tools covering 100% of Creatify API functionality
- β 6 MCP Resources for comprehensive data access
- β 5 Workflow Prompts for common video creation scenarios
- β Enterprise-grade logging with 8 severity levels
- β
Self-documenting with
how_to_use
tool for AI assistants - β Intelligent parameter validation and error handling
- β Real-time progress updates during video generation
- β Semantic versioning with automated releases
- β Emotion & gesture control in advanced lip-sync
- β Custom avatar creation (DYOA - Design Your Own Avatar)
- β AI-powered script generation for any video type
- β Short-form video optimization for TikTok/Instagram/YouTube
- β Background music management and integration
- β TypeScript for type safety and better IDE support
- β Comprehensive error handling with detailed context
- β Professional logging for monitoring and debugging
- β Automated testing and continuous integration
- β Semantic versioning for reliable updates
create-product-demo
- Professional product demonstration workflowcreate-social-content
- Engaging social media content creationcreate-educational-video
- Educational and tutorial video workflowcreate-marketing-campaign
- Marketing campaign video creationanalyze-video-performance
- Video performance analysis and optimization
- Node.js 18 or higher
- Creatify API credentials (Pro plan or higher)
- Get your API credentials from Creatify account settings
npm install -g @tsavo/creatify-mcp
git clone https://github.com/TSavo/creatify-mcp.git
cd creatify-mcp
npm install
npm run build
npm link
User: "Create a professional avatar video with Anna saying 'Welcome to our company!' in 16:9 format"
Claude: I'll create a professional avatar video for you using the Creatify MCP Server.
[Uses create_avatar_video tool with:
- text: "Welcome to our company!"
- avatarId: "anna_costume1_cameraA"
- aspectRatio: "16:9"
- voiceId: "en-US-AriaNeural"]
Your professional avatar video has been created! Anna delivers your message with natural lip-sync and professional presentation.
User: "Make a 30-second TikTok video about coffee brewing tips"
Claude: I'll create an engaging short-form video perfect for TikTok!
[Uses create_ai_shorts tool with:
- prompt: "Quick coffee brewing tips with energetic presentation"
- aspectRatio: "9:16"
- duration: 30
- style: "energetic"]
Your TikTok-ready short video is being generated with optimal 9:16 aspect ratio and engaging content!
User: "Turn my product landing page into a marketing video"
Claude: I'll convert your website into a compelling marketing video.
[Uses create_url_to_video tool with:
- url: "https://yourproduct.com"
- aspectRatio: "16:9"
- style: "marketing"]
Your landing page has been transformed into a professional marketing video showcasing your product!
User: "Generate a script for a 60-second product demo video"
Claude: I'll create a compelling script for your product demo.
[Uses generate_ai_script tool with:
- topic: "Product demonstration video"
- scriptType: "commercial"
- duration: 60
- tone: "professional"]
Your script is ready! It includes engaging hooks, clear value propositions, and a strong call-to-action optimized for 60-second format.
Set your Creatify API credentials as environment variables:
export CREATIFY_API_ID="your-api-id"
export CREATIFY_API_KEY="your-api-key"
Or create a .env
file:
CREATIFY_API_ID=your-api-id
CREATIFY_API_KEY=your-api-key
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json
on macOS):
{
"mcpServers": {
"creatify": {
"command": "creatify-mcp",
"env": {
"CREATIFY_API_ID": "your-api-id",
"CREATIFY_API_KEY": "your-api-key"
}
}
}
}
AI assistants can now use predefined workflow templates for common video creation scenarios:
Example: Product Demo Workflow
User: "Use the create-product-demo prompt for 'Amazing Widget' with features 'fast, reliable, easy to use' targeting small business owners"
Claude: I'll use the product demo workflow template to create a professional demonstration video.
[Claude automatically follows the complete workflow:
1. Generates an engaging script using generate_ai_script
2. Creates avatar video using create_avatar_video
3. Optimizes for the target audience
4. Includes clear call-to-action]
Available Prompt Templates:
create-product-demo
- Professional product demonstrationscreate-social-content
- TikTok/Instagram/YouTube contentcreate-educational-video
- Tutorials and educational contentcreate-marketing-campaign
- Marketing and promotional videosanalyze-video-performance
- Video optimization and analysis
The server provides structured logging with multiple severity levels:
[INFO] Creatify MCP Server initialized
[INFO] Creating avatar video {avatarId: "anna_costume1_cameraA", aspectRatio: "16:9"}
[INFO] Waiting for avatar video completion...
[INFO] Avatar video completed {videoId: "video_abc123"}
Log Levels: debug
, info
, notice
, warning
, error
, critical
, alert
, emergency
AI assistants can now understand tool parameters better using the how_to_use
tool:
Claude: Let me check how to use the avatar video tool...
[Calls how_to_use tool with toolName: "create_avatar_video"]
[Gets comprehensive documentation with:
- Required parameters with descriptions
- Optional parameters with usage notes
- Real code examples
- Tips and best practices]
Now I understand exactly how to create your avatar video!
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "creatify-mcp",
env: {
CREATIFY_API_ID: "your-api-id",
CREATIFY_API_KEY: "your-api-key"
}
});
const client = new Client({
name: "my-client",
version: "1.0.0"
});
await client.connect(transport);
// List available tools
const tools = await client.listTools();
console.log("Available tools:", tools.tools.map(t => t.name));
// Create an avatar video
const result = await client.callTool({
name: "create_avatar_video",
arguments: {
text: "Hello, world! This is an AI-generated video.",
avatarId: "anna_costume1_cameraA",
aspectRatio: "16:9",
waitForCompletion: true
}
});
# Set environment variables
export CREATIFY_API_ID="your-api-id"
export CREATIFY_API_KEY="your-api-key"
# Run the server
creatify-mcp
Once configured with Claude Desktop or another MCP client, you can use natural language prompts like:
- "Create a 16:9 avatar video of Anna saying 'Welcome to our product demo' and wait for it to complete"
- "Convert the website https://example.com into a promotional video"
- "Generate text-to-speech audio for 'Hello world' using a professional voice"
- "Show me all available avatars and their details"
- "Check my remaining Creatify credits"
- "Create a conversation between two avatars discussing our new product"
Create an AI avatar video 9E88 with lip-synced speech.
Parameters:
text
(string, required) - Text to be spokenavatarId
(string, required) - Avatar ID to useaspectRatio
("16:9" | "9:16" | "1:1", required) - Video aspect ratiovoiceId
(string, optional) - Voice ID for the avatarwaitForCompletion
(boolean, optional) - Wait for video completion
Convert a website URL into a professional video.
Parameters:
url
(string, required) - URL to convertvisualStyle
(string, optional) - Visual style templatescriptStyle
(string, optional) - Script writing styleaspectRatio
("16:9" | "9:16" | "1:1", optional) - Video aspect ratiowaitForCompletion
(boolean, optional) - Wait for video completion
Generate natural-sounding speech from text.
Parameters:
text
(string, required) - Text to convert to speechvoiceId
(string, required) - Voice ID to usewaitForCompletion
(boolean, optional) - Wait for audio completion
Check the status of a video generation task.
Parameters:
videoId
(string, required) - Video/task ID to checkvideoType
(string, required) - Type of task ("lipsync", "url-to-video", etc.)
Returns a JSON list of all available AI avatars with their IDs, names, and metadata.
Returns a JSON list of all available voices for text-to-speech generation.
Returns a JSON list of available custom video templates.
Returns current account credit balance and usage information.
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode with auto-reload
npm run dev
# Run tests
npm test
# Lint and format code
npm run check
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
MIT License - see LICENSE file for details.
@tsavo/creatify-api-ts
- TypeScript client for Creatify API- Model Context Protocol - Protocol specification
- Creatify AI - AI video generation platform
Coming soon - comprehensive video tutorials showing real-world usage scenarios
For detailed API documentation, see:
- Creatify API Documentation - Official Creatify API docs
- @tsavo/creatify-api-ts Documentation - TypeScript client library docs
- Model Context Protocol Specification - MCP protocol details
Variable | Required | Description | Example |
---|---|---|---|
CREATIFY_API_ID |
β | Your Creatify API ID | your-api-id-here |
CREATIFY_API_KEY |
β | Your Creatify API Key | your-api-key-here |
MCP_LOG_LEVEL |
β | Logging level | debug , info , warn , error |
{
"mcpServers": {
"creatify": {
"command": "creatify-mcp",
"env": {
"CREATIFY_API_ID": "your-api-id",
"CREATIFY_API_KEY": "your-api-key",
"MCP_LOG_LEVEL": "info"
},
"args": ["--verbose"]
}
}
}
For multiple video creations, consider using the batch processing capabilities:
// Example: Create multiple videos efficiently
const videos = await Promise.all([
client.callTool({
name: "create_avatar_video",
arguments: { text: "Video 1", avatarId: "anna", aspectRatio: "16:9" }
}),
client.callTool({
name: "create_avatar_video",
arguments: { text: "Video 2", avatarId: "john", aspectRatio: "16:9" }
})
]);
- Avatar/Voice Lists: Cache for 1 hour (they rarely change)
- Video Status: Poll every 5-10 seconds for active tasks
- Templates: Cache for 24 hours
- Never commit API keys to version control
- Use environment variables for all sensitive data
- Rotate API keys regularly
- Monitor API usage to detect unauthorized access
- Use HTTPS for all webhook URLs
"API credentials not found"
# Solution: Set environment variables
export CREATIFY_API_ID="your-api-id"
export CREATIFY_API_KEY="your-api-key"
"Video creation failed"
- Check your Creatify account credits
- Verify avatar/voice IDs exist
- Ensure text is not empty
- Check aspect ratio is valid
"MCP connection failed"
- Verify the server is running
- Check Claude Desktop configuration
- Ensure Node.js version >= 18
# Run with debug logging
MCP_LOG_LEVEL=debug creatify-mcp
Monitor your Creatify API usage:
// Check remaining credits
const credits = await client.readResource({ uri: "creatify://credits" });
console.log(`Remaining credits: ${JSON.parse(credits.contents[0].text).remaining_credits}`);
- Video Creation Time: Typically 2-5 minutes
- API Response Time: Usually < 2 seconds
- Success Rate: Monitor failed requests
We welcome contributions! Here's how to get started:
# Clone the repository
git clone https://github.com/TSavo/creatify-mcp.git
cd creatify-mcp
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your API credentials
# Run tests
npm test
# Build the project
npm run build
# Run in development mode
npm run dev
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run type checking
npm run type-check
# Run linting
npm run lint
We use:
- ESLint for code linting
- Prettier for code formatting
- TypeScript for type safety
- Conventional Commits for commit messages
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Add tests for new functionality
- Ensure all tests pass (
npm test
) - Run linting (
npm run lint:fix
) - Commit your changes (
git commit -m 'feat: add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Creatify AI - For providing the amazing AI video generation platform
- @tsavo/creatify-api-ts - The robust TypeScript client library that powers this server
- Anthropic - For Claude and the Model Context Protocol
- MCP Community - For the standardized protocol that makes this integration possible
- π Creatify API Documentation - Official API docs
- π Report Issues - Bug reports and feature requests
- π¬ MCP Community - Community discussions
- π§ Contact Author - Direct support
Created with β€οΈ by T Savo
π Horizon City - Ushering in the AI revolution and hastening the extinction of humans
Making AI video generation accessible to every developer and AI assistant - one step closer to human obsolescence