Placid.app MCP Server
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.
Features
- List available Placid templates with filtering options
- Generate images and videos using templates and dynamic content
- Secure API token management
- Error handling and validation
- Type-safe implementation
Requirements: Node.js
- Install Node.js (version 18 or higher) and npm from nodejs.org
- Verify installation:
1node --version 2npm --version
Installation
Quick Start (Recommended)
The easiest way to get started is using Smithery, which will automatically configure everything for you:
1npx -y @smithery/cli install @felores/placid-mcp-server --client claude
Manual Configuration
If you prefer to configure manually, add this to your Claude Desktop or Cline settings:
1{ 2 "mcpServers": { 3 "placid": { 4 "command": "npx", 5 "args": ["@felores/placid-mcp-server"], 6 "env": { 7 "PLACID_API_TOKEN": "your-api-token" 8 } 9 } 10 } 11}
Getting Your Placid API Token
- Log in to your Placid.app account
- Go to Settings > API
- Click on "Create API Token"
- Give your token a name (e.g., "MCP Server")
- Copy the generated token
- Add the token to your configuration as shown above
Development
1# Run in development mode with hot reload 2npm run dev 3 4# Run tests 5npm test
Tools
placid_list_templates
Lists available Placid templates with filtering options. Each template includes its title, ID, preview image URL, available layers, and tags.
Parameters
collection_id
(optional): Filter templates by collection IDcustom_data
(optional): Filter by custom reference datatags
(optional): Array of tags to filter templates by
Response
Returns 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 tags
placid_generate_video
Generate 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.
Parameters
template_id
(required): UUID of the template to uselayers
(required): Object containing dynamic content for template layers- For video layers:
{ "layerName": { "video": "https://video-url.com" } }
- For image layers:
{ "layerName": { "image": "https://image-url.com" } }
- For text layers:
{ "layerName": { "text": "Your content" } }
- For video layers:
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')
Response
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)
Example Usage for LLM models
1{ 2 "template_id": "template-uuid", 3 "layers": { 4 "MEDIA": { "video": "https://example.com/video.mp4" }, 5 "PHOTO": { "image": "https://example.com/photo.jpg" }, 6 "LOGO": { "image": "https://example.com/logo.png" }, 7 "HEADLINE": { "text": "My Video Title" } 8 }, 9 "audio": "https://example.com/background.mp3", 10 "audio_duration": "auto" 11}
placid_generate_image
Generate static images by combining Placid templates with dynamic content like text and images.
Parameters
template_id
(required): UUID of the template to uselayers
(required): Object containing dynamic content for template layers- For text layers:
{ "layerName": { "text": "Your content" } }
- For image layers:
{ "layerName": { "image": "https://image-url.com" } }
- For text layers:
Response
Returns an object containing:
status
: "finished" when completeimage_url
: URL to download the generated image
Example Usage for LLM models
1{ 2 "template_id": "template-uuid", 3 "layers": { 4 "headline": { "text": "Welcome to My App" }, 5 "background": { "image": "https://example.com/bg.jpg" } 6 } 7}
Documentation
For more detailed information about the Placid API, visit the Placid API Documentation.
License
MIT