Skip to main content
Glama

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

Related MCP server: Strapi MCP Server

Requirements: Node.js

  1. Install Node.js (version 18 or higher) and npm from nodejs.org

  2. Verify installation:

    node --version
    npm --version

Installation

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

Manual Configuration

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

Getting Your Placid API Token

  1. Log in to your Placid.app account

  2. Go to Settings > API

  3. Click on "Create API Token"

  4. Give your token a name (e.g., "MCP Server")

  5. Copy the generated token

  6. Add the token to your configuration as shown above

Development

# Run in development mode with hot reload
npm run dev

# Run tests
npm 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 ID

  • custom_data (optional): Filter by custom reference data

  • tags (optional): Array of tags to filter templates by

Response

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

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 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')

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

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

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

Response

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

Documentation

For more detailed information about the Placid API, visit the Placid API Documentation.

License

MIT

Available Tools

3 tools
placid_generate_imageC

Generate an image using a template and provided assets

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesUUID of the template to use
layersYesKey-value pairs for dynamic content. Keys must match template layer names.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool generates an image, implying a write operation, but doesn't cover critical aspects like authentication requirements, rate limits, output format (e.g., image URL or binary data), error handling, or whether it's idempotent. This is a significant gap for a tool that likely involves external processing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action ('Generate an image') and avoids redundancy, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (2 parameters with nested objects, no output schema, and no annotations), the description is incomplete. It doesn't address the output (what is returned, e.g., an image URL or file), error conditions, or behavioral traits like side effects. For a tool that generates content, this lack of context could lead to incorrect usage by an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'template and provided assets', which loosely maps to the two parameters (template_id and layers), but adds minimal semantic value beyond the schema. With 100% schema description coverage, the schema already documents parameters thoroughly (e.g., template_id as a UUID, layers as key-value pairs for dynamic content). The description doesn't explain the purpose of layers or provide examples, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Generate an image') and the mechanism ('using a template and provided assets'), which distinguishes it from the sibling 'placid_generate_video' that presumably generates videos. However, it doesn't explicitly differentiate from 'placid_list_templates' beyond the verb 'generate' vs 'list', which is somewhat implied but not stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a template ID from 'placid_list_templates'), when not to use it, or how it differs from 'placid_generate_video' beyond the output type. This leaves the agent to infer usage from context alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

placid_generate_videoB

Generate a video using one or more templates and provided assets. Every 10 seconds of video uses 10 credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesUUID of the template to use
layersYesKey-value pairs for dynamic content. Keys must match template layer names.
audioNoURL of mp3 audio file for this video
audio_durationNoSet to 'auto' to trim audio to video length
audio_trim_startNoTimestamp of the trim start point (e.g. '00:00:45' or '00:00:45.25')
audio_trim_endNoTimestamp of the trim end point (e.g. '00:00:55' or '00:00:55.25')

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It adds valuable context about credit consumption ('Every 10 seconds of video uses 10 credits'), which is a key behavioral trait not evident from the schema. However, it doesn't mention other important behaviors like processing time, error conditions, or what happens when invalid assets are provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just two sentences. The first sentence clearly states the purpose, and the second adds crucial behavioral context about credit usage. Every sentence earns its place with no wasted words, and the information is front-loaded effectively.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a video generation tool with 6 parameters, no annotations, and no output schema, the description provides basic purpose and cost information but lacks important context. It doesn't explain what the tool returns (no output schema), doesn't mention authentication requirements, and provides minimal guidance on usage. The credit information is helpful but insufficient for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Generate a video') and resources involved ('using one or more templates and provided assets'), which provides a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'placid_generate_image' or 'placid_list_templates' beyond the obvious video vs. image distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'placid_generate_image' or 'placid_list_templates'. It mentions credit usage ('Every 10 seconds of video uses 10 credits') which could imply cost considerations, but offers no explicit when/when-not instructions or comparison to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

placid_list_templatesB

Get a list of available Placid templates with optional filtering. Each template includes its title, ID, preview image URL, available layers, and tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
collection_idNoOptional: Filter templates by collection ID
custom_dataNoOptional: Filter by custom reference data
tagsNoOptional: Filter templates by tags

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions optional filtering and the data included in each template, but fails to describe critical behaviors such as pagination, rate limits, authentication needs, error handling, or whether the list is exhaustive. This leaves significant gaps for a tool that likely interacts with an external API.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose, optional features, and output details without any wasted words. It is appropriately sized and front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It does not cover behavioral aspects like response format, pagination, or error cases, nor does it provide enough context for an agent to fully understand how to use this tool effectively in a real-world scenario, especially as a read operation with potential API constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three optional parameters (collection_id, custom_data, tags) with their purposes. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or interaction effects, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get a list') and resource ('available Placid templates'), specifying what data is included (title, ID, preview image URL, layers, tags). It distinguishes from sibling tools by focusing on listing templates rather than generating images/videos, though it doesn't explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving templates with optional filtering, but provides no explicit guidance on when to use this tool versus alternatives (like placid_generate_image/video) or any prerequisites. The context is clear but lacks comparative or exclusionary guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv1.7.0
    • First observedplacid_generate_image
    • First observedplacid_generate_video
    • First observedplacid_list_templates

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: placid_generate_image for images, placid_generate_video for videos, and placid_list_templates for listing templates. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent 'placid_verb_noun' pattern with snake_case, using descriptive verbs like 'generate' and 'list'. This uniformity enhances readability and predictability across the toolset.

Tool Count3/5

With only 3 tools, the server feels somewhat thin for a media generation domain, as it lacks operations like updating or deleting generated content, or managing assets. However, it covers basic generation and listing functions, making it borderline but functional.

Completeness3/5

The toolset provides core generation and listing capabilities but has notable gaps, such as no tools for updating templates, deleting generated media, or managing credits. This could limit agent workflows, though basic operations are covered.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/felores/placid-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server