by felores
placid-mcp-server integrates Placid.app with Model Context Protocol (MCP) compatible hosts, enabling dynamic image and video creative generation from templates.
placid-mcp-server is an MCP (Model Context Protocol) server implementation designed to integrate with Placid.app's API. It allows users to generate image and video creatives programmatically using Placid.app templates within MCP-compatible environments like Claude Desktop or Cline.
Requirements: Node.js (version 18 or higher) and npm.
Installation:
Quick Start (Recommended): Use Smithery CLI:
npx -y @smithery/cli install @felores/placid-mcp-server --client claude
Manual Configuration: Add the following to your Claude Desktop or Cline settings:
{
"mcpServers": {
"placid": {
"command": "npx",
"args": ["@felores/placid-mcp-server"],
"env": {
"PLACID_API_TOKEN": "your-api-token"
}
}
}
}
Getting Your Placid API Token:
Development:
npm run dev
npm test
Tools/Functions:
placid_list_templates
: Lists available Placid templates with filtering options (by collection_id
, custom_data
, tags
). Returns template uuid
, title
, thumbnail
, layers
, and tags
.placid_generate_video
: Generates videos using Placid templates and dynamic content (video, image, text layers). Supports optional audio and audio trimming. Returns status
, video_url
, and job_id
.placid_generate_image
: Generates static images using Placid templates and dynamic content (text, image layers). Returns status
and image_url
.Q: What are the requirements to run placid-mcp-server? A: You need Node.js (version 18 or higher) and npm installed.
Q: How do I get my Placid API token? A: Log in to your Placid.app account, go to Settings > API, and create a new API token.
Q: Can I filter templates when listing them?
A: Yes, you can filter templates by collection_id
, custom_data
, and tags
using the placid_list_templates
function.
Q: What kind of content can I use in my templates? A: You can use dynamic video, image, and text content for your template layers.
Q: How do I handle long video generation times?
A: For longer videos, you will receive a job_id
which you can use to check the status in your Placid dashboard.
An MCP server implementation for integrating with Placid.app's API. This server provides tools for listing templates and generating images and videos through the Model Context Protocol.
node --version
npm --version
The easiest way to get started is using Smithery, which will automatically configure everything for you:
npx -y @smithery/cli install @felores/placid-mcp-server --client claude
If you prefer to configure manually, add this to your Claude Desktop or Cline settings:
{
"mcpServers": {
"placid": {
"command": "npx",
"args": ["@felores/placid-mcp-server"],
"env": {
"PLACID_API_TOKEN": "your-api-token"
}
}
}
}
# Run in development mode with hot reload
npm run dev
# Run tests
npm test
Lists available Placid templates with filtering options. Each template includes its title, ID, preview image URL, available layers, and tags.
collection_id
(optional): Filter templates by collection IDcustom_data
(optional): Filter by custom reference datatags
(optional): Array of tags to filter templates byReturns an array of templates, each containing:
uuid
: Unique identifier for the templatetitle
: Template namethumbnail
: Preview image URL (if available)layers
: Array of available layers with their names and typestags
: Array of template tagsGenerate videos by combining Placid templates with dynamic content like videos, images, and text. For longer videos (>60 seconds processing time), you'll receive a job ID to check status in your Placid dashboard.
template_id
(required): UUID of the template to uselayers
(required): Object containing dynamic content for template layers
{ "layerName": { "video": "https://video-url.com" } }
{ "layerName": { "image": "https://image-url.com" } }
{ "layerName": { "text": "Your content" } }
audio
(optional): URL to an mp3 audio fileaudio_duration
(optional): Set to 'auto' to trim audio to video lengthaudio_trim_start
(optional): Timestamp of trim start point (e.g. '00:00:45' or '00:00:45.25')audio_trim_end
(optional): Timestamp of trim end point (e.g. '00:00:55' or '00:00:55.25')Returns an object containing:
status
: Current status ("finished", "queued", or "error")video_url
: URL to download the generated video (when status is "finished")job_id
: ID for checking status in Placid dashboard (for longer videos){
"template_id": "template-uuid",
"layers": {
"MEDIA": { "video": "https://example.com/video.mp4" },
"PHOTO": { "image": "https://example.com/photo.jpg" },
"LOGO": { "image": "https://example.com/logo.png" },
"HEADLINE": { "text": "My Video Title" }
},
"audio": "https://example.com/background.mp3",
"audio_duration": "auto"
}
Generate static images by combining Placid templates with dynamic content like text and images.
template_id
(required): UUID of the template to uselayers
(required): Object containing dynamic content for template layers
{ "layerName": { "text": "Your content" } }
{ "layerName": { "image": "https://image-url.com" } }
Returns an object containing:
status
: "finished" when completeimage_url
: URL to download the generated image{
"template_id": "template-uuid",
"layers": {
"headline": { "text": "Welcome to My App" },
"background": { "image": "https://example.com/bg.jpg" }
}
}
For more detailed information about the Placid API, visit the Placid API Documentation.
MIT
Reviews feature coming soon
Stay tuned for community discussions and feedback