npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

markitup-mcp-server

v0.2.0

Published

MCP server for MarkItUp — AI image annotation and marketing visuals via Claude + Gemini

Downloads

463

Readme

markitup-mcp-server

npm version MCP Registry Glama smithery badge License: MIT

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.

Prerequisites

  1. A MarkItUp account — sign up at https://markitup.app.
  2. A MarkItUp API key — generate one at https://markitup.app/dashboard.
  3. Node.js 18 or newer (only if installing locally; npx doesn'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 | |---|---|---|---| | 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_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 | |---|---|---|---| | 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_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 | |---|---|---|---| | image_url / image_base64 | string | one-of | Source image |

Environment variables

| 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. |

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_KEY to source control.
  • If you accidentally expose a key, revoke it immediately at https://markitup.app/dashboard 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