Plainly Videos MCP Server for LLM Video Rendering
Use the official Plainly Videos MCP server to browse designs, projects, and render videos with LLM clients.
npx -y @plainly-videos/mcp-serverOverview
Plainly Videos MCP Server is an implementation of a Model Context Protocol (MCP) server designed to let LLM clients discover designs, inspect projects, and trigger video renders programmatically. It exposes a small REST surface and a manifest that LLMs or other automation agents can call as “tools”, enabling video production workflows to be driven from conversational and programmatic AI clients.
For developers, this server acts as the bridge between a Plainly Videos account (assets, templates, projects) and language models that orchestrate rendering tasks. Instead of manually opening an editor, an LLM can list available designs, apply data to templates, and queue renders—useful for automated content pipelines, chat-driven video creation, or integrating video generation into larger AI applications.
Features
- Exposes an MCP-compatible manifest and HTTP endpoints for tool discovery by LLMs.
- Browse designs and projects programmatically.
- Create or patch project parameters (data, timing, assets).
- Trigger synchronous or asynchronous video render jobs.
- Returns render status and downloadable artifacts once complete.
- Simple configuration via environment variables; supports local and containerized deployment.
Installation / Configuration
Clone the repository and install dependencies:
Example environment file (.env):
# Server
PORT=3000
# Plainly Videos API / account keys
PLAINLY_API_KEY=sk_...
# Optional storage backend (S3 or compatible)
S3_BUCKET=my-bucket
AWS_ACCESS_KEY_ID=AKIA...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=us-east-1
# Other optional settings
LOG_LEVEL=info
Run locally:
# development
# production
Docker (example Dockerfile + run):
# Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
ENV NODE_ENV=production
CMD ["node", "index.js"]
Build and run:
Tip: When deploying behind HTTPS or to cloud platforms, ensure the base URL used in the MCP manifest matches your public endpoint so LLMs can reach the tool endpoints.
Available Resources
The server exposes a minimal set of REST endpoints that LLMs and clients use. The exact paths can be configured in the repo; below is a representative table of the common endpoints you will see.
| Method | Path | Purpose |
|---|---|---|
| GET | /mcp/manifest | Returns MCP tool manifest (tool metadata) for discovery |
| GET | /designs | List available designs/templates |
| GET | /projects | List or inspect projects |
| GET | /projects/:id | Get project details and variables |
| POST | /projects | Create a new project instance |
| PATCH | /projects/:id | Update project data/variables |
| POST | /renders | Start a render job (returns job id) |
| GET | /renders/:id | Get render job status and results |
Example: fetch manifest
Example: start a render (JSON body is illustrative)
The server will respond with a job id and, depending on configuration, may invoke callbacks or provide an S3 URL for the finished MP4.
Use Cases
- Chat-driven video generation: Integrate with an LLM assistant so a user can request “Make a 30s product teaser with our Q2 numbers.” The assistant queries designs, populates variables, and calls the render endpoint.
- Automated content pipelines: A marketing automation system generates weekly social clips. A scheduler triggers project creation and render jobs using plain HTTP calls to the MCP server.
- Programmatic A/B testing: Create variants of a design by changing template variables, render multiple outputs, and store results for analytics or human review.
- Editor augmentation: Use an LLM tool to search available templates and suggest edits or fill-in text, then hand off to designers to finalize or approve renders.
Available Tools / Integration Notes
- MCP manifest: Place the manifest URL in your LLM tool registry so the model can call the endpoints as tools. The manifest includes name, description, and per-endpoint schemas.
- Call patterns: The server supports synchronous polling (check /renders/:id) and asynchronous callbacks (callbackUrl) — pick the pattern that matches your orchestration needs.
- Authentication: Use API keys or standard HTTP auth headers. For production, put the server behind an API gateway and enforce TLS.
Troubleshooting & Tips
- 401/403: Verify PLAINLY_API_KEY and any upstream Plainly account credentials.
- Timeouts: Large renders may take time; prefer asynchronous flow with callback or long-polling.
- Debugging: Enable LOG_LEVEL=debug to surface upstream Plainly API calls and job lifecycle events.
For source, issues, and the full server code, see the GitHub repository: https://github.com/plainly-videos/mcp-server.