{
  "markdown": "# Templated MCP Server\n\nMCP (Model Context Protocol) server for [Templated](https://templated.io) - the API for automated image, video, and PDF generation.\n\nThis 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.\n\n## Features\n\n- **Render Generation**: Create images (JPG, PNG, WebP), videos (MP4), and PDFs from templates\n- **Template Management**: List, create, update, clone, and delete templates\n- **Layer Inspection**: Get template layers to understand what can be customized\n- **Asset Management**: Upload and manage images, videos, and custom fonts\n- **Folder Organization**: Create and manage folders for templates\n\n## Quick Start\n\n### Get Your API Key\n\n1. Sign up at [app.templated.io](https://app.templated.io)\n2. Go to your [API Key page](https://app.templated.io/api-key)\n3. Copy your API key\n\n## Connection Options\n\n### Option 1: Remote Server (Recommended)\n\nUse our hosted MCP server - no installation required, always up-to-date.\n\n**Endpoint:** `https://mcp.templated.io/mcp` (OAuth login) — or `https://mcp.templated.io/mcp?apiKey=YOUR_API_KEY` for automation\n\n#### Claude (web, desktop, mobile)\n\nTemplated is listed in the Claude connectors directory: open [claude.ai/directory/templatedio](https://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`.\n\n#### Claude Code\n\n```bash\nclaude mcp add --transport http templated https://mcp.templated.io/mcp\n```\n\nThen run `/mcp` inside Claude Code and sign in when prompted.\n\n#### Cursor IDE\n\n[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=templated&config=eyJ1cmwiOiJodHRwczovL21jcC50ZW1wbGF0ZWQuaW8vbWNwIn0=)\n\nOr add it manually to `~/.cursor/mcp.json`. Either way, click **Login** when Cursor asks and sign in to Templated:\n\n```json\n{\n  \"mcpServers\": {\n    \"templated\": {\n      \"url\": \"https://mcp.templated.io/mcp\"\n    }\n  }\n}\n```\n\nFor automations, use `https://mcp.templated.io/mcp?apiKey=your-api-key-here` as the URL instead.\n\n#### ChatGPT\n\n1. Go to **Settings → Connected Apps → Add MCP Server**\n2. Enter URL: `https://mcp.templated.io/mcp`\n3. Set Authentication to **OAuth** and sign in to Templated when prompted\n4. Click Create\n\n**Alternative (automations):** enter `https://mcp.templated.io/mcp?apiKey=your-api-key-here` and set Authentication to **No Auth** instead.\n\n### Option 2: Local Server\n\nRun the MCP server locally on your machine. Requires Node.js 18+.\n\n#### Claude Desktop\n\nTo run the server locally instead of using the remote connector, add to your config file:\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`  \n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"templated\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-templated\"],\n      \"env\": {\n        \"TEMPLATED_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n#### Cursor IDE (Local)\n\nAdd to `~/.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"templated\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-templated\"],\n      \"env\": {\n        \"TEMPLATED_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n#### Manual Installation\n\n```bash\n# Using npx (no install needed)\nnpx mcp-server-templated\n\n# Or install globally\nnpm install -g mcp-server-templated\n```\n\n## Authentication\n\nThe remote server supports two ways to authenticate:\n\n- **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.\n- **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`).\n\n## Available Tools\n\n### Render Operations\n\n| Tool | Description |\n|------|-------------|\n| `create_render` | Create an image, video, or PDF from a template |\n| `get_render` | Get details of a specific render |\n| `list_renders` | List all renders in your account |\n| `delete_render` | Delete a render |\n| `merge_renders` | Merge multiple PDF renders into one |\n\n### Template Operations\n\n| Tool | Description |\n|------|-------------|\n| `list_templates` | List all templates (with search/filter) |\n| `get_template` | Get template details |\n| `get_template_layers` | Get all layers of a template |\n| `get_template_pages` | Get pages of a multi-page template |\n| `create_template` | Create a new template |\n| `update_template` | Update an existing template |\n| `clone_template` | Clone a template |\n| `delete_template` | Delete a template |\n| `list_template_renders` | List renders from a template |\n\n### Folder Operations\n\n| Tool | Description |\n|------|-------------|\n| `list_folders` | List all folders |\n| `create_folder` | Create a new folder |\n| `update_folder` | Rename a folder |\n| `delete_folder` | Delete a folder |\n\n### Asset Operations\n\n| Tool | Description |\n|------|-------------|\n| `list_uploads` | List uploaded assets |\n| `create_upload` | Upload a file from URL |\n| `delete_upload` | Delete an upload |\n| `list_fonts` | List custom fonts |\n| `upload_font` | Upload a custom font |\n| `delete_font` | Delete a font |\n\n### Account\n\n| Tool | Description |\n|------|-------------|\n| `get_account` | Get account info and API usage |\n\n## Example Usage\n\nOnce configured, you can ask your AI assistant to:\n\n- \"List my templates\"\n- \"Create a render from template [ID] with the title set to 'Hello World'\"\n- \"Generate a PDF certificate with the name 'John Doe'\"\n- \"What layers does template [ID] have?\"\n- \"Create a new template called 'Social Post' with a title and image layer\"\n- \"Clone my Instagram template and rename it\"\n- \"Upload this image to my account\"\n- \"Show my API usage and account info\"\n\n### Creating a Render\n\n```\n\"Create a render using template abc-123 with these changes:\n- Set the 'title' layer text to 'Welcome!'\n- Set the 'photo' layer image to https://example.com/photo.jpg\n- Output as PNG with transparent background\"\n```\n\nClaude will use the `create_render` tool with:\n```json\n{\n  \"template\": \"abc-123\",\n  \"format\": \"png\",\n  \"transparent\": true,\n  \"layers\": {\n    \"title\": { \"text\": \"Welcome!\" },\n    \"photo\": { \"image_url\": \"https://example.com/photo.jpg\" }\n  }\n}\n```\n\n## Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/templated-io/mcp-server-templated.git\ncd mcp-server-templated\n\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run in stdio mode (for local MCP clients)\nTEMPLATED_API_KEY=your-key node dist/index.js\n\n# Run in HTTP mode (for remote access)\nPORT=3456 node dist/index.js\n# Then access: http://localhost:3456/mcp?apiKey=your-key\n```\n\n### Testing with MCP Inspector\n\n```bash\nnpx @modelcontextprotocol/inspector npx mcp-server-templated\n```\n\n## Resources\n\n- [Templated Documentation](https://templated.io/docs)\n- [MCP Documentation](https://modelcontextprotocol.io)\n- [Template Gallery](https://templated.io/templates)\n\n## License\n\nMIT\n",
  "bytes": 7310,
  "sha": "b25478de9c111e067b5b4b04ef39e280bf310c06924138736a067514ad04c459",
  "repo_slug": "templated-io/mcp-server-templated",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_templated_io_mcp_server_templa_4e7c94df/readme"
}