{
  "markdown": "# markitup-mcp-server\n\n[![npm version](https://img.shields.io/npm/v/markitup-mcp-server.svg)](https://www.npmjs.com/package/markitup-mcp-server)\n[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-active-2da44e)](https://registry.modelcontextprotocol.io/v0/servers?search=markitup)\n[![Glama](https://img.shields.io/badge/Glama-listed-blue)](https://glama.ai/mcp/servers/smythmyke/markitup-mcp-server)\n[![smithery badge](https://smithery.ai/badge/smythmyke/markitup-mcp-server)](https://smithery.ai/servers/smythmyke/markitup-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nMCP (Model Context Protocol) server for [MarkItUp](https://markitup.app) — 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.\n\nFive tools available: `markitup_credit_balance`, `markitup_generate`, `markitup_regen`, `markitup_extend`, `markitup_remove_background`.\n\n## Prerequisites\n\n1. A MarkItUp account — sign up at https://markitup.app.\n2. A MarkItUp API key — generate one at https://markitup.app/dashboard.\n3. Node.js 18 or newer (only if installing locally; `npx` doesn't require a local Node.js if your MCP client bundles one).\n\n## Configure in Claude Code\n\nAdd to your MCP config (`~/.claude/mcp.json` or project-scoped `.mcp.json`):\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"markitup\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"markitup-mcp-server\"],\n      \"env\": {\n        \"MARKITUP_API_KEY\": \"mk_live_...\"\n      }\n    }\n  }\n}\n```\n\n## Configure in Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"markitup\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"markitup-mcp-server\"],\n      \"env\": {\n        \"MARKITUP_API_KEY\": \"mk_live_...\"\n      }\n    }\n  }\n}\n```\n\n## Configure in Cursor\n\nCursor uses the same JSON shape. Settings → MCP → Add Server:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"markitup\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"markitup-mcp-server\"],\n      \"env\": { \"MARKITUP_API_KEY\": \"mk_live_...\" }\n    }\n  }\n}\n```\n\n## Tools\n\n### `markitup_credit_balance`\n\nReturns the current credit balance and subscription status.\n\nNo arguments. Use it to verify your API key works and to check credits before calling generation tools.\n\n### `markitup_generate`\n\nGenerates 3 polished marketing-visual variations from a screenshot. Costs 1 credit.\n\n| Argument | Type | Required | Description |\n|---|---|---|---|\n| `description` | string | yes | What the image shows and what to highlight |\n| `template_id` | string | yes | One of `glassmorphic`, `clean_minimal`, `bold_marketing`, `dark_professional`, `documentation` (and more) |\n| `image_url` | string | one-of | Public HTTPS URL of the source image |\n| `image_base64` | string | one-of | Base64-encoded image bytes (no `data:` prefix) |\n| `image_mime_type` | string | no | MIME type when supplying `image_base64`. Default: `image/png` |\n| `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` |\n| `image_size` | string | no | `1K`, `2K`, or `4K` |\n\nReturns: 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`.\n\n**Example prompt (in Claude Code):**\n\n> 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.\n\n### `markitup_regen`\n\nRegenerate one variation from a previous `markitup_generate` call. Costs 1 credit by default (`charge_credit: false` to skip).\n\nThe 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).\n\n### `markitup_extend`\n\nAI outpaint — extend an image to a larger canvas / different aspect ratio. Costs 1 credit.\n\n| Argument | Type | Required | Description |\n|---|---|---|---|\n| `image_url` / `image_base64` | string | one-of | Source image |\n| `aspect_ratio` | string | yes | Target ratio (`16:9`, `9:16`, etc.) |\n| `target_width` / `target_height` | number | yes | Output pixel dimensions |\n| `image_size` | string | no | `1K`, `2K`, or `4K` |\n\n### `markitup_remove_background`\n\nRemove the background from an image via Photoroom's HD model. Returns a transparent PNG. Costs 1 credit (free for active Pro/Power subscribers).\n\n| Argument | Type | Required | Description |\n|---|---|---|---|\n| `image_url` / `image_base64` | string | one-of | Source image |\n\n## Environment variables\n\n| Var | Required | Description |\n|---|---|---|\n| `MARKITUP_API_KEY` | yes | API key from your MarkItUp dashboard |\n| `MARKITUP_API_BASE` | no | Override the API base URL. Default: `https://markitup.app/api/v1`. Useful for testing against staging. |\n\n## Local development\n\n```bash\ngit clone https://github.com/markitup/mcp-server.git\ncd mcp-server\nnpm install\nnpm run build\n\n# Point your MCP client config at the local build:\n{\n  \"command\": \"node\",\n  \"args\": [\"/absolute/path/to/mcp-server/dist/index.js\"],\n  \"env\": { \"MARKITUP_API_KEY\": \"mk_test_...\" }\n}\n```\n\n## Security\n\n- Never commit `MARKITUP_API_KEY` to source control.\n- If you accidentally expose a key, revoke it immediately at https://markitup.app/dashboard and create a new one.\n- Keys are SHA-256 hashed on the server; the raw key is shown only once at creation.\n\n## Errors\n\nThe server surfaces clean human-readable errors for the common cases:\n\n- `Invalid or missing MARKITUP_API_KEY` — set or rotate the key.\n- `Out of MarkItUp credits` — top up at https://markitup.app/credits.\n- `Rate limit exceeded` — wait briefly and retry.\n\n## License\n\nMIT\n",
  "bytes": 5956,
  "sha": "39eec08466542ef35fe0f139361952e2edda73e163a0ee3b713732ec397624a2",
  "repo_slug": "smythmyke/markitup-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_smythmyke_markitup_mcp_server_65159588/readme"
}