pixelvault
Agent-first image hosting — upload images and get instant CDN URLs.
What it can do
What data it sees
Do you need an account
An API key from the service settings is required
Agent-first image hosting — upload images and get instant CDN URLs.
How to connect
How to connect pixelvault to Claude
The server address to paste into Claude settings:
https://mcp.pixelvault.dev/mcp
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect pixelvault to ChatGPT
The server address to paste into ChatGPT settings:
https://mcp.pixelvault.dev/mcp
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect pixelvault to Cursor
The server address to paste into Cursor settings:
https://mcp.pixelvault.dev/mcp
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (8)
Raw names from tools/list. Only developers need these.
| get_image | Get metadata (CDN URL, size, MIME type, dimensions) for one PixelVault image by id. Maps to GET /v1/images/:id. Requires a PixelVault API key sent as a Bearer token in the Authorization header. The returned CDN URL supports on-the-fly transforms via query params — e.g. ?w=400&fit=cover (resize/crop), ?fmt=webp (format), ?segment=foreground (AI background removal → transparent PNG), effects like ?blur=30&saturation=0&rotate=90, and ?tile=<image_id.ext> (tile another of your images as a watermark). Or call the transform_image tool to build a valid transform URL for you. See https://pixelvault.dev/docs#transforms. |
| list_images | List images in your PixelVault project, most recent first. Maps to GET /v1/images with pagination. Requires a PixelVault API key sent as a Bearer token in the Authorization header. The returned CDN URL supports on-the-fly transforms via query params — e.g. ?w=400&fit=cover (resize/crop), ?fmt=webp (format), ?segment=foreground (AI background removal → transparent PNG), effects like ?blur=30&saturation=0&rotate=90, and ?tile=<image_id.ext> (tile another of your images as a watermark). Or call the transform_image tool to build a valid transform URL for you. See https://pixelvault.dev/docs#transforms. |
| delete_image | Permanently delete one PixelVault image by id. Maps to DELETE /v1/images/:id. Requires a PixelVault API key sent as a Bearer token in the Authorization header. |
| upload_image | Upload an image to PixelVault and get an instant CDN URL. Maps to POST /v1/images. Provide exactly one of `source_url` (a public http(s) URL the server fetches) or `data` (base64-encoded bytes); optional `folder`, `filename`, and `expires_in` (seconds, for an auto-expiring image). Max 5 MB; JPG/PNG/GIF/WebP/AVIF/SVG. Requires a PixelVault API key sent as a Bearer token in the Authorization header. The returned CDN URL supports on-the-fly transforms via query params — e.g. ?w=400&fit=cover (resize/crop), ?fmt=webp (format), ?segment=foreground (AI background removal → transparent PNG), effects like ?blur=30&saturation=0&rotate=90, and ?tile=<image_id.ext> (tile another of your images as a watermark). Or call the transform_image tool to build a valid transform URL for you. See https://pixelvault.dev/docs#transforms. |
| upload_batch | Upload many images (1–50) in one call, grouped into a collection — e.g. a CI run or a set of generated variants. Maps to POST /v1/images/batch. Each item is `data` (base64) or `source_url` (server-fetched, SSRF-guarded), with optional `filename`/`metadata`. Set `visibility: "private"` to get a signed URL per image (free plan: up to 100 private images) instead of a public CDN URL. Optional `type`/`name` (idempotent by (type, name)), `expires_in` (image TTL), `sign_expires_in` (signature lifetime), and collection `metadata`. Partial-failure tolerant: each returned item has its own `ok`. Requires a PixelVault API key sent as a Bearer token in the Authorization header. The returned CDN URL supports on-the-fly transforms via query params — e.g. ?w=400&fit=cover (resize/crop), ?fmt=webp (format), ?segment=foreground (AI background removal → transparent PNG), effects like ?blur=30&saturation=0&rotate=90, and ?tile=<image_id.ext> (tile another of your images as a watermark). Or call the transform_image tool to build a valid transform URL for you. See https://pixelvault.dev/docs#transforms. |
| sign_url | Mint a time-limited signed URL for a private image. Maps to POST /v1/images/:id/sign-url. Provide `id` and optional `expires_in` (seconds, default 3600). The signature binds the image, so the URL can't be replayed against another image; strip it and the CDN returns 403. Deleting the image revokes its URLs. Requires a PixelVault API key sent as a Bearer token in the Authorization header. |
| transform_image | Build an on-the-fly transform URL for a PixelVault image (resize, crop, format/quality, AI background removal, blur/sharpen/rotate/flip, brightness/contrast/saturation, and same-project watermark tiling). Provide exactly one of `url` (a PixelVault CDN URL) or `id` (an image id, resolved via the API — requires an API key), plus one or more transform params. Returns the ready-to-use CDN URL; the transform is produced and cached on first request. See https://pixelvault.dev/docs#transforms. |
| rescue_imgur | Scan a web page for hotlinked Imgur images and return a PixelVault rescue URL for each — a proxy that lazily rehosts the image on first request, keeping it working through the UK Imgur block. The anonymous rescue tier is a durable ~30-day edge cache (see `cache_ttl_days` in the result), not permanent storage. Maps to POST /v1/imgur-scan (server-side page fetch; no API key required). Provide `page_url` (a public https:// page). Drop each returned rescue_url into your HTML to rehost on first request. |