MarkItUp MCP Server
markitup-mcp-server
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.
Status: v0.1.0 — pre-release. Five tools available:
markitup_credit_balance,markitup_generate,markitup_regen,markitup_extend,markitup_remove_background.
Prerequisites
A MarkItUp account — sign up at https://markitup.app.
A MarkItUp API key — generate one at https://markitup.app/dashboard/api-keys (coming soon — see Status).
Node.js 18 or newer (only if installing locally;
npxdoesn't require a local Node.js if your MCP client bundles one).
Configure in Claude Code
Add to your MCP config (~/.claude/mcp.json or project-scoped .mcp.json):
{
"mcpServers": {
"markitup": {
"command": "npx",
"args": ["-y", "markitup-mcp-server"],
"env": {
"MARKITUP_API_KEY": "mk_live_..."
}
}
}
}Configure in Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"markitup": {
"command": "npx",
"args": ["-y", "markitup-mcp-server"],
"env": {
"MARKITUP_API_KEY": "mk_live_..."
}
}
}
}Configure in Cursor
Cursor uses the same JSON shape. Settings → MCP → Add Server:
{
"mcpServers": {
"markitup": {
"command": "npx",
"args": ["-y", "markitup-mcp-server"],
"env": { "MARKITUP_API_KEY": "mk_live_..." }
}
}
}Tools
markitup_credit_balance
Returns 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_generate
Generates 3 polished marketing-visual variations from a screenshot. Costs 1 credit.
Argument | Type | Required | Description |
| string | yes | What the image shows and what to highlight |
| string | yes | One of |
| string | one-of | Public HTTPS URL of the source image |
| string | one-of | Base64-encoded image bytes (no |
| string | no | MIME type when supplying |
| string | no | One of |
| string | no |
|
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_regen
Regenerate 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_extend
AI outpaint — extend an image to a larger canvas / different aspect ratio. Costs 1 credit.
Argument | Type | Required | Description |
| string | one-of | Source image |
| string | yes | Target ratio ( |
| number | yes | Output pixel dimensions |
| string | no |
|
markitup_remove_background
Remove 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 |
| string | one-of | Source image |
Environment variables
Var | Required | Description |
| yes | API key from your MarkItUp dashboard |
| no | Override the API base URL. Default: |
Local development
git clone https://github.com/markitup/mcp-server.git
cd mcp-server
npm install
npm run build
# Point your MCP client config at the local build:
{
"command": "node",
"args": ["/absolute/path/to/mcp-server/dist/index.js"],
"env": { "MARKITUP_API_KEY": "mk_test_..." }
}Security
Never commit
MARKITUP_API_KEYto source control.If you accidentally expose a key, revoke it immediately at https://markitup.app/dashboard/api-keys and create a new one.
Keys are SHA-256 hashed on the server; the raw key is shown only once at creation.
Errors
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.
License
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/smythmyke/markitup-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server