MODEL CONTEXT PROTOCOL

PixelAPI MCP Server

Give Claude, ChatGPT, Cursor, VS Code or any MCP-capable agent direct access to PixelAPI image tools. The assistant discovers the tools, sends an image URL, and gets back a finished result URL.

https://api.pixelapi.dev/mcp

Tools

ToolWhat it doesMain inputs
remove_backgroundTransparent PNG cutout of the subjectimage_url
remove_objectErase an object or person and fill the areaimage_url, prompt and/or mask_url
remove_textRemove captions, overlaid text and watermarksimage_url, optional prompt
upscale_imageAI super-resolutionimage_url, scale (2-16, default 4)
replace_backgroundKeep the subject, generate a new backgroundimage_url, prompt, optional background_color
edit_imageEdit from a natural-language instructionimage_url, prompt, optional reference_image_url
virtual_try_onDress a person in a garment photoperson_image_url, garment_image_url, category
restore_photoRestore old, scratched or faded photosimage_url, restore_faces
interior_designRedesign or stage a room photoroom_image_url, room_type, design_style, optional user_prompt
get_job_statusCheck a job that was still runningjob_id
list_tools_and_pricesLive list of PixelAPI tools and credit pricesnone

Images are passed as public https URLs or data: URIs (up to 20 MB). Each tool waits up to wait_seconds (default 120, max 240) and returns output_url, credits_used and job_id. If a job is still running, the assistant can call get_job_status with the job_id.

Client setup

Cursor (~/.cursor/mcp.json) and other URL + header clients

{
  "mcpServers": {
    "pixelapi": {
      "url": "https://api.pixelapi.dev/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Claude Desktop (claude_desktop_config.json)

Uses the mcp-remote bridge (requires Node.js):

{
  "mcpServers": {
    "pixelapi": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.pixelapi.dev/mcp",
               "--header", "Authorization:${PIXELAPI_AUTH}"],
      "env": { "PIXELAPI_AUTH": "Bearer YOUR_API_KEY" }
    }
  }
}

Claude Code

claude mcp add --transport http pixelapi https://api.pixelapi.dev/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

VS Code (.vscode/mcp.json)

{
  "servers": {
    "pixelapi": {
      "type": "http",
      "url": "https://api.pixelapi.dev/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

OpenAI Responses API (ChatGPT models)

{
  "type": "mcp",
  "server_label": "pixelapi",
  "server_url": "https://api.pixelapi.dev/mcp",
  "headers": { "Authorization": "Bearer YOUR_API_KEY" },
  "require_approval": "never"
}

Anthropic Messages API (MCP connector)

"mcp_servers": [{
  "type": "url",
  "url": "https://api.pixelapi.dev/mcp",
  "name": "pixelapi",
  "authorization_token": "YOUR_API_KEY"
}]

Web connectors that only support OAuth sign-in (rather than a custom header) can't connect yet. Use a client or API that lets you set the Authorization header.

Example

Ask your assistant: "Remove the background from https://pixelapi.dev/_tool_samples/inputs/product_handbag.png". It calls remove_background and receives:

{
  "tool": "remove_background",
  "job_id": "6c310948-...",
  "status": "completed",
  "output_url": "https://api.pixelapi.dev/outputs/files/2026/11/02/....png",
  "credits_used": 18.0,
  "waited_seconds": 12.5
}

Prefer plain HTTP? The same tools are in the REST API docs. Machine-readable summary: llms.txt.