NestDaddy

Pixelvault

io.github.pixelvault-dev/pixelvault · v0.4.0

Image infrastructure for agents. Upload, transform, and deliver images through MCP, CLI, or API.

Connect Remote server

Terminal
claude mcp add --transport http pixelvault https://mcp.pixelvault.dev/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
~/.cursor/mcp.json
{
  "mcpServers": {
    "pixelvault": {
      "url": "https://mcp.pixelvault.dev/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "pixelvault": {
      "type": "http",
      "url": "https://mcp.pixelvault.dev/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://mcp.pixelvault.dev/mcp

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools 19 found in our last check

  • 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&fi…

  • list_images

    List images in your PixelVault project, most recent first, optionally filtered by custom metadata or AI tag, or searched by AI description (q: alt text, caption, OCR text, best match first). Maps to GET /v1/images with pagination. Requires a PixelVault API key sent as a Bearer t…

  • get_usage

    Show your plan, this month's usage (storage, uploads) and what is left of the quota, so you can check before a bulk upload. Maps to GET /v1/usage. Read-only. Requires a PixelVault API key sent as a Bearer token in the Authorization header.

  • 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.

  • update_image_metadata

    Replace one image's custom metadata (a JSON object you can later filter list_images by). The object replaces the stored one, so send every key to keep; null clears it. Maps to PATCH /v1/images/:id. Requires a PixelVault API key sent as a Bearer token in the Authorization header.

  • list_image_tags

    List the AI tags on your described images with how many images carry each, most used first (at most 40). Pass one to list_images (tag) to see those images. Maps to GET /v1/images/tags. Read-only. Requires a PixelVault API key sent as a Bearer token in the Authorization header.

  • describe_image

    Start the AI description (alt text, caption, OCR text, up to 5 tags) of an image you already uploaded without describe=true. Idempotent: an image that is already described or in progress returns its state and uses none of your allowance. It takes a few seconds: call get_image un…

  • create_upload_url

    Prepare a public image upload from a local shell file when no host attachment download URL exists. Compute the file size and SHA-256 in the shell, then call this tool with filename, size and sha256. Returns a 10-minute URL and curl command to PUT the raw file bytes without an AP…

  • upload_image

    Upload an image publicly to PixelVault and get an instant CDN URL. Maps to POST /v1/images. Provide exactly one of `file` (a host-provided attachment), `source_url` (a public http(s) URL the server fetches), or `data` (base64-encoded bytes). Prefer file for attachments; optional…

  • 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: "pri…

  • list_collections

    List your project's collections (CI runs, generation sets, albums — what upload_batch creates), newest first. Maps to GET /v1/collections. Optional `type` and `name` filters (name is the CI run id, generation id, etc.) and pagination. Requires a PixelVault API key sent as a Bear…

  • get_collection

    Get one collection and its images by id. Maps to GET /v1/collections/:id. Each image has a `visibility`: for `private` images the returned URL is the plain CDN URL, which returns 403 without a signature, so call sign_url with the image id for a viewable link (a signed URL cannot…

  • close_collection

    Close a collection (e.g. when a PR merges). Maps to POST /v1/collections/:id/close. Call get_collection first and check its `type`: for `ci_build` collections closing makes every image in it eligible for deletion, which a background sweep (hourly, in batches) then carries out pe…

  • 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…

  • 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,…

  • 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…

  • generate_image

    Generate an image from a text prompt with a Cloudflare Workers AI model and host it on PixelVault in one call; returns the permanent CDN URL. Maps to POST /v1/images/generate. Spends credits from the monthly grant (free 10, Starter 300, Pro 1500; resets on the 1st, UTC): flux-1-…

  • upgrade_plan

    Start a paid-plan checkout (`starter` or `pro`). Maps to POST /v1/billing/checkout. Returns a Stripe Checkout URL — it does NOT charge anything: the account owner must open the URL and pay, so show it only to them. The plan changes only after Stripe confirms, so call get_usage a…

  • manage_billing

    Open the Stripe billing portal to change plan, update payment details or cancel. Maps to POST /v1/billing/portal. Returns a URL for the account owner to open; nothing changes until they act there. The URL can cancel the subscription and change payment details, so show it only to…

Headers

NameDescription
Authorization
Required, secret
PixelVault API key sent as a Bearer token. Create one in your dashboard at https://pixelvault.dev.

Details

Endpointhttps://mcp.pixelvault.dev/mcp (Streamable HTTP)
Endpointhttps://mcp.pixelvault.dev/mcp/oauth (Streamable HTTP)
First published24 Oct 2026
Last updated24 Oct 2026
Registry nameio.github.pixelvault-dev/pixelvault

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.