Enhanced Fetch

Provides AI-native web interaction with content extraction, rendering, and secure isolation for pages, links, images, and metadata.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational