image-tools-mcp

Integrations

  • Provides TypeScript interfaces for tool schemas, allowing type-safe integration with the MCP client library.

Инструменты изображения MCP

Служба протокола контекста модели (MCP) для получения размеров изображений и сжатия изображений, поддерживающая как URL-адреса, так и локальные источники файлов.

中文文档

Функции

  • Извлечение размеров изображения из URL-адресов
  • Получить размеры изображения из локальных файлов
  • Сжатие изображений из URL-адресов с помощью API TinyPNG
  • Сжатие локальных изображений с помощью API TinyPNG
  • Конвертируйте изображения в различные форматы (webp, jpeg/jpg, png)
  • Возвращает ширину, высоту, тип, тип MIME и информацию о сжатии.

Примеры результатов

скачать с figma url и сжать

Использование

Использование в качестве MCP-сервиса

Этот сервис предоставляет пять функций инструмента:

  1. get_image_size — Получить размеры удаленных изображений
  2. get_local_image_size — Получить размеры локальных изображений
  3. compress_image_from_url — сжатие удаленных изображений с помощью API TinyPNG
  4. compress_local_image — сжатие локальных изображений с помощью API TinyPNG
  5. figma — извлекайте ссылки на изображения из API Figma и сжимайте их с помощью API TinyPNG

Интеграция клиента

Чтобы использовать эту службу MCP, вам необходимо подключиться к ней с клиента MCP. Вот примеры того, как интегрироваться с разными клиентами:

Использование с Claude Desktop
  1. Установите Claude Desktop с claude.ai/download
  2. Получите ключ API TinyPNG: посетите TinyPNG и получите свой ключ API
  3. Настройте Claude Desktop для использования этого сервера MCP, отредактировав файл конфигурации:
{ "mcpServers": { "image-tools": { "command": "npx", "args": ["image-tools-mcp"], "env": { "TINIFY_API_KEY": "<YOUR_TINIFY_API_KEY>", "FIGMA_API_TOKEN": "<YOUR_FIGMA_API_TOKEN>" } } } }
  1. Перезагрузить рабочий стол Клода
  2. Попросите Клода узнать размеры изображения: «Можете ли вы сказать мне размеры этого изображения: https://example.com/image.jpg »
  3. Попросите Клода сжать изображение: «Можете ли вы сжать это изображение: https://example.com/image.jpg »
  4. Попросите Клода сжать локальное изображение: «Можете ли вы сжать это изображение: D:/path/to/image.png»
  5. Попросите Клода сжать локальную папку с изображениями: «Можете ли вы сжать эту папку: D:/imageFolder»
  6. Попросите Клода получить ссылки на изображения из API Figma: «Можете ли вы получить ссылки на изображения из API Figma: https://www.figma.com/file/XXXXXXX »
Использование с клиентской библиотекой MCP
import { McpClient } from "@modelcontextprotocol/client"; // Initialize the client const client = new McpClient({ transport: "stdio" // or other transport options }); // Connect to the server await client.connect(); // Get image dimensions from URL const urlResult = await client.callTool("get_image_size", { options: { imageUrl: "https://example.com/image.jpg" } }); console.log(JSON.parse(urlResult.content[0].text)); // Output: { width: 800, height: 600, type: "jpg", mime: "image/jpeg" } // Get image dimensions from local file const localResult = await client.callTool("get_local_image_size", { options: { imagePath: "D:/path/to/image.png" } }); console.log(JSON.parse(localResult.content[0].text)); // Output: { width: 1024, height: 768, type: "png", mime: "image/png", path: "D:/path/to/image.png" } // Compress image from URL const compressUrlResult = await client.callTool("compress_image_from_url", { options: { imageUrl: "https://example.com/image.jpg", outputFormat: "webp" // Optional: convert to webp, jpeg/jpg, or png } }); console.log(JSON.parse(compressUrlResult.content[0].text)); // Output: { originalSize: 102400, compressedSize: 51200, compressionRatio: "50.00%", tempFilePath: "/tmp/compressed_1615456789.webp", format: "webp" } // Compress local image const compressLocalResult = await client.callTool("compress_local_image", { options: { imagePath: "D:/path/to/image.png", outputPath: "D:/path/to/compressed.webp", // Optional outputFormat: "image/webp" // Optional: convert to image/webp, image/jpeg, or image/png } }); console.log(JSON.parse(compressLocalResult.content[0].text)); // Output: { originalSize: 102400, compressedSize: 51200, compressionRatio: "50.00%", outputPath: "D:/path/to/compressed.webp", format: "webp" } // Fetch image links from Figma API const figmaResult = await client.callTool("figma", { options: { figmaUrl: "https://www.figma.com/file/XXXXXXX" } }); console.log(JSON.parse(figmaResult.content[0].text)); // Output: { imageLinks: ["https://example.com/image1.jpg", "https://example.com/image2.jpg"] } ### Tool Schemas #### get_image_size ```typescript { options: { imageUrl: string // URL of the image to retrieve dimensions for } }
получить_локальный_размер_изображения
{ options: { imagePath: string; // Absolute path to the local image file } }
сжать_изображение_из_url
{ options: { imageUrl: string // URL of the image to compress outputFormat?: "image/webp" | "image/jpeg" | "image/jpg" | "image/png" // Optional output format } }
сжать_локальное_изображение
{ options: { imagePath: string // Absolute path to the local image file outputPath?: string // Optional absolute path for the compressed output image outputFormat?: "image/webp" | "image/jpeg" | "image/jpg" | "image/png" // Optional output format } }
фигма
{ options: { figmaUrl: string; // URL of the Figma file to fetch image links from } }

Техническая реализация

Этот проект построен на следующих библиотеках:

  • probe-image-size — для определения размера изображения
  • tinify — для сжатия изображений с помощью API TinyPNG
  • figma-api — для получения ссылок на изображения из API Figma

Переменные среды

  • TINIFY_API_KEY — Требуется для функциональности сжатия изображений. Получите свой ключ API от TinyPNG
    • Если не указано иное, инструменты сжатия ( compress_image_from_url и compress_local_image ) не будут зарегистрированы.
  • FIGMA_API_TOKEN - Требуется для получения ссылок на изображения из Figma API. Получите свой API-токен из Figma
    • Если не указано иное, инструмент Figma ( figma ) не будет зарегистрирован.

Примечание: основные инструменты измерения размеров изображения ( get_image_size и get_local_image_size ) всегда доступны независимо от ключей API.

Лицензия

Массачусетский технологический институт

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Image Tools MCP — это служба Model Context Protocol (MCP), которая извлекает размеры изображений и сжимает их из URL-адресов и локальных файлов с помощью API TinyPNG. Она поддерживает преобразование изображений в такие форматы, как webp, jpeg/jpg и png, предоставляя подробную информацию о ширине, высоте, типе и сжатии.

  1. Функции
    1. Примеры результатов
  2. Использование
    1. Использование в качестве MCP-сервиса
    2. Интеграция клиента
  3. Техническая реализация
    1. Переменные среды
      1. Лицензия

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          An MCP server for analyzing images using OpenRouter vision models, offering capabilities like automatic image resizing, model configuration, and handling custom queries about images.
          Last updated -
          5
          JavaScript
          MIT License
        • A
          security
          F
          license
          A
          quality
          A Model Context Protocol server that converts PDF documents into PNG images through a simple MCP tool call.
          Last updated -
          1
          2
          Python
          • Apple
          • Linux

        View all related MCP servers

        ID: ug3ciqhykv