mcp-image-downloader
# MCP Image Downloader
An MCP server that provides tools for downloading and optimizing images. Built using the Model Context Protocol (MCP), this server enables AI assistants to download images from URLs and perform basic image optimization tasks.
## Features
- Download images from URLs with proper error handling
- Optimize images with options for:
- Resizing (maintaining aspect ratio)
- Quality adjustment (JPEG/WebP)
- Format conversion
## Installation
```bash
# Clone the repository
git clone https://github.com/qpd-v/mcp-image-downloader.git
cd mcp-image-downloader
# Install dependencies
npm install
# Build the project
npm run build
```
## Usage
### As an MCP Server
Add the server to your MCP configuration (e.g., in Claude Desktop's config):
```json
{
"mcpServers": {
"image-downloader": {
"command": "node",
"args": ["/path/to/mcp-image-downloader/build/index.js"]
}
}
}
```
### Available Tools
#### download_image
Downloads an image from a URL to a specified path.
Parameters:
- `url`: URL of the image to download
- `outputPath`: Path where to save the image
#### optimize_image
Creates an optimized version of an image.
Parameters:
- `inputPath`: Path to the input image
- `outputPath`: Path where to save the optimized image
- `width` (optional): Target width (maintains aspect ratio if only width is specified)
- `height` (optional): Target height (maintains aspect ratio if only height is specified)
- `quality` (optional): JPEG/WebP quality (1-100)
## Development
```bash
# Run in development mode
npm run start
# Build the project
npm run build
```
## Requirements
- Node.js 16 or higher
- NPM or compatible package manager
## License
MIT License - see the [LICENSE](LICENSE) file for details.
## Author
qpd-v
## Version
0.1.0 - Initial releaseTDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one downloads images from external sources, while the other processes existing images for optimization. There is no overlap in functionality, making it impossible to confuse them.
Both tools follow a consistent verb_noun pattern (download_image and optimize_image) with clear, descriptive names. The naming convention is uniform and predictable throughout the set.
With only two tools, the server feels under-scoped for an image downloader domain. Key operations like listing available images, handling errors, or supporting different image formats are missing, making the toolset too minimal for robust agent workflows.
The toolset is severely incomplete for an image downloader domain. It lacks basic CRUD operations such as listing or deleting images, error handling tools, and support for varied input sources or formats, which will likely cause agent failures in practical use.