Pictify

MCP server for AI-generated images, GIFs, and PDFs from HTML/CSS, URLs, or reusable templates. Batch up to 100 personalised renders, A/B test variants.

@pictify/mcp-server

npm version MIT License

An MCP (Model Context Protocol) server for Pictify — generate images, GIFs, and PDFs from AI agents like Claude, Cursor, and Windsurf.

One-line install. No code required. Ask your AI assistant to create OG images, social media cards, screenshots, animated GIFs, PDF invoices, certificates, and more — all from natural language.

What can it do?

  • Generate images from HTML/CSS, URLs, or reusable templates (OG images, Twitter cards, banners, product screenshots)
  • Create animated GIFs from CSS animations or by recording live web pages
  • Render PDFs from templates — invoices, certificates, reports, shipping labels
  • Batch generate up to 100 personalized images in one request (team badges, event passes, product catalogs)
  • A/B test images with built-in experiments, traffic splitting, and auto-optimization
  • Template system with 50+ expression functions for dynamic content (conditionals, string manipulation, date formatting)

Works with Claude (claude.ai + Claude Code + Claude Desktop), Cursor, Windsurf, and any MCP-compatible client.

Quick Start

Prerequisites

Get your API key:

  1. Sign up or log in at pictify.io
  2. Go to API Tokens
  3. Create a new token and copy it

Claude.ai (Web)

Use the hosted remote server — no install needed:

  1. Go to claude.ai > Settings > Connectors
  2. Click Add custom connector
  3. URL: https://mcp.pictify.io
  4. Click Advanced Settings
  5. Client ID: pictify
  6. Client Secret: paste your API token
  7. Click Add

Claude Code

claude mcp add pictify -e PICTIFY_API_KEY=your_api_key -- npx -y @pictify/mcp-server

Claude Desktop

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "pictify": {
      "command": "npx",
      "args": ["-y", "@pictify/mcp-server"],
      "env": {
        "PICTIFY_API_KEY": "your_api_key"
      }
    }
  }
}

Restart Claude Desktop after saving.

Cursor

Add to Cursor's MCP settings (Settings > MCP Servers):

{
  "mcpServers": {
    "pictify": {
      "command": "npx",
      "args": ["-y", "@pictify/mcp-server"],
      "env": {
        "PICTIFY_API_KEY": "your_api_key"
      }
    }
  }
}

Windsurf

Add to Windsurf's MCP settings:

{
  "mcpServers": {
    "pictify": {
      "command": "npx",
      "args": ["-y", "@pictify/mcp-server"],
      "env": {
        "PICTIFY_API_KEY": "your_api_key"
      }
    }
  }
}

Examples

Try these prompts after connecting:

Create a social media card:

"Create a Twitter card image for my blog post titled 'Getting Started with MCP' with a blue gradient background, 1200x630."

Screenshot a website:

"Take a screenshot of stripe.com at 1440x900."

Render a template:

"List my templates and render the blog-header template with title 'Hello World'."

Batch generate images:

"Use my team-badge template to generate images for these 10 team members: ..."

Create a PDF invoice:

"Render my invoice template as a PDF with company name 'Acme Inc', amount '$1,500', and date 'March 2026'."

A/B test an image:

"Create an A/B test experiment with two variants of my hero banner and start routing traffic."

Available Tools

Image Generation

ToolDescription
pictify_create_imageGenerate an image from HTML/CSS, a URL screenshot, or a template
pictify_create_canvas_imageGenerate an image from FabricJS canvas JSON data
pictify_list_imagesList previously generated images
pictify_get_imageGet details of a specific image by ID

GIF Creation

ToolDescription
pictify_create_gifCreate animated GIF from HTML with CSS animations
pictify_capture_gifRecord a GIF from a live web page over time
pictify_list_gifsList previously generated GIFs
pictify_get_gifGet details of a specific GIF by ID

PDF Generation

ToolDescription
pictify_render_pdfGenerate single-page PDF from a template
pictify_render_multi_page_pdfGenerate multi-page PDF from a template
pictify_list_pdf_presetsList available PDF page size presets

Template Management

ToolDescription
pictify_list_templatesList saved templates with filtering and pagination
pictify_get_templateGet template details
pictify_get_template_variablesGet template variable definitions and types
pictify_render_templateRender a template with variables (supports layout variants)
pictify_create_templateCreate a new template (HTML or FabricJS)
pictify_update_templateUpdate an existing template
pictify_delete_templateDelete a template

Batch Operations

ToolDescription
pictify_batch_renderStart batch render job (up to 100 items, async)
pictify_get_batch_resultsCheck batch job status and get result URLs
pictify_cancel_batchCancel a running batch job

A/B Testing & Experiments

ToolDescription
pictify_list_experimentsList experiments (A/B tests, smart links, scheduled)
pictify_create_experimentCreate an experiment with variants and traffic weights
pictify_get_experimentGet experiment details and per-variant performance
pictify_get_experiment_quotaCheck experiment usage and plan limits
pictify_update_experimentUpdate experiment config (field access depends on status)
pictify_delete_experimentDelete an experiment
pictify_start_experimentStart routing traffic to variants
pictify_pause_experimentPause traffic routing (data preserved)
pictify_complete_experimentDeclare a winner and route all traffic to it
pictify_track_experiment_eventsTrack impressions, clicks, and conversions

Configuration

VariableDescriptionDefault
PICTIFY_API_KEYYour Pictify API key (required for stdio mode)
PICTIFY_BASE_URLCustom API base URLhttps://api.pictify.io
PICTIFY_DEBUGEnable verbose logging to stderrfalse
PICTIFY_MCP_SOURCESlug identifying where this MCP server was installed from (e.g. mcp.so, glama, smithery, claude_desktop_gallery, github). Sent as X-Pictify-MCP-Source on every API call so Pictify can attribute installs by directory.unknown

Install attribution

When you submit @pictify/mcp-server to an MCP directory, set PICTIFY_MCP_SOURCE in the install snippet so we can attribute signups to that listing. Example for the mcp.so directory entry:

{
  "mcpServers": {
    "pictify": {
      "command": "npx",
      "args": ["-y", "@pictify/mcp-server"],
      "env": {
        "PICTIFY_API_KEY": "your_api_key",
        "PICTIFY_MCP_SOURCE": "mcp.so"
      }
    }
  }
}

For the hosted remote (https://mcp.pictify.io), pass the slug as a query param on the connector URL instead — the server persists it on the OAuth session:

https://mcp.pictify.io?source=mcp.so

Accepted slugs: lowercase letters, digits, ., -, _, up to 64 characters. Anything else is dropped to unknown.

Development

git clone https://github.com/pictify-io/pictify-mcp.git
cd pictify-mcp
npm install
npm run build

Test with MCP Inspector:

PICTIFY_API_KEY=your_key npm run inspector

License

MIT

Related Servers