MCP Hub
Back to servers

pruna

Ultra-fast image generation, editing, upscaling, and video generation via Pruna AI.

Registryglama
Stars
2
Updated
May 6, 2026
Validated
May 8, 2026

Quick Install

uvx pruna-mcp-server

🎨 pruna-mcp-server

CI PyPI Python License: MIT

MCP server for Pruna AI — ultra-fast image generation, editing, upscaling, and video generation directly from your AI assistant.

Pruna AI is an inference API specialized in image and video generation. It offers sub-2-second image generation starting at $0.005/image, with models for text-to-image, image editing, upscaling, and video generation. This MCP server wraps their API so any MCP-compatible client (Claude Desktop, Kiro, Cursor) can generate visual content natively.

Conforms to MCP Specification 2025-11-25.

Features

  • 6 MCP Tools: generate_image, edit_image, upscale_image, generate_video, list_models, upload_file
  • 7 MCP Prompts: Product photos, virtual staging, social media visuals, game concept art, ad creatives, video ads, image enhancement
  • 2 MCP Resources: pruna://models catalog for model discovery without tool calls
  • 18 models: 10 text-to-image, 3 editing, 1 upscale, 4 video
  • Smart sync/async: Sync for fast image models, async with polling for video
  • Transparent file handling: Pass local paths or URLs — auto-upload handled
  • Native MCP image return: ImageContent blocks for clients that support inline display
  • Full MCP compliance: Tool annotations, structured content, progress notifications

Quick Start

# With uvx (zero install)
uvx pruna-mcp-server

# Or with pip
pip install pruna-mcp-server
pruna-mcp

Set your API key — get one at pruna.ai (go to the developer portal or contact Pruna to request access):

# macOS Keychain (recommended)
security add-generic-password -a $USER -s PRUNA_API_KEY -w "your-api-key"

# Or environment variable
export PRUNA_API_KEY="your-api-key"

MCP Client Configuration

Kiro CLI

Add to your agent config (e.g. ~/.kiro/agents/default.json):

In mcpServers:

"pruna": {
  "command": "sh",
  "args": ["-c", "PRUNA_API_KEY=$(security find-generic-password -a $USER -s PRUNA_API_KEY -w) uv run --directory /path/to/pruna-mcp-server pruna-mcp"],
  "autoApprove": ["generate_image", "edit_image", "upscale_image", "generate_video", "list_models", "upload_file"]
}

In tools, add: "@pruna/*"

In allowedTools, add: "generate_image", "edit_image", "upscale_image", "generate_video", "list_models", "upload_file"

Note: Kiro agents use a tools whitelist with @server-name/* syntax and an allowedTools list. Both must include the Pruna tools for them to be available.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "pruna": {
      "command": "sh",
      "args": ["-c", "PRUNA_API_KEY=$(security find-generic-password -a $USER -s PRUNA_API_KEY -w) /path/to/uv run --directory /path/to/pruna-mcp-server pruna-mcp"]
    }
  }
}

Important: Use the full path to uv (e.g. /Users/you/.local/bin/uv) — Claude Desktop launches processes with a minimal PATH that doesn't include ~/.local/bin.

Note: Claude Desktop does not render ImageContent inline in the chat. The image is generated and saved locally — Claude will reference the file path in its response.

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "pruna": {
      "command": "uvx",
      "args": ["pruna-mcp-server"],
      "env": { "PRUNA_API_KEY": "your-api-key" }
    }
  }
}

Tools

ToolDescriptionPricing
generate_imageText-to-image with 10 modelsFrom $0.0001/image
edit_imageEdit 1-5 images with text instructionsFrom $0.010/image
upscale_imageAI upscaling to 1-8 megapixelsFrom $0.005/image
generate_videoText/image/audio to videoFrom $0.005/s
list_modelsBrowse all available models with pricingFree
upload_fileUpload files for editing/video workflowsFree

Image tools return both a JSON metadata block and a native MCP ImageContent block (base64, for images < 5MB).

Prompts

Built-in workflow templates for common use cases:

PromptUse CaseExample
product-photoE-commerce product shots"white leather sneakers on clean background"
virtual-stagingReal estate room stagingStage empty rooms with furniture
social-media-visualPlatform-optimized visualsAuto aspect ratio per platform
game-concept-artGame assets & environmentsCharacters, weapons, landscapes
ad-creativeDigital ads with text overlayHeadlines rendered in the image
video-adShort video adsTalking heads, product demos
image-enhanceUpscale + enhance workflowAI-generated image refinement

Configuration

Environment VariableRequiredDefaultDescription
PRUNA_API_KEYYour Pruna AI API key
PRUNA_OUTPUT_DIR./pruna-outputDirectory for downloaded files
PRUNA_POLL_INTERVAL2Seconds between async polls
PRUNA_TIMEOUT120HTTP timeout in seconds
PRUNA_MAX_RETRIES3Max retries on transient errors

Client Compatibility

ClientTransportStatusNotes
Kiro CLISTDIO✅ TestedRequires tools + allowedTools config
Claude DesktopSTDIO✅ TestedUse full path to uv; no inline image display
CursorSTDIO🔲 Planned
Claude CodeSTDIO🔲 Planned

Development

git clone https://github.com/charlesrapp/pruna-mcp-server.git
cd pruna-mcp-server
uv sync --extra dev

# Run tests (100 tests, 94% coverage)
uv run pytest --cov

# Lint & type check
uv run ruff check src/ tests/
uv run mypy src/

See CONTRIBUTING.md for guidelines.

License

MIT — see LICENSE.

Reviews

No reviews yet

Sign in to write a review