mcp-image-tools
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-toolsextract the open graph image from https://example.com"
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-tools
MCP server providing image analysis tools for AI agents. Metadata inspection only -- no image processing or manipulation.
Tools
image_metadata
Read image metadata from a URL using HTTP headers. Returns content-type, file size, last-modified, etag, and cache info without downloading the full image.
find_favicons
Find all favicons for any website. Checks /favicon.ico, parses HTML <link> tags, and inspects manifest.json. Returns all discovered favicons with sizes and types.
extract_og_image
Extract Open Graph image, Twitter card image, and Apple touch icon from any URL. Useful for generating link previews.
generate_placeholder
Generate placeholder image URLs via the placehold.co API. Supports custom dimensions, colors, text, format, and font. Returns the URL plus ready-to-use HTML and Markdown markup. Can generate multiple sizes at once.
responsive_images
Generate srcset and <picture> element HTML for responsive images. Given a base image URL, produces multiple size variants with proper markup for responsive design, including multi-format <source> elements.
Related MCP server: simple-vision-mcp
Setup
npm install
npm run buildUsage with Claude Desktop
Add to your Claude Desktop config:
{
"mcpServers": {
"image-tools": {
"command": "node",
"args": ["path/to/mcp-image-tools/dist/index.js"]
}
}
}License
MIT
Available Tools
5 toolsextract_og_imageA
Extract Open Graph image, Twitter card image, and Apple touch icon from any URL. Returns all social media preview images found on the page.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the web page to extract images from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the transparency burden. It states that it returns all social media preview images found, which gives some behavioral detail, but it does not clarify whether the return values are URLs or binary image data, nor how missing images or redirects are handled. This leaves ambiguity about actual behavior.
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 two sentences, front-loaded with the action verb 'Extract', and contains no redundant information. It efficiently states the tool's function and output in a clear, structured manner.
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 simple tool with one parameter and no output schema, the description covers core purpose and return behavior. However, the exact return type (URL vs image data) is ambiguous, and there is no mention of error handling or prerequisites. This leaves the description incomplete for fully informed invocation.
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 schema fully describes the url parameter with high coverage, so the baseline is 3. The description adds only 'from any URL', which suggests no restrictions but does not provide additional meaning beyond the schema. No further parameter details are given.
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 identifies the tool as extracting Open Graph, Twitter card, and Apple touch icon images from URLs, which distinguishes it from sibling tools like find_favicons or image_metadata. The verb 'extract' and the specific resource list are unambiguous.
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 implies usage for retrieving social media preview images but does not explicitly state when to prefer this over sibling tools or mention any exclusions. Without alternative guidance, the usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_faviconsA
Find all favicons for a website. Checks /favicon.ico, parses HTML link tags, and inspects manifest.json. Returns all found favicons with sizes and types.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Website URL to find favicons for (e.g. https://example.com) |
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 clearly explains the methods used (checks /favicon.ico, parses HTML link tags, inspects manifest.json) and the return value (all found favicons with sizes and types). This goes beyond a simple mutation hint and gives the agent a realistic picture of the tool's operations, though it omits details like error handling or redirect behavior.
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 extremely concise at two sentences. The first sentence states the core action, and the second adds the methods and output in a structured way. There is zero filler or redundancy, 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 tool's simplicity (one parameter, no output schema, no annotations), the description is quite complete: it covers what the tool does, how it does it, and what the response includes. The only missing piece is a concrete example of the returned data structure, but the mention of 'sizes and types' gives a reasonable picture. For a tool of this complexity, this is above-average completeness.
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 coverage is 100% because the only parameter 'url' has a descriptive text ('Website URL to find favicons for (e.g. https://example.com)'). The description adds no new parameter-specific meaning beyond what the schema already provides, so the baseline 3 applies.
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 uses a specific verb ('Find') and resource ('all favicons for a website'), and clearly distinguishes itself from sibling tools like extract_og_image and image_metadata by focusing solely on favicon discovery. It also enumerates the exact sources checked (favicon.ico, HTML link tags, manifest.json), leaving no ambiguity about its purpose.
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 implies when to use the tool (whenever favicons are needed for a website) but does not explicitly state alternatives or exclusions. While the context is clear, the agent is not told to prefer this over siblings or what conditions make it unsuitable, so usage guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_placeholderA
Generate placeholder image URLs via placehold.co. Supports custom size, colors, text, format, and font. Returns URL plus ready-to-use HTML and Markdown markup.
| Name | Required | Description | Default |
|---|---|---|---|
| font | No | Font name (e.g. 'roboto', 'open-sans', 'montserrat') | |
| text | No | Custom text to display on the image. Default: WIDTHxHEIGHT | |
| sizes | No | Generate multiple placeholders at once. If provided, width/height params are ignored. | |
| width | Yes | Image width in pixels (1-4000) | |
| format | No | Image format: png, jpg, jpeg, gif, webp, svg. Default: png | |
| height | No | Image height in pixels (1-4000). Defaults to same as width. | |
| fontSize | No | Font size in pixels | |
| textColor | No | Text color hex without # (e.g. '333333'). Default: 333333 | |
| backgroundColor | No | Background color hex without # (e.g. 'cccccc'). Default: cccccc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool returns a URL plus HTML and Markdown markup, which is key behavioral output. It doesn't mention limitations like rate limits or external service dependency, but for a simple generation tool this is reasonably transparent.
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?
Two sentences, front-loaded with the core action and service, with no filler. Every phrase adds value: what it generates, what it supports, and what it returns.
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 rich 9-parameter schema and no output schema, the description's mention of return format (URL + HTML + Markdown) fills a key gap. It lacks explicit guidance on multi-size generation or defaults, but these are covered in schema descriptions, so overall it's complete enough for effective use.
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 already documents all 9 parameters with 100% coverage, so the description need not repeat them. The description adds a high-level grouping ('size, colors, text, format, and font') that maps to the parameters but doesn't introduce new semantic details beyond the schema.
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 uses a specific verb ('Generate'), a clear resource ('placeholder image URLs'), and names the service ('placehold.co'). It clearly distinguishes this tool from siblings like image_metadata or extract_og_image, which serve different purposes.
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 implies usage for creating placeholder images and lists supported customization options, giving clear context about when to use it. It does not explicitly name alternatives or exclusions, but sibling names make the distinction obvious enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_metadataA
Read image metadata from a URL via HTTP headers: content-type, file size, last-modified, etag, cache info. No image downloading required.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Direct URL to an image file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It explains that the tool works via HTTP headers and does not download images, but it does not mention potential edge cases like missing headers, redirects, or rate limits. This is adequate for a simple read operation but not comprehensive.
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 two short, focused sentences. It front-loads the action and enumerates specific metadata types without any redundant or vague wording.
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 tool with only one parameter and no output schema, the description effectively communicates what metadata will be returned and the method used. It lacks edge-case handling details, but is otherwise complete enough for an agent to invoke it correctly.
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 schema already fully describes the url parameter as 'Direct URL to an image file' (100% coverage). The description adds context about HTTP headers but does not further clarify the parameter itself, so a baseline 3 is appropriate.
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 tool reads image metadata from a URL via HTTP headers, listing specific fields like content-type, file size, and cache info. This definitively distinguishes it from siblings such as find_favicons or generate_placeholder.
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 implies usage for fetching metadata without downloading the image ('No image downloading required'), which gives clear context. However, it does not explicitly mention when not to use it or compare to alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
responsive_imagesA
Generate srcset and element HTML for responsive images. Given a base image URL, produces multiple size variants with proper HTML markup for responsive design.
| Name | Required | Description | Default |
|---|---|---|---|
| alt | No | Alt text for the image | |
| sizes | No | CSS sizes attribute (default: '(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw') | |
| widths | No | Array of widths to generate (default: [320, 640, 768, 1024, 1280, 1536, 1920]) | |
| baseUrl | Yes | Base image URL that accepts width/format query parameters | |
| formats | No | Image formats for <picture> sources (default: ['webp', auto-detected original format]) | |
| loading | No | Loading strategy: 'lazy' or 'eager' (default: lazy) | |
| className | No | CSS class name to add to the element |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly states the tool 'produces multiple size variants with proper HTML markup', implying a safe, read-only operation. However, it does not disclose whether external requests are made, the exact format of the returned HTML, or any side effects. This is adequate but not rich.
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 two concise sentences, front-loaded with the main action ('Generate srcset and <picture> element HTML'), and contains no superfluous words. Every sentence contributes to understanding the tool's purpose and behavior.
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 tool with 7 parameters, no annotations, and no output schema, the description gives a solid overview: it states the main behavior (generating HTML), the input (base URL), and the output (markup). The schema documents parameter details, so the description is sufficiently complete, though a mention of the exact return type (e.g., string) would be slightly clearer.
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 covers 100% of parameters with individual descriptions, so the description does not need to add much. It only references 'base image URL', which is already in the schema. No additional semantic value is provided beyond the schema.
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 uses the specific verb 'Generate' with the resource 'srcset and <picture> element HTML', clearly distinguishing it from sibling tools like image_metadata, find_favicons, extract_og_image, and generate_placeholder. It exactly states what the tool does: produces responsive image HTML from a base URL.
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 gives clear context: use when you need responsive image markup with srcset and <picture>. It does not explicitly state when not to use it or reference alternatives, but the context is unambiguous and sufficient for a tool with this simplicity.
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.
5 tool updates
v1.0.0- First observed
extract_og_image - First observed
find_favicons - First observed
generate_placeholder - First observed
image_metadata - First observed
responsive_images
TDQS
Each tool targets a distinct image-related task: reading HTTP headers, finding favicons, extracting social media images, generating responsive markup, and creating placeholders. No two tools could be confused for one another.
Tool names are a mix of verb-initial names (find_favicons, extract_og_image, generate_placeholder) and noun-phrase names (image_metadata, responsive_images). The lack of a consistent verb_noun pattern makes the set feel less predictable.
The server has 5 focused tools, which is well within the ideal range for a single-purpose utility server. Each tool earns its place without bloat.
The tools comprehensively cover common web image workflows: inspecting, discovering, generating, and integrating images. A minor gap is the lack of image transformation (e.g., resizing) but this is not clearly in scope.
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
MCP server for NanoBanana AI image generation and editing
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for Qwen Image 3 AI image generation
MCP server for Flux AI image generation
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server for analyzing images using OpenRouter vision models, offering capabilities like automatic image resizing, model configuration, and handling custom queries about images.10MIT
- AlicenseBqualityCmaintenanceA lightweight MCP server for image analysis using any OpenAI-compatible API endpoint, enabling AI agents to analyze images via a single tool.123MIT
- AlicenseAqualityAmaintenanceA portable image-understanding MCP server that lets agents analyze local images, URLs, or base64 images via an OpenAI-compatible vision model.131072MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI agents the ability to observe and understand images via multi-provider vision, object detection, hierarchical analysis, and color extraction.172MIT
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/rog0x/mcp-image-tools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server