Pruna

io.github.charlesrappPublished by GitHub account charlesrappv0.1.1Updated Oct 24, 2026

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

VerifiedSTDIODesktop onlyMedia & DesignAI & ML

Overview

AI-generated overview

Pruna AI MCP server that lets an assistant generate, edit, upscale and transform images and videos through the Pruna inference API.

What you can do
Generate images from text prompts and edit one to five images with text instructions, including virtual try-on of garments on a person and AI upscaling up to 128 megapixels. Create videos from text, images or audio, and transform existing video by animating a subject or replacing characters. Browse the available models and their pricing, and upload local files or URLs for editing and video workflows. Return images inline as MCP image content and videos as downloadable files with an absolute local path. Offer built-in prompt templates for product photos, virtual staging, social visuals, concept art, ad creatives and image enhancement.
When to use it
Useful when you want an assistant to produce or refine visual assets — product shots, ad creatives, concept art, staged rooms, upscaled images or short videos — without leaving the chat client. Also fits workflows that need a choice of image and video models with visible per-item pricing.
Requirements
Runs locally over stdio, installed with uvx or pip (Python). Requires a Pruna AI API key in the PRUNA_API_KEY environment variable; access is requested through Pruna. Optional settings cover output directory, poll interval, timeout and retries. Network access to the Pruna API is needed, and a paid Pruna account for generation.
Before you install
Every generation, edit, upscale or video call is billed per image, garment or second of video, so costs accumulate with use. The PRUNA_API_KEY is a paid credential and should be stored securely rather than pasted into shared configs. Uploaded files and prompts are sent to the Pruna API, and generated media is downloaded to a local output directory. The README's example client config auto-approves all tools, which removes confirmation before spending.

Installation

In SourceWeft

  1. Open Pruna in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

bash
# With uvx (zero install)uvx pruna-mcp-server
# Or with pippip install pruna-mcp-serverpruna-mcp

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

bash
# 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:

json
"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):

json
{  "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:

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

bash
git clone https://github.com/charlesrapp/pruna-mcp-server.gitcd pruna-mcp-serveruv sync --extra dev
# Run tests (147 tests, 97% coverage)uv run pytest --cov
# Lint & type checkuv run ruff check src/ tests/uv run mypy src/

See CONTRIBUTING.md for guidelines.

License

MIT — see LICENSE.

Source: README.md at commit ffe57c0

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts