From mcp-media-toolkit
Upload a local image file to S3-compatible storage (Cloudflare R2, AWS S3, MinIO, DigitalOcean Spaces) and return the public URL. Use whenever the user asks to "upload this image", "host this file", "get a public URL for X", "put this image online", "upload to R2", "upload to S3", or wants to make a local image accessible via URL. Works with any image file already on disk — use /generate-image-gemini first if the image needs to be generated.
npx claudepluginhub tadeukaiba/mcp-media-toolkit --plugin mcp-media-toolkitThis skill uses the workspace's default tool permissions.
Upload a local image file to the configured S3-compatible storage using the `upload_image_s3` MCP tool and return the public URL.
Implements structured self-debugging workflow for AI agent failures: capture errors, diagnose patterns like loops or context overflow, apply contained recoveries, and generate introspection reports.
Monitors deployed URLs for regressions in HTTP status, console errors, performance metrics, content, network, and APIs after deploys, merges, or upgrades.
Provides React and Next.js patterns for component composition, compound components, state management, data fetching, performance optimization, forms, routing, and accessible UIs.
Upload a local image file to the configured S3-compatible storage using the upload_image_s3 MCP tool and return the public URL.
Get the file path.
generate_image_gemini result in this conversation.Verify the file exists. Before calling the tool, use a quick Bash call (test -f <path>) if there's any doubt — it's cheaper to fail fast with a clear message than to wait for the MCP error.
Decide on a key (optional).
images/<timestamp>-<filename>. Use this unless the user has a reason to override.avatars/user-123.png), pass it as key.Call the tool. Use mcp__mcp-media-toolkit__upload_image_s3 with file_path (and key if overriding).
Report the URL. The tool returns the bucket, key, and public URL. Show the user the public URL prominently — that's what they actually need. Mention the bucket/key only if relevant.
S3_ENDPOINT, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_BUCKET, and S3_PUBLIC_URL in their environment. Point them at the project README's Configuration section.PutObject on the target bucket.S3_BUCKET.S3_PUBLIC_URL + "/" + key. If the returned URL doesn't open in the browser, the issue is usually that the bucket isn't publicly readable or the S3_PUBLIC_URL is wrong — not the upload itself.