Odel
Templated

Templated

@templated-io3TypeScriptMITUpdated 2 days ago

Generate images, videos and PDFs from templates. Manage templates, folders, uploads and fonts.

Server endpointStreamable HTTPOAuthProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

Templated MCP Server

MCP (Model Context Protocol) server for Templated - the API for automated image, video, and PDF generation.

This server enables AI assistants like Claude, Cursor, and ChatGPT to interact with your Templated account - generate renders, manage templates, upload assets, and access all API features using natural language.

Features

  • Render Generation: Create images (JPG, PNG, WebP), videos (MP4), and PDFs from templates
  • Template Management: List, create, update, clone, and delete templates
  • Layer Inspection: Get template layers to understand what can be customized
  • Asset Management: Upload and manage images, videos, and custom fonts
  • Folder Organization: Create and manage folders for templates

Quick Start

Get Your API Key

  1. Sign up at app.templated.io
  2. Go to your API Key page
  3. Copy your API key

Connection Options

Option 1: Remote Server (Recommended)

Use our hosted MCP server - no installation required, always up-to-date.

Endpoint: https://mcp.templated.io/mcp (OAuth login) — or https://mcp.templated.io/mcp?apiKey=YOUR_API_KEY for automation

Claude (web, desktop, mobile)

Templated is listed in the Claude connectors directory: open claude.ai/directory/templatedio (or Customize → Connectors and search for Templated), click Connect and sign in to your Templated account. To add it as a custom connector instead, use Settings → Connectors → Add custom connector with https://mcp.templated.io/mcp.

Claude Code

claude mcp add --transport http templated https://mcp.templated.io/mcp

Then run /mcp inside Claude Code and sign in when prompted.

Cursor IDE

Add to Cursor

Or add it manually to ~/.cursor/mcp.json. Either way, click Login when Cursor asks and sign in to Templated:

{
  "mcpServers": {
    "templated": {
      "url": "https://mcp.templated.io/mcp"
    }
  }
}

For automations, use https://mcp.templated.io/mcp?apiKey=your-api-key-here as the URL instead.

ChatGPT

  1. Go to Settings → Connected Apps → Add MCP Server
  2. Enter URL: https://mcp.templated.io/mcp
  3. Set Authentication to OAuth and sign in to Templated when prompted
  4. Click Create

Alternative (automations): enter https://mcp.templated.io/mcp?apiKey=your-api-key-here and set Authentication to No Auth instead.

Option 2: Local Server

Run the MCP server locally on your machine. Requires Node.js 18+.

Claude Desktop

To run the server locally instead of using the remote connector, add to your config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "templated": {
      "command": "npx",
      "args": ["mcp-server-templated"],
      "env": {
        "TEMPLATED_API_KEY": "your-api-key-here"
      }
    }
  }
}

Cursor IDE (Local)

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "templated": {
      "command": "npx",
      "args": ["mcp-server-templated"],
      "env": {
        "TEMPLATED_API_KEY": "your-api-key-here"
      }
    }
  }
}

Manual Installation

# Using npx (no install needed)
npx mcp-server-templated

# Or install globally
npm install -g mcp-server-templated

Authentication

The remote server supports two ways to authenticate:

  • OAuth 2.1 via the Templated authorization server — used automatically by interactive clients (Claude, ChatGPT, Cursor, Claude Code) when you connect to https://mcp.templated.io/mcp without an API key.
  • API key via ?apiKey=YOUR_API_KEY on the URL or an Authorization: Bearer YOUR_API_KEY header — used for automations and multi-tenant scoping (folderId/externalId).

Available Tools

Render Operations

ToolDescription
create_renderCreate an image, video, or PDF from a template
get_renderGet details of a specific render
list_rendersList all renders in your account
delete_renderDelete a render
merge_rendersMerge multiple PDF renders into one

Template Operations

ToolDescription
list_templatesList all templates (with search/filter)
get_templateGet template details
get_template_layersGet all layers of a template
get_template_pagesGet pages of a multi-page template
create_templateCreate a new template
update_templateUpdate an existing template
clone_templateClone a template
delete_templateDelete a template
list_template_rendersList renders from a template

Folder Operations

ToolDescription
list_foldersList all folders
create_folderCreate a new folder
update_folderRename a folder
delete_folderDelete a folder

Asset Operations

ToolDescription
list_uploadsList uploaded assets
create_uploadUpload a file from URL
delete_uploadDelete an upload
list_fontsList custom fonts
upload_fontUpload a custom font
delete_fontDelete a font

Account

ToolDescription
get_accountGet account info and API usage

Example Usage

Once configured, you can ask your AI assistant to:

  • "List my templates"
  • "Create a render from template [ID] with the title set to 'Hello World'"
  • "Generate a PDF certificate with the name 'John Doe'"
  • "What layers does template [ID] have?"
  • "Create a new template called 'Social Post' with a title and image layer"
  • "Clone my Instagram template and rename it"
  • "Upload this image to my account"
  • "Show my API usage and account info"

Creating a Render

"Create a render using template abc-123 with these changes:
- Set the 'title' layer text to 'Welcome!'
- Set the 'photo' layer image to https://example.com/photo.jpg
- Output as PNG with transparent background"

Claude will use the create_render tool with:

{
  "template": "abc-123",
  "format": "png",
  "transparent": true,
  "layers": {
    "title": { "text": "Welcome!" },
    "photo": { "image_url": "https://example.com/photo.jpg" }
  }
}

Development

# Clone the repository
git clone https://github.com/templated-io/mcp-server-templated.git
cd mcp-server-templated

# Install dependencies
npm install

# Build
npm run build

# Run in stdio mode (for local MCP clients)
TEMPLATED_API_KEY=your-key node dist/index.js

# Run in HTTP mode (for remote access)
PORT=3456 node dist/index.js
# Then access: http://localhost:3456/mcp?apiKey=your-key

Testing with MCP Inspector

npx @modelcontextprotocol/inspector npx mcp-server-templated

Resources

License

MIT