mcpField
P
pruna

pruna

Local
github.com/charlesrappMedia & Design5Updated 16w ago

About pruna

pruna is an MCP server that connects Pruna AI’s image and video generation API to MCP-compatible clients. It provides tools, workflow prompts, and a model catalog for creating, editing, upscaling, and transforming visual media.

Key features

  1. 01Generate and edit images
  2. 02Virtual try-on and image upscaling
  3. 03Generate and transform video
  4. 04Browse models and upload files
  5. 05Workflow prompts and model catalog resource
  6. 06Return image and video content to clients

Use cases

  1. 01Create product photos and social visuals
  2. 02Stage rooms or develop game concept art
  3. 03Prepare image ads and video ads
  4. 04Enhance or upscale existing images

MCP support

Exposes Pruna AI image and video capabilities as MCP tools, along with seven prompts and a model-catalog resource. Image and video results can be returned as MCP content.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"charlesrapp-pruna": {
"command": "uvx",
"args": [
"pruna-mcp-server"
],
"env": {
"PRUNA_API_KEY": "<PRUNA_API_KEY>"
}
}
}
}
Run commanduvx pruna-mcp-server
Environment variables to set
PRUNA_API_KEYSecretYour Pruna AI API key (get one at https://pruna.ai)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypipruna-mcp-server0.1.1

Tools

6

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
categoryanyNo

Details

From the project README

🎨 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

  • 8 MCP Tools: generate_image, edit_image, try_on_image, upscale_image, generate_video, transform_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
  • 21 models: 10 text-to-image, 3 editing, 1 virtual try-on, 1 upscale, 4 video, 2 video-to-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"

# Linux (GNOME Keyring)
secret-tool store --label="Pruna API Key" service pruna-mcp-server key api_key <<< "your-api-key"

# Windows (PowerShell)
[System.Environment]::SetEnvironmentVariable("PRUNA_API_KEY", "your-api-key", "User")

# Or environment variable (all platforms)
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", "try_on_image", "upscale_image", "generate_video", "transform_video", "list_models", "upload_file"]
}

In tools, add: "@pruna/*"

In allowedTools, add: "generate_image", "edit_image", "try_on_image", "upscale_image", "generate_video", "transform_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
try_on_imageVirtual try-on: fit up to 11 garments onto a person$0.015 first + $0.008/extra garment
upscale_imageAI upscaling up to 128 megapixelsFrom $0.005/image
generate_videoText/image/audio to videoFrom $0.005/s
transform_videoVideo-to-video: animate a subject or replace characters$0.03/s (720p), $0.06/s (1080p)
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).

Video tools return a JSON metadata block (including a download_url to the Pruna delivery URL), the .mp4 as a native MCP binary resource (EmbeddedResource blob, for videos < 25MB) so clients materialize the file the same way they save images, and a ResourceLink to the same delivery URL as a fallback for larger files. All tools return an absolute file_path.

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_KEY✅—Your Pruna AI API key
PRUNA_OUTPUT_DIR—~/pruna-outputDirectory for downloaded files
PRUNA_POLL_INTERVAL—2Seconds between async polls
PRUNA_TIMEOUT—120HTTP timeout in seconds
PRUNA_MAX_RETRIES—3Max 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 (147 tests, 97% 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.