0.0.6 • Published 6 months ago

@boomlinkai/image-worker-mcp v0.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

@boomlinkai/image-worker-mcp

Demo: Image Resize and Upload

A fast, plug-and-play MCP server for image processing and cloud uploads, designed for AI assistants and automation workflows.


📝 What is @boomlinkai/image-worker-mcp?

A lightweight server implementing Model Context Protocol (MCP) for automated image manipulation and uploads. It makes image resizing, converting, optimizing, and uploading seamless for devs, AI tools, or automated pipelines.


✨ Features

  • All-in-One Image Processing: Resize, convert, optimize, and transform images with the powerful sharp library.
  • Effortless Cloud Uploads: Integrates with AWS S3, Cloudflare R2, Google Cloud Storage.
  • AI & Workflow Ready: Built for MCP, integrates with any AI assistant or workflow runner.
  • Flexible Input: Works with file paths, URLs, or base64 images.
  • Automatable: Scriptable for batch tasks or as a backend service.

🚀 How to Install

Use npm (or yarn/pnpm):

npm install -g @boomlinkai/image-worker-mcp
# or
yarn global add @boomlinkai/image-worker-mcp
# or
pnpm add -g @boomlinkai/image-worker-mcp

Or use it instantly (no install):

npx @boomlinkai/image-worker-mcp

⚡ Quick Start

Start the MCP Server

npx @boomlinkai/image-worker-mcp

Example: AI Assistant Workflow

Resize an image:

{
  "tool_code": "use_mcp_tool",
  "tool_name": "resize_image",
  "server_name": "image-worker",
  "arguments": {
    "imageUrl": "https://example.com/original.jpg",
    "width": 800,
    "format": "webp",
    "outputPath": "./resized_image.webp"
  }
}

Upload an image:

{
  "tool_code": "use_mcp_tool",
  "tool_name": "upload_image",
  "server_name": "image-worker",
  "arguments": {
    "imagePath": "./resized_image.webp",
    "service": "s3",
    "filename": "my-optimized-image",
    "folder": "website-assets"
  }
}

🛠️ Usage & Configuration

The MCP server works via stdio, making it easy to plug into AI tools and code editors.

Platform Integrations

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "image-worker": {
      "command": "npx",
      "args": ["-y", "@boomlinkai/image-worker-mcp"]
    }
  }
}

🧰 Tools Reference

resize_image

Resize and transform images via:

  • imagePath, imageUrl, or base64Image (input)
  • width, height, fit, format, quality, rotate, etc.
  • Returns path or base64 of processed image

upload_image

Upload any image (by path/url/base64) to:

  • service: s3 | cloudflare | gcloud
  • filename, folder, public, etc.
  • Set credentials as env vars

🔑 Environment Variables

Set these for your chosen cloud provider:

AWS S3

export AWS_ACCESS_KEY_ID=xxx
export AWS_SECRET_ACCESS_KEY=xxx
export S3_BUCKET=your-bucket
export S3_REGION=us-east-1
# Optional: S3_ENDPOINT=https://...

Cloudflare R2

export CLOUDFLARE_R2_ACCESS_KEY_ID=xxx
export CLOUDFLARE_R2_SECRET_ACCESS_KEY=xxx
export CLOUDFLARE_R2_BUCKET=your-bucket
export CLOUDFLARE_R2_ENDPOINT=https://...

Google Cloud Storage

export GCLOUD_PROJECT_ID=xxx
export GCLOUD_BUCKET=your-bucket
# Optionally: GCLOUD_CREDENTIALS_PATH=/path/to/key.json

Default upload service:

export UPLOAD_SERVICE=s3

⚠️ Never commit credentials to source control. Use environment variables or secret managers.


🏗️ Requirements

  • Node.js 18.x or higher
  • No system dependencies; sharp is auto-installed

🐞 Troubleshooting / FAQ

  • Install fails on ARM/Apple Silicon? Run brew install vips (sharp dependency) or use Node 18+.
  • Credentials not working? Check env var spelling/casing.
  • Image output is blank or corrupt? Confirm input image type and size.

🤝 Contributing

PRs and issues welcome! Please open an issue or submit a pull request.


👤 Author

Vuong NgoBoomLink.ai


🌐 Connect with Us

Discord X.com LinkedIn


📄 License

MIT


💖 Sponsored by BoomLink.ai

BoomLink.ai Logo

0.0.6

6 months ago

0.0.5

6 months ago

0.0.4

6 months ago

0.0.3

6 months ago

0.0.2

6 months ago

0.0.1

6 months ago

0.0.0

6 months ago