Skip to main content
Glama
MCP Server Fetch Python

MCP Server Fetch Python

by tatn

mcp-server-fetch-python

An MCP server for fetching and transforming web content into various formats. This server provides comprehensive tools for extracting content from web pages, including support for JavaScript-rendered content and media files.

Features

Tools

The server provides four specialized tools:

  • get-raw-text: Extracts raw text content directly from URLs without browser rendering

    • Arguments:

      • url: URL of the target web page (text, JSON, XML, csv, tsv, etc.) (required)

    • Best used for structured data formats or when fast, direct access is needed

  • get-rendered-html: Fetches fully rendered HTML content using a headless browser

    • Arguments:

      • url: URL of the target web page (required)

    • Essential for modern web applications and SPAs that require JavaScript rendering

  • get-markdown: Converts web page content to well-formatted Markdown

    • Arguments:

      • url: URL of the target web page (required)

    • Preserves structural elements while providing clean, readable text output

  • get-markdown-from-media: Performs AI-powered content extraction from media files

    • Arguments:

      • url: URL of the target media file (images, videos) (required)

    • Utilizes computer vision and OCR for visual content analysis

    • Requires a valid OPENAI_API_KEY to be set in environment variables

    • Will return an error message if the API key is not set or if there are issues processing the media file

Related MCP server: Fetch MCP

Usage

Claude Desktop

To use with Claude Desktop, add the server configuration:

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json

"mcpServers": {
  "mcp-server-fetch-python": {
    "command": "uvx",
    "args": [
      "mcp-server-fetch-python"
    ]
  }
}

Environment Variables

The following environment variables can be configured:

  • OPENAI_API_KEY: Required for using the get-markdown-from-media tool. This key is needed for AI-powered image analysis and content extraction.

  • PYTHONIOENCODING: Set to "utf-8" if you encounter character encoding issues in the output.

  • MODEL_NAME: Specifies the model name to use. Defaults to "gpt-4o".

"mcpServers": {
  "mcp-server-fetch-python": {
    "command": "uvx",
    "args": [
      "mcp-server-fetch-python"
    ],
    "env": {
        "OPENAI_API_KEY": "sk-****",
        "PYTHONIOENCODING": "utf-8",
        "MODEL_NAME": "gpt-4o",        
    }
  }
}

Local Installation

Alternatively, you can install and run the server locally:

git clone https://github.com/tatn/mcp-server-fetch-python.git
cd mcp-server-fetch-python
uv sync
uv build

Then add the following configuration to Claude Desktop config file:

"mcpServers": {
  "mcp-server-fetch-python": {
    "command": "uv",
    "args": [
      "--directory",
      "path\\to\\mcp-server-fetch-python",  # Replace with actual path to the cloned repository
      "run",
      "mcp-server-fetch-python"
    ]
  }
}

Development

Debugging

You can start the MCP Inspector using npxwith the following commands:

npx @modelcontextprotocol/inspector uvx mcp-server-fetch-python
npx @modelcontextprotocol/inspector uv --directory path\\to\\mcp-server-fetch-python run mcp-server-fetch-python

Available Tools

4 tools
get-markdownA

Converts web page content to well-formatted Markdown, preserving structural elements like tables and definition lists. Recommended as the default tool for web content extraction when a clean, readable text format is needed while maintaining document structure.

Inputs: url (required).

get-markdown-from-mediaB

Performs AI-powered content extraction from media files (images and videos) and converts the results to Markdown format. Specialized tool for visual content analysis that utilizes computer vision and OCR capabilities to generate descriptive text from media sources.

Inputs: url (required).

get-raw-textA

Extracts raw text content directly from URLs without browser rendering. Ideal for structured data formats like JSON, XML, CSV, TSV, or plain text files. Best used when fast, direct access to the source content is needed without processing dynamic elements.

Inputs: url (required).

get-rendered-htmlB

Fetches fully rendered HTML content using a headless browser, including JavaScript-generated content. Essential for modern web applications, single-page applications (SPAs), or any content that requires client-side rendering to be complete.

Inputs: url (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: get-markdown for general web content conversion, get-markdown-from-media for AI-powered media extraction, get-raw-text for direct access to structured data, and get-rendered-html for JavaScript-rendered content. The descriptions explicitly differentiate use cases, preventing misselection.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with 'get-' prefix and descriptive suffixes (e.g., get-markdown, get-raw-text). This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming style.

    Tool Count5/5

    With 4 tools, the server is well-scoped for web content extraction, covering key scenarios like general conversion, media analysis, raw data access, and rendered content. Each tool earns its place without redundancy, and the count is appropriate for the domain.

    Completeness5/5

    The tool set provides complete coverage for web content extraction, addressing diverse needs from structured data to dynamic pages and media files. There are no obvious gaps; agents can handle various extraction workflows without dead ends.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers