Skip to main content
Glama

WebFetch MCP Server

mpak NimbleBrain Discord License: MIT

A Model Context Protocol (MCP) server that fetches web pages, converts HTML to markdown, and uses Claude to answer questions about the content. Get AI-powered summaries and analysis of any web page from any MCP client.

View on mpak registry | Built by NimbleBrain

Install

Install with mpak:

mpak install @nimblebraininc/webfetch

Configuration

Get your API key from Anthropic Console, then configure:

mpak config set @nimblebraininc/webfetch anthropic_api_key YOUR_API_KEY

Claude Code

claude mcp add webfetch -- mpak run @nimblebraininc/webfetch

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "webfetch": {
      "command": "mpak",
      "args": ["run", "@nimblebraininc/webfetch"]
    }
  }
}

See the mpak registry page for full install options.

Related MCP server: Web Reader

Tools

web_fetch

Fetch a web page and answer questions about its content. The page is fetched, converted to markdown, and sent to Claude Haiku for analysis.

Parameter

Type

Required

Description

url

string

Yes

URL to fetch. HTTP URLs are auto-upgraded to HTTPS.

prompt

string

Yes

Question or instruction about the page content.

Example call:

{
  "name": "web_fetch",
  "arguments": {
    "url": "https://example.com",
    "prompt": "What is this page about? Summarize the main points."
  }
}

Example response:

This page is the IANA example domain, reserved for use in documentation
and examples. It contains a simple heading and a paragraph explaining
that the domain is established for illustrative purposes.

Features:

  • Automatic HTTP to HTTPS upgrade

  • HTML cleaned and converted to markdown (strips scripts, styles, nav, headers, footers)

  • 15-minute in-memory cache for repeated fetches of the same URL

  • Cross-host redirect detection (returns redirect URL for you to follow)

  • Content truncation for very large pages

Quick Start

Local Development

git clone https://github.com/NimbleBrainInc/mcp-webfetch.git
cd mcp-webfetch

# Install dependencies
uv sync

# Set API key
export ANTHROPIC_API_KEY=your-key-here

# Run the server (stdio mode)
uv run python -m mcp_webfetch.server

The server supports HTTP transport with:

  • Health check: GET /health

  • MCP endpoint: POST /mcp

Development

# Install with dev dependencies
uv sync --group dev

# Run all checks (format, lint, typecheck, unit tests)
make check

# Run unit tests
make test

# Run with coverage
make test-cov

About

WebFetch MCP Server is published on the mpak registry and built by NimbleBrain. mpak is an open registry for Model Context Protocol servers.

License

MIT

Available Tools

1 tool
web_fetchA

Fetch a web page and answer questions about its content.

Fetches the URL, converts HTML to markdown, and uses Claude to answer the prompt based on the page content.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to fetch content from. HTTP URLs are auto-upgraded to HTTPS.
promptYesQuestion or instruction about the page content.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/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 the process (fetch, convert to markdown, use Claude to answer) but does not mention limitations, rate limits, error handling, or authentication requirements. Adequate but not thorough.

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

Conciseness5/5

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

Two sentences front-load the purpose and process. Every sentence adds value without redundancy. Highly efficient.

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

Completeness4/5

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

With an output schema present, the description does not need to explain return values. It covers input, process, and expected outcome. However, it could mention if raw content is also returned, but given the output schema, this is minor.

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

Parameters4/5

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

Schema coverage is 100%, with clear descriptions for both parameters (URL auto-upgrade, prompt as question/instruction). The description adds value by explaining that the prompt is answered using Claude, which goes beyond the schema.

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

Purpose4/5

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

The description clearly states the tool fetches a web page and answers questions about its content using Claude, indicating a specific verb and resource. However, there are no sibling tools to differentiate from, so it lacks differentiation but is clear enough.

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 web pages and extracting answers, but no explicit guidance on when to use, when not to use, or alternatives is provided. With no sibling tools, it relies on implicit context.

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

TDQS

A3.9/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools.

Naming Consistency5/5

The single tool name 'web_fetch' follows a clear verb_noun pattern, and there are no other tools to create inconsistency.

Tool Count3/5

The server has only one tool, which is at the low end of the range. While it covers the core function, more tools (e.g., for raw content or separate fetch and ask) could be expected.

Completeness4/5

The tool combines fetching and Q&A, covering the stated purpose well. However, it lacks flexibility for users who want only the raw page content or to customize fetching options.

Maintenance

ActivitySlowing
ResponsivenessSyncing

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Fetches web pages and converts them to clean, readable markdown format by extracting main content while removing navigation, ads, and other non-essential elements to minimize token usage.
    4
  • A
    license
    A
    quality
    D
    maintenance
    Enables Claude and other LLMs to read and parse web content, with smart fallback strategies to bypass access restrictions (e.g., paywalls, Cloudflare) and output Markdown.
    5
    22
    44
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Fetches web pages and converts them to markdown for LLM consumption, supporting chunked reading and raw content extraction.
    MIT

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/NimbleBrainInc/mcp-webfetch'

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