
Research
/Security News
737 Chrome VPN Extensions Linked to Brand Impersonation and Browser Traffic Redirection
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.
markitup-mcp-server
Advanced tools
MCP server for MarkItUp — AI image annotation and marketing visuals via Claude + Gemini
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):
{
"mcpServers": {
"markitup": {
"command": "npx",
"args": ["-y", "markitup-mcp-server"],
"env": {
"MARKITUP_API_KEY": "mk_live_..."
}
}
}
}
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_..."
}
}
}
}
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_..." }
}
}
}
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. |
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_..." }
}
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
FAQs
MCP server for MarkItUp — AI image annotation and marketing visuals via Claude + Gemini
We found that markitup-mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.