TinyPNG MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.23.4Updated Nov 7, 2026

Compress, resize and convert images with TinyPNG by URL, and check this month's compression count.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableFiles & StorageMedia & Design

Overview

AI-generated overview

Hosted TinyPNG server that lets an assistant compress images by URL, resize or convert them, download results, and check monthly compression usage.

What you can do
  • Compress a public image by URL (JPEG, PNG, WebP, AVIF, JPEG XL) and get its output address and savings
  • Resize, convert format or preserve metadata on a previously compressed image
  • Download a compressed image and return it with type, size and dimensions
  • Check how many compressions the key used this month and whether the key is valid
  • Manage the subscription: view plans, upgrade via a payment link, cancel Pro
When to use it
Useful when you want an assistant to shrink, resize or convert web-hosted images without running local tooling, and to keep an eye on TinyPNG quota. Suits occasional product-photo or banner optimization tasks.
Requirements
Remote endpoint at tinypng.usefulapi.io/mcp; no local install. Connect with only the URL — the server signs in via OAuth and the login page asks for your TinyPNG credentials. A TinyPNG (Tinify) API key is needed; the free plan allows 50 tool calls per month.
Before you install
Compression and transform tools are write operations that consume quota; the server asks confirmation before changing data. Images are fetched by URL by TinyPNG, so the image URL is shared with that third party. Paid plans are billed through a Stripe Checkout link, and cancelling Pro gives no refund for the current period. The server's instructions mention tools (usage status, feature request, upgrade, cancel) not listed in the manifest.

Installation

In SourceWeft

  1. Open TinyPNG MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Ftinypng/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "tinypng-by-usefulapi": {
      "type": "http",
      "url": "https://tinypng.usefulapi.io/mcp"
    }
  }
}

README

TinyPNG MCP by usefulapi

Use TinyPNG from Claude, Cursor, or any MCP client — compress an image by URL, resize or convert the result (WebP, AVIF, PNG, JPEG), download it, and check how many compressions your key used this month. Hosted, no local install: connect with your own TinyPNG credentials.

Live endpoint: https://tinypng.usefulapi.io/mcp · Homepage: https://usefulapi.io/tinypng

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://tinypng.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http tinypng https://tinypng.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "tinypng": {      "url": "https://tinypng.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your TinyPNG credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/tinypng/

Tools

ToolTypeWhat it does
tinypng_compress_imagewriteCompress an image from a URL
tinypng_transform_imagewriteResize, convert or keep metadata of a compressed image
tinypng_download_imagereadDownload a compressed image
tinypng_get_usagereadGet compression usage this month
tinypng_usage_statusmetaUsage status (free-tier meter)
tinypng_request_featuremetaRequest a missing feature
tinypng_upgrademetaUpgrade to Pro or Pro+
tinypng_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per API key)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with tinypng_upgrade (it returns a Stripe Checkout link). Cancel any time with tinypng_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running tinypng_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by TinyPNG.

Source: servers/tinypng/README.md at commit 4046075

Tools

4

tinypng_compress_image

Compress an image from a URL

WRITE (uses quota): ask TinyPNG (Tinify) to fetch a public image by URL and compress it (JPEG, PNG, WebP, AVIF or JPEG XL). Returns the output_url (Tinify's Location address of the compressed image), the compressed size and type, the savings when the input size is known, and the Compression-Count header (compressions used this month). The image is stored by Tinify for about 48 hours; output_url needs your API key, so use tinypng_download_image to get the bytes and tinypng_transform_image to resize, convert or keep metadata. Each compression counts against the monthly quota of your Tinify API key (the free plan includes 500 per month); resizing and converting count one extra compression each. POST /shrink.

Parametersurlrequired

tinypng_transform_image

Resize, convert or keep metadata of a compressed image

WRITE (uses quota): apply a resize, a format conversion and/or metadata preservation to an image compressed earlier (the output_url from tinypng_compress_image, valid about 48 hours). Returns the resulting type, byte size, width, height and Compression-Count; the image itself is returned too when include_image is true and it is under 1 MB. Resize: method scale (give width OR height), or fit / cover / thumb (give width AND height); images are never scaled up. Convert: one or more of image/webp, image/jpeg, image/png, image/avif, image/jxl (several = the smallest is returned) or */* (the smallest of WebP, JPEG, PNG); converting a transparent image to JPEG needs a background colour. Preserve: copyright, creation, location (location is JPEG only) keeps that metadata, which makes the file slightly larger. Each call is a fresh request: resize and convert each count one extra compression on your monthly Tinify quota, preserve is free. Tinify returns the bytes only (no new URL), so only include_image gives you the transformed file, and only when it is under 1 MB. POST /output/{id}.

Parameterspreservebackgroundconvert_tooutput_urlrequiredresize_widthinclude_imageresize_heightresize_method

tinypng_download_image

Download a compressed image

Fetch the compressed image of an earlier tinypng_compress_image (its output_url, valid about 48 hours) and return it as an image with its type, byte size, width and height. Images over 1 MB are described but not returned inline. Downloading does not use extra compression quota. GET /output/{id}.

Parametersoutput_urlrequired

tinypng_get_usage

Get compression usage this month

How many compressions your Tinify API key has used this calendar month (the Compression-Count header), and whether the key is valid. The check sends an empty request that Tinify refuses, so nothing is compressed and no quota is used. Compare with your Tinify plan (the free plan includes 500 per month). POST /shrink with no body.

Takes no parameters.

Version history

19
  1. v1.23.4LatestNov 7, 2026
  2. v1.22.3Nov 5, 2026
  3. v1.22.2Nov 5, 2026
  4. v1.22.1Nov 4, 2026
  5. v1.22.0Nov 3, 2026
  6. v1.21.1Nov 3, 2026
  7. v1.20.0Nov 1, 2026
  8. v1.18.0Oct 31, 2026
  9. v1.17.0Oct 31, 2026
  10. v1.16.2Oct 30, 2026
  11. v1.16.0Oct 30, 2026
  12. v1.11.0Oct 26, 2026
  13. v1.8.3Oct 25, 2026
  14. v1.8.0Oct 25, 2026
  15. v1.7.0Oct 24, 2026
  16. v1.4.0Oct 23, 2026
  17. v1.3.4Oct 22, 2026
  18. v1.3.3Oct 21, 2026
  19. v1.0.0Oct 12, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations