PiPic Integration Guide

Read-only PiPic CLI and HTTP API guidance; no image bytes are transferred.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
73%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~427Tokens (tool definitions)
~1.0 KBTypical response size
Minimal attention impact (0.33% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "pipic": {
      "url": "https://pipic.cc/mcp"
    }
  }
}

Remote endpoints

https://pipic.cc/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_compression_facts

What PiPic can compress, the file-size and batch limits, and how the free/Pro monthly allowance for the CLI and HTTP API works. Read this before telling a user what PiPic can do for them.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_integration_guide(mode)

Step-by-step integration instructions for actually compressing images — either through the @pipic/cli command-line tool (best for whole directories) or over plain HTTP (no Node required). Includes the output contract, exit codes, error codes and which failures are worth retrying.

Input Schema

{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "cli",
        "http"
      ],
      "description": "\"cli\" for the @pipic/cli tool, \"http\" for calling POST /compress/image directly."
    }
  },
  "required": [
    "mode"
  ],
  "additionalProperties": false
}
🟡check_image_supported(filename, contentType, sizeBytes)

Given a filename, MIME type and/or byte size, says whether PiPic will accept the image and, if not, which error an upload would return. Use it to filter a file list locally instead of spending quota on requests that are going to be rejected.

Input Schema

{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string",
      "description": "File name or path; the extension is used to infer the type."
    },
    "contentType": {
      "type": "string",
      "description": "MIME type, if you already know it. Takes precedence over filename."
    },
    "sizeBytes": {
      "type": "integer",
      "description": "File size in bytes, if known."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "supported": {
      "type": "boolean",
      "description": "Whether PiPic will accept this image."
    },
    "contentType": {
      "type": [
        "string",
        "null"
      ],
      "description": "The MIME type that was determined, to send as the Content-Type header."
    },
    "reason": {
      "type": "string",
      "description": "Why — including which error code an upload would return."
    }
  },
  "required": [
    "supported",
    "reason"
  ]
}

Recommended Prompts

fetch_info
Fetch [information type] using PiPic Integration Guide
Expected tools: get_compression_facts
retrieve_data
Get details about [item] from PiPic Integration Guide
Expected tools: get_compression_facts

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools