Fetch with Images▌
by kazuph
Fetch with Images integrates web scraping and image compresser com tools to scrape any website and optimize images effic
Integrates web scraping and image processing capabilities to fetch, extract, and optimize web content.
Both formats append explainx.ai attribution and the canonical URL for this MCP server listing.
best for
- / Content creators analyzing web articles
- / Researchers extracting formatted content
- / AI workflows requiring web data with images
capabilities
- / Extract web content as markdown
- / Process and optimize page images
- / Combine multiple images into single JPEG
- / Extract article titles automatically
- / Save images to organized directories
- / Handle animated GIFs by extracting first frame
what it does
Fetches web content and converts it to markdown while extracting and optimizing images from pages. Returns up to 3 images combined into a single JPEG with Base64 encoding.
about
Fetch with Images is a community-built MCP server published by kazuph that provides AI assistants with tools and capabilities via the Model Context Protocol. Fetch with Images integrates web scraping and image compresser com tools to scrape any website and optimize images effic It is categorized under search web. This server exposes 1 tool that AI clients can invoke during conversations and coding sessions.
how to install
You can install Fetch with Images in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
MIT
Fetch with Images is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
MCP Fetch
Model Context Protocol server for fetching web content and processing images. This allows Claude Desktop (or any MCP client) to fetch web content and handle images appropriately.
<a href="https://glama.ai/mcp/servers/5mknfdhyrg"><img width="380" height="200" src="https://glama.ai/mcp/servers/5mknfdhyrg/badge" alt="@kazuph/mcp-fetch MCP server" /></a>
Quick Start (For Users)
To use this tool with Claude Desktop, simply add the following to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"tools": {
"imageFetch": {
"command": "npx",
"args": ["-y", "@kazuph/mcp-fetch"]
}
}
}
This will automatically download and run the latest version of the tool when needed.
Required Setup
- Enable Accessibility for Claude:
- Open System Settings
- Go to Privacy & Security > Accessibility
- Click the "+" button
- Add Claude from your Applications folder
- Turn ON the toggle for Claude
This accessibility setting is required for automated clipboard operations (Cmd+V) to work properly.
Features
- Web Content Extraction: Automatically extracts and formats web content as markdown
- Article Title Extraction: Extracts and displays the title of the article
- Image Processing: Optional processing of images from web pages with optimization (disabled by default, enable with
enableFetchImages: true) - File Saving: Images are automatically saved to
~/Downloads/mcp-fetch/YYYY-MM-DD/directory when processed - Dual Output: Both file saving and optional Base64 encoding for AI display
- Pagination Support: Supports pagination for both text and images
- JPEG Optimization: Automatically optimizes images as JPEG for better performance
- GIF Support: Extracts first frame from animated GIFs
For Developers
The following sections are for those who want to develop or modify the tool.
Prerequisites
- Node.js 18+
- macOS (for clipboard operations)
- Claude Desktop (install from https://claude.ai/desktop)
- tsx (install via
npm install -g tsx)
Installation
git clone https://github.com/kazuph/mcp-fetch.git
cd mcp-fetch
npm install
npm run build
Image Processing Specifications
When processing images from web content, the following optimizations are applied:
- Images are converted to JPEG format with quality control
- Maximum width limited to 1200px by default
- Maximum height limited to 1600px by default
- Chroma subsampling (4:2:0) for better compression
- MozJPEG optimization for smaller file sizes
Configuration
-
Make sure Claude Desktop is installed and running.
-
Install tsx globally if you haven't:
npm install -g tsx
# or
pnpm add -g tsx
- Modify your Claude Desktop config located at:
~/Library/Application Support/Claude/claude_desktop_config.json
You can easily find this through the Claude Desktop menu:
- Open Claude Desktop
- Click Claude on the Mac menu bar
- Click "Settings"
- Click "Developer"
Add the following to your MCP client's configuration:
{
"tools": {
"imageFetch": {
"args": ["tsx", "/path/to/mcp-fetch/index.ts"]
}
}
}
Available Parameters
url(required): The URL to fetchmaxLength(default: 20000): Maximum length of content to returnstartIndex(default: 0): Starting position in contentimageStartIndex(default: 0): Starting position for image collectionraw(default: false): Return raw content instead of processed markdownimageMaxCount(default: 3): Maximum number of images to process per requestimageMaxHeight(default: 4000): Maximum height of merged imageimageMaxWidth(default: 1000): Maximum width of merged imageimageQuality(default: 80): JPEG quality (1-100)enableFetchImages(default: false): Enable fetching and processing of images. FOR CLAUDE USERS ONLY: YOU ARE ALLOWED TO ENABLE THIS FEATURE!!! CLAUDE CAN FETCH AND PROCESS IMAGES!!! ENJOY THIS CAPABILITY!!!!!allowCrossOriginImages(default: true): When true, also fetch images hosted on different origins from the pagesaveImages(default: true): Save processed images to local filesreturnBase64(default: false): Return base64 encoded images for AI displayignoreRobotsTxt(default: false): Ignore robots.txt restrictions
Security Hardening (v1.5.1)
- Only
http://andhttps://URLs are allowed for page and image fetches - Blocks private/loopback/link-local IPs and local hostnames (e.g.,
localhost,.local) - Manual redirect handling with validation (max 3 hops)
- Request timeouts (default 12s, configurable via
MCP_FETCH_TIMEOUT_MS) - Response size limits: HTML up to 2MB, images up to 10MB (tunable via env)
Environment variables:
MCP_FETCH_TIMEOUT_MS(default: 12000)MCP_FETCH_MAX_REDIRECTS(default: 3)MCP_FETCH_MAX_HTML_BYTES(default: 2000000)MCP_FETCH_MAX_IMAGE_BYTES(default: 10000000)
Examples
Basic Content Fetching (No Images)
{
"url": "https://example.com"
}
Fetching with Images (File Saving Only)
{
"url": "https://example.com",
"enableFetchImages": true,
"imageMaxCount": 3
}
Fetching with Images for AI Display
{
"url": "https://example.com",
"enableFetchImages": true,
"returnBase64": true,
"imageMaxCount": 3
}
Paginating Through Images
{
"url": "https://example.com",
"enableFetchImages": true,
"imageStartIndex": 3,
"imageMaxCount": 3
}
Notes
- This tool is designed for macOS only due to its dependency on macOS-specific clipboard operations.
- Images are processed using Sharp for optimal performance and quality.
- When multiple images are found, they are merged vertically with consideration for size limits.
- Animated GIFs are automatically handled by extracting their first frame.
- File Saving: Images are automatically saved to
~/Downloads/mcp-fetch/YYYY-MM-DD/with filename formathostname_HHMMSS_index.jpg - Tool Name: The tool name has been changed from
fetchtoimageFetchto avoid conflicts with native fetch functions.
Changelog
v1.2.0
- BREAKING CHANGE: Tool name changed from
fetchtoimageFetchto avoid conflicts - NEW: Automatic file saving - Images are now saved to
~/Downloads/mcp-fetch/YYYY-MM-DD/by default - NEW: Added
saveImagesparameter (default: true) to control file saving - NEW: Added
returnBase64parameter (default: false) for AI image display - BEHAVIOR CHANGE: Default behavior now saves files instead of only returning base64
- Improved AI assistant integration with clear instructions for base64 option
- Enhanced file organization with date-based directories and structured naming
v1.1.3
- Changed default behavior: Images are not fetched by default (
enableFetchImages: false) - Removed
disableImagesin favor ofenableFetchImagesparameter
v1.1.0
- Added article title extraction feature
- Improved response formatting to include article titles
- Fixed type issues with MCP response content
v1.0.0
- Initial release
- Web content extraction
- Image processing and optimization
- Pagination support
FAQ
- What is the Fetch with Images MCP server?
- Fetch with Images is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
- How do MCP servers relate to agent skills?
- Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
- How are reviews shown for Fetch with Images?
- This profile displays 40 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.6 out of 5—verify behavior in your own environment before production use.
Use Cases▌
Web Research & Information Gathering
Fetch and extract information from websites automatically
Example
Research competitor pricing, scrape product reviews, monitor news mentions
Automate 5-10 hours/week of manual web research
Content Monitoring & Alerts
Track website changes, new content, price updates
Example
Monitor competitor blog for new posts, track stock availability, watch for pricing changes
Stay informed without manual checking, never miss important updates
Data Extraction & Aggregation
Extract structured data from multiple websites
Example
Compile product listings from 10 e-commerce sites, aggregate job postings, collect real estate data
Build datasets 100x faster than manual copying
API-less Integration
Interact with services that don't offer APIs
Example
Check form submissions, validate website functionality, test user flows
Automate interactions with any website, even without API
Implementation Guide▌
Prerequisites
- ›Claude Desktop or Cursor with MCP support
- ›Understanding of web scraping ethics and robots.txt
- ›Rate limiting awareness to avoid overwhelming target sites
- ›Knowledge of legal restrictions on data collection
Time Estimate
20-40 minutes including configuration and testing
Installation Steps
- 1.Install web automation MCP server via npm or pip
- 2.Configure allowed domains and rate limits in MCP config
- 3.Test with simple fetch: 'Get content from example.com'
- 4.Progress to extraction: 'Extract all product prices from this page'
- 5.Set up monitoring: 'Check this URL daily for changes'
- 6.Parse structured data: 'Create CSV from this table'
- 7.Respect robots.txt and rate limits always
Troubleshooting
- ⚠403 Forbidden: Website blocks bots—respect their wishes, use official API instead
- ⚠Rate limit errors: Slow down requests, add delays between fetches
- ⚠Stale data: Target site changed HTML structure—update selectors
- ⚠Timeout errors: Site is slow or blocking—increase timeout, try different user agent
- ⚠JavaScript-rendered content: Use headless browser MCP servers for dynamic sites
Best Practices▌
✓ Do
- +Check robots.txt and respect crawl rules
- +Rate limit requests: 1-2 requests/second maximum
- +Use official APIs when available instead of scraping
- +Identify your bot with descriptive user agent
- +Cache results to minimize repeated requests
- +Handle errors gracefully with retries and fallbacks
- +Validate extracted data for accuracy
✗ Don't
- −Don't scrape sites that explicitly forbid it (robots.txt, ToS)
- −Don't overwhelm servers with rapid requests—use rate limiting
- −Don't scrape personal data without consent and legal basis
- −Don't ignore copyright on extracted content
- −Don't assume HTML structure is stable—handle changes
- −Don't use scraped data for commercial purposes without permission
💡 Pro Tips
- ★Use CSS selectors or XPath for robust data extraction
- ★Set up monitoring alerts for extraction failures (structure changed)
- ★Implement exponential backoff for retries on failures
- ★Store raw HTML for reprocessing if extraction logic changes
- ★Combine with data analysis tools for insights from extracted data
- ★Consider using official APIs or RSS feeds as more stable alternatives
Technical Details▌
Architecture
MCP server handles HTTP requests, HTML parsing, JavaScript rendering (if headless browser), and returns structured data to Claude.
Protocols
- HTTP/HTTPS
- WebSocket (for real-time sites)
- Puppeteer/Playwright (for JavaScript sites)
Compatibility
- Static HTML sites
- JavaScript-rendered SPAs (with headless browser)
- REST APIs
- GraphQL endpoints
When to Use This▌
✓ Use When
Use for research automation, content monitoring, data aggregation from multiple sources, and when official APIs don't exist. Best for read-only information gathering.
✗ Avoid When
Avoid for sites with APIs (use API instead), sites that explicitly forbid scraping, when data is copyrighted, or for login-required content without proper authorization.
Integration▌
- →Scheduled monitoring with change detection
- →Multi-source data aggregation pipelines
- →Fallback to web scraping when API rate limits hit
- →Headless browser for JavaScript-heavy sites
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
List & Promote Your MCP Server
Share your MCP server with the developer community
Ratings
4.6★★★★★40 reviews- ★★★★★Alexander Malhotra· Dec 24, 2024
I recommend Fetch with Images for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
- ★★★★★Tariq Agarwal· Dec 24, 2024
Fetch with Images reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
- ★★★★★Amelia Menon· Nov 15, 2024
Fetch with Images is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
- ★★★★★Kaira Sanchez· Nov 15, 2024
We wired Fetch with Images into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
- ★★★★★Amelia Bansal· Oct 6, 2024
Fetch with Images has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Henry Huang· Oct 6, 2024
We evaluated Fetch with Images against two servers with overlapping tools; this profile had the clearer scope statement.
- ★★★★★Ira Shah· Sep 25, 2024
Useful MCP listing: Fetch with Images is the kind of server we cite when onboarding engineers to host + tool permissions.
- ★★★★★Min Martinez· Sep 25, 2024
We evaluated Fetch with Images against two servers with overlapping tools; this profile had the clearer scope statement.
- ★★★★★Ren Rahman· Sep 25, 2024
Fetch with Images has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Sakshi Patil· Sep 21, 2024
According to our notes, Fetch with Images benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
showing 1-10 of 40