MCP Server that exposes Creatify AI API capabilities for AI video generation, including avatar videos, URL-to-video conversion, text-to-speech, and AI-powered editing tools.
Stars
Forks
License
Updated May 29, 2025
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.
how_to_use
tool for AI assistants to understand parametersImagine 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.
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 taskscreatify://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 avatarshow_to_use
tool for AI assistantscreate-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 optimizationnpm 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 analysisThe 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_avatar_video
Create an AI avatar video 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 completioncreate_url_to_video
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 completiongenerate_text_to_speech
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 completionget_video_status
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.)creatify://avatars
Returns a JSON list of all available AI avatars with their IDs, names, and metadata.
creatify://voices
Returns a JSON list of all available voices for text-to-speech generation.
creatify://templates
Returns a JSON list of available custom video templates.
creatify://credits
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
git checkout -b feature/amazing-feature
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)MIT License - see LICENSE file for details.
@tsavo/creatify-api-ts
- TypeScript client for Creatify APIComing soon - comprehensive video tutorials showing real-world usage scenarios
For detailed API documentation, see:
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" }
})
]);
"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"
"MCP connection failed"
# 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}`);
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:
git checkout -b feature/amazing-feature
)npm test
)npm run lint:fix
)git commit -m 'feat: add amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.
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