The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Markitup MCP Server listing page.
MCP (Model Context Protocol) server for MarkItUp — AI-powered image annotation and marketing-visual generation. Lets Claude Code, Claude Desktop, Cursor, ChatGPT-with-MCP, and other MCP-compatible clients call MarkItUp directly.
Five tools available: markitup_credit_balance, markitup_generate, markitup_regen, markitup_extend, markitup_remove_background.
npx doesn't require a local Node.js if your MCP client bundles one).Add to your MCP config (~/.claude/mcp.json or project-scoped .mcp.json):
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Cursor uses the same JSON shape. Settings → MCP → Add Server:
markitup_credit_balanceReturns the current credit balance and subscription status.
No arguments. Use it to verify your API key works and to check credits before calling generation tools.
markitup_generateGenerates 3 polished marketing-visual variations from a screenshot. Costs 1 credit.
| Argument | Type | Required | Description |
|---|---|---|---|
description | string | yes | What the image shows and what to highlight |
template_id | string | yes | One of glassmorphic, clean_minimal, bold_marketing, dark_professional, documentation (and more) |
image_url | string | one-of | Public HTTPS URL of the source image |
image_base64 | string | one-of | Base64-encoded image bytes (no data: prefix) |
image_mime_type | string | no | MIME type when supplying image_base64. Default: image/png |
aspect_ratio | string | no | One of 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 |
image_size | string | no | 1K, 2K, or 4K |
Returns: the marketing copy (headline, sub-headline) plus 3 generated image variations as base64 image content blocks. The full structured response is also available under structuredContent.
Example prompt (in Claude Code):
Use markitup_generate with the screenshot at https://example.com/dashboard.png — highlight the export button and pitch it for a marketing landing page using the bold_marketing template.
markitup_regenRegenerate one variation from a previous markitup_generate call. Costs 1 credit by default (charge_credit: false to skip).
The LLM must pass back the text_analysis object from the previous generate's structuredContent.text so the regenerated visual stays on-brand with the same headline / sub-headline. variation_index selects which slot (0–2).
markitup_extendAI outpaint — extend an image to a larger canvas / different aspect ratio. Costs 1 credit.
| Argument | Type | Required | Description |
|---|---|---|---|
image_url / image_base64 | string | one-of | Source image |
aspect_ratio | string | yes | Target ratio (16:9, 9:16, etc.) |
target_width / target_height | number | yes | Output pixel dimensions |
image_size | string | no | 1K, 2K, or 4K |
markitup_remove_backgroundRemove the background from an image via Photoroom's HD model. Returns a transparent PNG. Costs 1 credit (free for active Pro/Power subscribers).
| Argument | Type | Required | Description |
|---|---|---|---|
image_url / image_base64 | string | one-of | Source image |
| Var | Required | Description |
|---|---|---|
MARKITUP_API_KEY | yes | API key from your MarkItUp dashboard |
MARKITUP_API_BASE | no | Override the API base URL. Default: https://markitup.app/api/v1. Useful for testing against staging. |
MARKITUP_API_KEY to source control.The server surfaces clean human-readable errors for the common cases:
Invalid or missing MARKITUP_API_KEY — set or rotate the key.Out of MarkItUp credits — top up at https://markitup.app/credits.Rate limit exceeded — wait briefly and retry.MIT