Aiyogg_tinypng Mcp Server

by MCP-Mirror

237 downloads
Not rated
GitHub

About

Aiyoggtinypng Mcp Server is a Model Context Protocol (MCP) server that integrates with the TinyPNG API to compress both local and remote image files. It is built for developers using MCP-compatible clients (e.g., Claude Desktop) who need to reduce image file sizes…

Details

Author
MCP-Mirror
Downloads
237
Categories
Other

- Compress local image files via absolute path
- Compress remote images by providing a URL
- Option to specify output format (e.g., image/jpeg)
- Supports bun and Node.js runtimes
- Installs automatically via Smithery

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Aiyogg_tinypng Mcp Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install dependencies and build with pnpm i && pnpm build, then configure the MCP client (e.g., mcp.json) with the command (bun or node), the path to the server entry point, and the TINYPNG_API_KEY environment variable. Alternatively, install automatically via Smithery using npx -y @smithery/cli install @aiyogg/tinypng-mcp-server --client claude. The server exposes two tools: compress_local_image and compress_remote_image.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "aiyogg_tinypng mcp server": {
            "aiyogg_tinypng-mcp-server": {
                "command": "npx",
                "args": [
                    "-y",
                    "@smithery/cli",
                    "install",
                    "@aiyogg/tinypng-mcp-server",
                    "--client",
                    "claude"
                ]
            }
        }
    }
}

McpServers

{
    "aiyogg_tinypng-mcp-server": {
        "command": "npx",
        "args": [
            "-y",
            "@smithery/cli",
            "install",
            "@aiyogg/tinypng-mcp-server",
            "--client",
            "claude"
        ]
    }
}

MCP server for TinyPNG

smithery badge

Usage

Use bun or node to run the server

1. Install dependencies and build

pnpm i
pnpm build

2. 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'],
  },
}

2. 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'],
  },
}
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.