Skip to main content
Glama

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.

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": {
    "fetch": {
      "command": "npx",
      "args": ["-y", "@kazuph/mcp-fetch"]
    }
  }
}

This will automatically download and run the latest version of the tool when needed.

Required Setup

  1. 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.

Related MCP server: @kazuph/mcp-fetch

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

Installing via Smithery

To install MCP Fetch for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @kazuph/mcp-fetch --client claude

Manual 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 limits are applied:

  • Maximum 6 images per group

  • Maximum height of 8000 pixels per group

  • Maximum size of 30MB per group

If content exceeds these limits, images will be automatically split into multiple groups, and you'll need to paste (Cmd+V) multiple times.

Configuration

  1. Make sure Claude Desktop is installed and running.

  2. Install tsx globally if you haven't:

npm install -g tsx
# or
pnpm add -g tsx
  1. 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:

  1. Open Claude Desktop

  2. Click Claude on the Mac menu bar

  3. Click "Settings"

  4. Click "Developer"

Add the following to your MCP client's configuration:

{
  "tools": {
    "fetch": {
      "args": ["tsx", "/path/to/mcp-fetch/index.ts"]
    }
  }
}

Available Tools

  • fetch: Retrieves URLs from the Internet and extracts their content as markdown. Images are automatically processed and prepared for clipboard operations.

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.

Available Tools

1 tool
fetchA

Retrieves URLs from the Internet and extracts their content as markdown. If images are found, they are merged vertically (max 6 images per group, max height 8000px, max size 30MB per group) and copied to the clipboard of the user's host machine. You will need to paste (Cmd+V) to insert the images.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
maxLengthNo
startIndexNo
rawNo

TDQS

A3.7/5.0
Behavior4/5

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 discloses key behavioral traits: content extraction to markdown, image merging with specific limits (max 6 images, max height 8000px, max size 30MB), and clipboard copying with a manual paste requirement. However, it omits details like error handling, rate limits, or authentication needs, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with the core functionality. Every sentence adds value: the first covers retrieval and extraction, the second details image handling, and the third provides a usage note. It could be slightly more concise by integrating the image limits into one sentence, but overall it's efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (image processing, clipboard operations) and no annotations or output schema, the description is partially complete. It covers the main behaviors but lacks details on return values, error cases, or parameter effects. For a tool with 4 parameters and significant functionality, more context would be beneficial to fully guide an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'URLs' (plural) but only one 'url' parameter is required, and it does not explain the semantics of 'maxLength', 'startIndex', or 'raw'. The description adds no meaning beyond the schema, failing to address the coverage gap adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('retrieves URLs', 'extracts content as markdown') and resources ('URLs from the Internet'). It distinguishes itself by detailing the unique image handling behavior (merging, copying to clipboard), which is not implied by the name alone. No siblings exist to differentiate from, but the description is comprehensive.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for fetching and processing web content with images, but provides no explicit guidance on when to use this tool versus alternatives (e.g., other fetch tools or methods). It mentions a prerequisite ('You will need to paste...') but lacks context on exclusions or comparisons. With no sibling tools, this is adequate but not optimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.6/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to compare it to. The single tool 'fetch' has a clear and distinct purpose that cannot be confused with any other tool in this set.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tool names to compare it against. The name 'fetch' follows a simple verb pattern, which is appropriate for its function, and there is no inconsistency in naming conventions.

Tool Count2/5

A single tool is generally too few for most server purposes, as it limits functionality and may indicate an incomplete or overly narrow scope. For a server named 'MCP Fetch', which suggests fetching-related operations, having only one tool feels thin and insufficient for covering potential variations or related tasks in the domain.

Completeness2/5

The server's domain appears to be fetching and processing web content, but with only one tool, there are significant gaps in coverage. For example, there are no tools for handling different fetch methods, error handling, caching, or other related operations, which could lead to agent failures when more complex fetching scenarios arise.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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/JeremyNixon/mcp-fetch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server