mcp-image-downloader
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-image-downloaderdownload this product image from https://example.com/product.jpg to /tmp/product.jpg"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: img-src MCP Server
Installation
# 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 buildUsage
As an MCP Server
Add the server to your MCP configuration (e.g., in Claude Desktop's config):
{
"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 downloadoutputPath: Path where to save the image
optimize_image
Creates an optimized version of an image.
Parameters:
inputPath: Path to the input imageoutputPath: Path where to save the optimized imagewidth(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
# Run in development mode
npm run start
# Build the project
npm run buildRequirements
Node.js 16 or higher
NPM or compatible package manager
License
MIT License - see the LICENSE file for details.
Author
qpd-v
Version
0.1.0 - Initial release
Available Tools
2 toolsdownload_imageC
Download an image from a URL to a specified path
| Name | Required | Description | Default |
|---|---|---|---|
| outputPath | Yes | Path where to save the image | |
| url | Yes | URL of the image to download |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions downloading to a path but doesn't cover critical aspects like error handling (e.g., invalid URLs, network failures), file overwriting behavior, supported image formats, or authentication needs. This leaves significant gaps for an agent to understand how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded and wastes no space, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a download operation (which involves network I/O and file system changes), the description is insufficient. With no annotations, no output schema, and minimal behavioral details, it fails to provide enough context for safe and effective use. Key aspects like error conditions, performance implications, or return values are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters ('url' and 'outputPath'). The description adds minimal value beyond this, only reiterating that the URL is for the image and the path is for saving it. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('download') and resource ('image from a URL'), making the purpose immediately understandable. However, it doesn't differentiate from the sibling tool 'optimize_image' (which likely processes images rather than downloading them), so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'optimize_image' or other potential tools. It states what the tool does but offers no context about appropriate use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_imageC
Create an optimized version of an image
| Name | Required | Description | Default |
|---|---|---|---|
| height | No | Target height (maintains aspect ratio if only height is specified) | |
| inputPath | Yes | Path to the input image | |
| outputPath | Yes | Path where to save the optimized image | |
| quality | No | JPEG/WebP quality (1-100) | |
| width | No | Target width (maintains aspect ratio if only width is specified) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits like performance characteristics, error conditions, or side effects. It mentions optimization but doesn't explain what that entails (e.g., compression, format changes).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'optimized' means, what formats are supported, or what happens on failure. The context signals indicate moderate complexity (5 parameters) that warrants more explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create an optimized version') and resource ('of an image'), making the purpose immediately understandable. It distinguishes from the sibling 'download_image' by focusing on transformation rather than retrieval, though it doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or constraints. It simply states what the tool does without context about appropriate scenarios or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.0- First observed
download_image - First observed
optimize_image
TDQS
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Resize, convert, compress, crop, thumbnail and watermark images from your AI chat.
Image processing for AI agents: resize, convert, compress, crop, and web-ready AI-generated images.
Resize, compress, convert, watermark and SEO-tag e-commerce product images from a public URL.
AI image processing: upscale, resize, crop, compress, convert file format, and generate SEO metadata
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze images from URLs or local files using xAI's Grok API. Provides detailed image descriptions, technical metadata extraction, and optical character recognition (OCR) capabilities.7-
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with img-src.io for uploading, searching, and managing images through natural language. It provides tools for image transformations, CDN URL generation, and account usage monitoring.855MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to search, download, and analyze Google images via SerpAPI.31819ISC
- AlicenseNot gradedqualityDmaintenanceEnables AI to autonomously search, filter, and download images from the web using natural language commands, with intelligent scoring and local storage.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/qpd-v/mcp-image-downloader'
If you have feedback or need assistance with the MCP directory API, please join our Discord server