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.
- 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
- Install Node.js (version 18 or higher) and npm from nodejs.org
- Verify installation:
node --version
npm --version
The quickest way to get started is using npx, justadd the server configuration to your Claude Desktop or Cline settings:
{
"mcpServers": {
"placid": {
"command": "npx",
"args": ["@felores/placid-mcp-server"],
"env": {
"PLACID_API_TOKEN": "your-api-token"
}
}
}
}
To install @felores/placid-mcp-server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @felores/placid-mcp-server --client claude
If you want to contribute to the project or modify the server.
- Clone the repository:
git clone https://github.com/felores/placid-mcp-server.git
cd placid-mcp-server
- Install dependencies:
- Build the project:
- Add the server configuration to your Claude Desktop or Cline settings:
{
"mcpServers": {
"placid": {
"command": "node",
"args": ["path/to/placid-mcp-server/build/index.js"],
"env": {
"PLACID_API_TOKEN": "your-api-token"
}
}
}
}
Replace path/to/placid-mcp-server with the absolute path to your cloned repository.
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 Claude Desktop or Cline configuration as shown in the installation steps above
# 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 ID
custom_data (optional): Filter by custom reference data
tags (optional): Array of tags to filter templates by
Returns an array of templates, each containing:
uuid: Unique identifier for the template
title: Template name
thumbnail: Preview image URL (if available)
layers: Array of available layers with their names and types
tags: Array of template tags
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.
template_id (required): UUID of the template to use
layers (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" } }
audio (optional): URL to an mp3 audio file
audio_duration (optional): Set to 'auto' to trim audio to video length
audio_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)
Example Usage for LLM models
{
"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 use
layers (required): Object containing dynamic content for template layers
- For text layers:
{ "layerName": { "text": "Your content" } }
- For image layers:
{ "layerName": { "image": "https://image-url.com" } }
Returns an object containing:
status: "finished" when complete
image_url: URL to download the generated image
Example Usage for LLM models
{
"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
Комментарии
Комментариев пока нет. Будьте первым.