GitHub - TSavo/creatify-mcp: ๐ŸŽฌ Enterprise-grade MCP Server for Creatify AI - 12 tools for AI video generation: avatar videos, URL-to-video, AI shorts, custom avatars, script generation, advanced lip-sync with emotion control. Complete API coverage with semantic versioning. (original) (raw)

๐ŸŽฌ Creatify MCP Server

npm version npm downloads CI TypeScript Node.js MCP Creatify AI License: MIT GitHub stars GitHub issues Semantic Release

The ultimate MCP server for AI video generation - Bringing Creatify AI's powerful video creation capabilities to every AI assistant in the MCP ecosystem.

๐ŸŒŸ Overview

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.

๐ŸŽจ Advanced MCP Features:

๐ŸŽฏ What This Enables

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.

๐Ÿ—๏ธ Built With

Features

๐Ÿ› ๏ธ MCP Tools (12 powerful actions)

๐Ÿ“š MCP Resources (6 data sources)

๐Ÿ† Why Choose Creatify MCP Server?

๐Ÿš€ Complete API Coverage

๐Ÿค– AI-First Design

๐ŸŽจ Advanced Features

๐Ÿ’ผ Production Ready

๐Ÿ“ MCP Prompts (5 workflow templates)

Prerequisites

Installation

npm install -g @tsavo/creatify-mcp

From source

git clone https://github.com/TSavo/creatify-mcp.git cd creatify-mcp npm install npm run build npm link

๐ŸŽฌ Live Demo Examples

Create an AI Avatar Video

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.

Generate TikTok-Style Short Video

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!

Convert Website to Video

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!

AI-Powered Script Generation

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.

Configuration

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

Usage

With Claude Desktop

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" } } } }

๐ŸŽจ Advanced MCP Features

๐Ÿ“ Using Prompts (Workflow Templates)

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:

๐Ÿ“Š Real-time Logging & Progress

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 Self-Help System

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!

With Custom MCP Client

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 } });

Standalone Server

Set environment variables

export CREATIFY_API_ID="your-api-id" export CREATIFY_API_KEY="your-api-key"

Run the server

creatify-mcp

Example Prompts for AI Assistants

Once configured with Claude Desktop or another MCP client, you can use natural language prompts like:

API Reference

Tools

create_avatar_video

Create an AI avatar video with lip-synced speech.

Parameters:

create_url_to_video

Convert a website URL into a professional video.

Parameters:

generate_text_to_speech

Generate natural-sounding speech from text.

Parameters:

get_video_status

Check the status of a video generation task.

Parameters:

Resources

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.

Development

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

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see LICENSE file for details.

๐Ÿ“š Comprehensive Documentation

๐ŸŽฌ Video Tutorials

Coming soon - comprehensive video tutorials showing real-world usage scenarios

๐Ÿ“– API Reference

For detailed API documentation, see:

๐Ÿ”ง Advanced Configuration

Environment Variables

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

Claude Desktop Advanced Configuration

{ "mcpServers": { "creatify": { "command": "creatify-mcp", "env": { "CREATIFY_API_ID": "your-api-id", "CREATIFY_API_KEY": "your-api-key", "MCP_LOG_LEVEL": "info" }, "args": ["--verbose"] } } }

๐Ÿš€ Performance Optimization

Batch Operations

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" } }) ]);

Caching Strategies

๐Ÿ” Security Best Practices

  1. Never commit API keys to version control
  2. Use environment variables for all sensitive data
  3. Rotate API keys regularly
  4. Monitor API usage to detect unauthorized access
  5. Use HTTPS for all webhook URLs

๐Ÿ› Troubleshooting

Common Issues

"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"

Debug Mode

Run with debug logging

MCP_LOG_LEVEL=debug creatify-mcp

๐Ÿ“Š Monitoring & Analytics

Usage Tracking

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});

Performance Metrics

๐Ÿค Contributing

We welcome contributions! Here's how to get started:

๐Ÿ› ๏ธ Development Setup

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

๐Ÿงช Testing

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

๐Ÿ“ Code Style

We use:

๐Ÿ”„ Pull Request Process

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass (npm test)
  6. Run linting (npm run lint:fix)
  7. Commit your changes (git commit -m 'feat: add amazing feature')
  8. Push to the branch (git push origin feature/amazing-feature)
  9. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

๐Ÿ“ž 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