Skip to main content
Glama

MCP server for TinyPNG

Usage

Use bun or node to run the server

  1. Install dependencies and build

pnpm i
pnpm build
  1. Edit the mcp.json file

{
  "mcpServers": {
    "tinypng": {
      "command": "bun", // or "node"
      "args": ["/path/to/tinypng-mcp-server/src/index.ts"], // or "dist/index.js"
      "env": {
        "TINYPNG_API_KEY": "your-tinypng-api-key"
      }
    }
  }
}

Installing via Smithery

To install TinyPNG MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @aiyogg/tinypng-mcp-server --client claude

Tools

  1. Compress local image

{
  name: 'compress_local_image',
  description: 'Compress a local image file',
  inputSchema: {
    type: 'object',
    properties: {
      imagePath: {
        type: 'string',
        description: 'The ABSOLUTE path to the image file to compress',
        example: '/Users/user/Downloads/image.jpg',
      },
      outputPath: {
        type: 'string',
        description: 'The ABSOLUTE path to save the compressed image file',
        example: '/Users/user/Downloads/image_compressed.jpg',
      },
      outputFormat: {
        type: 'string',
        description: 'The format to save the compressed image file',
        enum: SUPPORTED_IMAGE_TYPES,
        example: 'image/jpeg',
      },
    },
    required: ['imagePath'],
  },
}
  1. Compress remote image

{
  name: 'compress_remote_image',
  description: 'Compress a remote image file by giving the URL of the image',
  inputSchema: {
    type: 'object',
    properties: {
      imageUrl: {
        type: 'string',
        description: 'The URL of the image file to compress',
        example: 'https://example.com/image.jpg',
      },
      outputPath: {
        type: 'string',
        description: 'The ABSOLUTE path to save the compressed image file',
        example: '/Users/user/Downloads/image_compressed.jpg',
      },
      outputFormat: {
        type: 'string',
        description: 'The format to save the compressed image file',
        enum: SUPPORTED_IMAGE_TYPES,
        example: 'image/jpeg',
      },
    },
    required: ['imageUrl'],
  },
}

Available Tools

3 tools
compress_local_imageC

Compress a local image file

Inputs: imagePath (required), outputPath, outputFormat, preserveMetadata.

compress_remote_imageC

Compress a remote image file by giving the URL of the image

Inputs: imageUrl (required), outputPath, outputFormat.

resize_imageC

Resize an image file

Inputs: imagePath (required), width (required), height (required), outputPath, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: compress_local_image handles local files, compress_remote_image handles URLs, and resize_image performs a different operation entirely. There is no overlap or ambiguity between these three functions.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with snake_case naming: compress_local_image, compress_remote_image, and resize_image. The naming is predictable and uniform throughout the set.

    Tool Count5/5

    With 3 tools, this server is well-scoped for its purpose of image processing with TinyPNG. Each tool earns its place by covering distinct aspects: local compression, remote compression, and resizing. This is an appropriate number for the domain.

    Completeness4/5

    The tool surface covers the core operations for image compression and resizing with TinyPNG, handling both local and remote sources. A minor gap might be the lack of a tool for batch processing or metadata retrieval, but agents can work around this with sequential calls.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers