- Home
- MCP servers
- Enhanced Fetch
Enhanced Fetch
- javascript
1
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"danielmelody-enhanced-fetch-mcp": {
"command": "enhanced-fetch-mcp",
"args": []
}
}
}Enhanced Fetch MCP is an AI-native web interaction layer that elevates Playwright into a secure, efficient service for AI agents. It combines intelligent content extraction, full browser rendering when needed, and strong isolation to protect your environment while delivering clean content, metadata, and visuals from web pages.
How to use
You can use Enhanced Fetch MCP from an MCP client to fetch, render, and extract content from web pages. The server can operate in two modes: a local stdio server that runs on your machine and a remote HTTP MCP if you configure one. Practical uses include extracting the main article content, metadata, and media from a page, rendering JavaScript-heavy pages, taking screenshots, and generating PDFs. You can control headers, timeouts, and other options to tailor requests for your needs.
Typical usage patterns include:
- Fetch the main content of a URL and receive Markdown-formatted content with metadata and media references.
- Render a JavaScript-heavy page to capture the fully loaded content.
- Take a full-page screenshot or generate a PDF for offline viewing.
- Customize request headers and timeouts to mimic specific clients or to manage rate limits.
How to install
Prerequisites include Node.js and npm. You will install the MCP server locally or via a package that automates setup.
# Install the MCP server globally
npm install -g enhanced-fetch-mcp
{
"mcpServers": { "enhanced-fetch": { "command": "enhanced-fetch-mcp" } }
}
# Start the MCP server directly (example usage)
enhanced-fetch-mcp
Additional notes
If you prefer a streamlined setup, you can use Smithery to install and configure the MCP server. The Smithery workflow handles installation, dependencies, and MCP configuration for you, and keeps all data on your local machine for privacy and security.
Security and environment considerations
Enhanced Fetch MCP emphasizes isolation and security. Operations can be executed inside a Docker sandbox to ensure that each task runs in a clean, controlled environment. You can enable or disable sandboxing based on your security requirements and available resources.
When using local installations, you should ensure Docker (for sandboxing) is running if you plan to leverage sandbox features. Regularly monitor resource usage, especially when rendering complex pages or generating PDFs.
Troubleshooting and tips
If the MCP server cannot be found or fails to start, verify the global installation and ensure the binary is in your PATH. Check logs in your local data directory for browser or sandbox errors, and confirm that Docker is running if you rely on sandbox isolation.
Examples
# Simple fetch example using the MCP
Fetch the main content of https://example.com and take a screenshot
Available tools
fetch_url
Makes a direct HTTP request to a URL to retrieve its raw HTML content, supporting methods like GET and POST and custom headers.
extract_content
Parses raw HTML to identify the main article, cleans it, and returns structured content in text, Markdown, and HTML formats along with metadata, links, and images.
fetch_and_extract
Fetches a URL and automatically extracts its content, deciding between a simple HTTP fetch or a full browser rendering as needed.
create_browser_context
Launches an isolated browser instance with a clean session and returns a unique context ID for subsequent operations.
browser_navigate
Navigates a specified browser context to a URL and waits for the page to fully load including initial JavaScript.
browser_get_content
Retrieves the fully rendered HTML after browser rendering to ensure dynamic content is captured.
browser_screenshot
Captures a screenshot of the current page, supporting full-page or region-based captures.
browser_pdf
Generates a PDF from the current page content for offline viewing.
browser_execute_js
Runs custom JavaScript within the context of the current page.
list_browser_contexts
Lists all active browser contexts with IDs and status.
close_browser_context
Closes a browser context and cleans up resources.
create_sandbox
Provisions a secure Docker container as an isolated environment for command execution.
execute_in_sandbox
Runs a shell command inside a designated Docker sandbox and returns output and exit code.
list_sandboxes
Lists all running Docker sandboxes with IDs and statuses.
get_sandbox
Retrieves details about a specific sandbox, including configuration and network settings.
pause_sandbox
Pauses a running sandbox to conserve resources.
resume_sandbox
Resumes a paused sandbox to continue execution.
cleanup_sandbox
Stops and removes a sandbox container and cleans up resources.
get_sandbox_stats
Shows real-time resource usage metrics for a sandbox.