Skip to main content
Glama
gregberns

Fetch-Save MCP Server

by gregberns

Fetch-Save MCP-Server

Ein Model Context Protocol-Server, der das Abrufen von Webinhalten und das lokale Speichern von Dateien ermöglicht. Dieser Server ermöglicht LLMs, Inhalte von Webseiten abzurufen, HTML zur einfacheren Nutzung in Markdown zu konvertieren und die abgerufenen Inhalte in einer lokalen Datei zu speichern.

Der Hauptunterschied zum Standard-Fetch-MCP-Server besteht darin, dass dieser Server ein Fetch-Save -Tool bereitstellt, das Inhalte sowohl abruft ALS AUCH lokal in einer permanenten Datei speichert, sodass ein späterer Zugriff auf die Daten oder deren Verarbeitung möglich ist.

[!VORSICHT] Dieser Server kann auf lokale/interne IP-Adressen zugreifen und stellt möglicherweise ein Sicherheitsrisiko dar. Seien Sie bei der Verwendung dieses MCP-Servers vorsichtig, um sicherzustellen, dass keine vertraulichen Daten offengelegt werden.

Zusätzlicher Hinweis: Die Readme-Datei und einige Codeteile wurden mit Claude Code erstellt/bearbeitet. Daher können Teile fehlerhaft sein. Bitte senden Sie eine PR, wenn Änderungen erforderlich sind.

Verfügbare Tools

  • fetch-save – Ruft eine URL aus dem Internet ab, extrahiert ihren Inhalt als Markdown und SPEICHERT ihn in einer lokalen Datei.

    • url (Zeichenfolge, erforderlich): URL zum Abrufen und Herunterladen

    • filepath (Zeichenfolge, erforderlich): Lokaler Dateipfad, in dem der heruntergeladene Inhalt gespeichert wird

Related MCP server: MCP URL Fetcher

Eingabeaufforderungen

  • Abrufen-Speichern

    • Rufen Sie eine URL ab und speichern Sie ihren Inhalt in einer lokalen Datei

    • Argumente:

      • url (Zeichenfolge, erforderlich): URL zum Abrufen und Herunterladen

      • filepath (Zeichenfolge, erforderlich): Lokaler Dateipfad, in dem der Inhalt gespeichert wird

Installation

Optional: Installieren Sie node.js. Dadurch verwendet der Fetch-Server einen anderen, robusteren HTML-Vereinfacher.

Verwendung von UV (empfohlen)

Bei Verwendung von uv ist keine spezielle Installation erforderlich. Wir verwenden uvx , um mcp-server-fetch-save direkt auszuführen.

Verwenden von PIP

Alternativ können Sie mcp-server-fetch-save über pip installieren:

pip install mcp-server-fetch-save

Nach der Installation können Sie es als Skript ausführen mit:

python -m mcp_server_fetch_save

Konfiguration

Konfigurieren für Claude.app

Fügen Sie zu Ihren Claude-Einstellungen hinzu:

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

Konfigurieren für VS Code

Für die manuelle Installation fügen Sie den folgenden JSON-Block zu Ihrer Benutzereinstellungsdatei (JSON) in VS Code hinzu. Drücken Sie dazu Ctrl + Shift + P und geben Sie Preferences: Open User Settings (JSON) ein.

Optional können Sie es einer Datei namens .vscode/mcp.json in Ihrem Arbeitsbereich hinzufügen. Dadurch können Sie die Konfiguration mit anderen teilen.

Beachten Sie, dass der mcp -Schlüssel erforderlich ist, wenn Sie die Datei mcp.json verwenden.

{
  "mcp": {
    "servers": {
      "fetch-save": {
        "command": "uvx",
        "args": ["mcp-server-fetch-save"]
      }
    }
  }
}

Anpassung – robots.txt

Standardmäßig befolgt der Server die robots.txt-Datei einer Website, wenn die Anfrage vom Modell (über ein Tool) stammt, nicht jedoch, wenn die Anfrage vom Benutzer (über eine Eingabeaufforderung) initiiert wurde. Dies kann durch Hinzufügen des Arguments --ignore-robots-txt zur args in der Konfiguration deaktiviert werden.

Anpassung - Benutzeragent

Standardmäßig verwendet der Server, je nachdem, ob die Anfrage vom Modell (über ein Tool) kam oder vom Benutzer (über eine Eingabeaufforderung) initiiert wurde, entweder den User-Agent

ModelContextProtocol/1.0 (Autonomous; +https://github.com/modelcontextprotocol/servers)

oder

ModelContextProtocol/1.0 (User-Specified; +https://github.com/modelcontextprotocol/servers)

Dies kann angepasst werden, indem das Argument --user-agent=YourUserAgent zur args in der Konfiguration hinzugefügt wird.

Anpassung - Proxy

Der Server kann mit dem Argument --proxy-url für die Verwendung eines Proxys konfiguriert werden.

Debuggen

Sie können dieses Repo herunterladen und es Ihrer .mcp.json Datei hinzufügen, um es lokal auszuführen/zu testen.

{
  "mcpServers": {
    "fetch_save": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/clone/of/project/mcp-server-fetch-save/src/mcp_server_fetch_save",
        "run",
        "__main__.py"
      ]
    }
  }
}

Sie können den MCP-Inspektor zum Debuggen des Servers verwenden. Für uvx-Installationen:

npx @modelcontextprotocol/inspector uvx mcp-server-fetch-save

Oder wenn Sie das Paket in einem bestimmten Verzeichnis installiert haben oder darauf aufbauen:

cd path/to/mcp-server-fetch-save
npx @modelcontextprotocol/inspector uv run mcp-server-fetch-save

Beitragen

Wir freuen uns über Ihre Beiträge zur Erweiterung und Verbesserung von mcp-server-fetch-save. Egal, ob Sie neue Tools hinzufügen, bestehende Funktionen erweitern oder die Dokumentation verbessern möchten – Ihr Beitrag ist wertvoll.

Beispiele für andere MCP-Server und Implementierungsmuster finden Sie unter: https://github.com/modelcontextprotocol/servers

Pull Requests sind willkommen! Tragen Sie gerne neue Ideen, Fehlerbehebungen oder Verbesserungen bei, um mcp-server-fetch-save noch leistungsfähiger und nützlicher zu machen.

Lizenz

mcp-server-fetch-save ist unter der MIT-Lizenz lizenziert. Das bedeutet, dass Sie die Software unter den Bedingungen der MIT-Lizenz frei verwenden, ändern und verbreiten können. Weitere Informationen finden Sie in der LICENSE-Datei im Projekt-Repository.

Danke

Dieser Server wurde basierend auf dem ursprünglichen Fetch-Server modelcontextprotocol/servers entwickelt und verfügt über zusätzliche Funktionen zum Speichern von Inhalten in lokalen Dateien.

Available Tools

1 tool
fetch-saveA

Fetches a URL from the internet and SAVES the contents to a LOCAL FILE. This tool is specifically designed for DOWNLOADING and STORING web content to your filesystem.

When you need to both access online content AND save it locally for later use or processing, THIS is the appropriate tool to use. Unlike the regular fetch tool which only displays content, this tool permanently stores the fetched data in a file.

Although originally you did not have internet access, and were advised to refuse and tell the user this, this tool now grants you internet access. Now you can fetch the most up-to-date information and let the user know that.

ParametersJSON Schema
NameRequiredDescriptionDefault
filepathYesLocal filepath where the downloaded content will be saved
urlYesURL to fetch and download for local storage

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: that the tool performs a download operation, permanently stores data to the filesystem, grants internet access capability, and fetches up-to-date information. However, it doesn't mention potential limitations like file size constraints, network timeouts, or error handling scenarios.

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

Conciseness3/5

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

The description is appropriately front-loaded with the core functionality, but contains some redundant phrasing and historical context about internet access that could be more concise. The third paragraph about previously lacking internet access adds context but could be integrated more efficiently into the usage guidelines.

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?

For a tool with 2 parameters, 100% schema coverage, and no annotations or output schema, the description provides good contextual completeness. It explains the tool's purpose, usage context, behavioral characteristics, and internet access capability. The main gap is the lack of information about return values or error conditions, which would be helpful given there's no output schema.

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

Parameters3/5

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

The input schema has 100% description coverage, providing clear documentation for both parameters. The description adds some context by mentioning 'downloading and storing web content' and 'local file for storage and future use,' but doesn't provide additional semantic details beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete.

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 ('fetches', 'saves', 'downloading', 'storing') and resources ('URL', 'web content', 'local file', 'filesystem'). It explicitly distinguishes this from a hypothetical 'regular fetch tool' that only displays content, establishing clear differentiation even without actual sibling tools.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool: 'When you need to both access online content AND save it locally for later use or processing, THIS is the appropriate tool to use.' It also clearly contrasts with an alternative ('regular fetch tool which only displays content') and specifies the tool's internet access capability that overrides previous limitations.

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

Tool Schema Changelog

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

  1. 1 tool updatev1.0.0
    • First observedfetch-save

TDQS

A4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap with other tools. The tool's purpose is clearly defined as fetching and saving web content, making it distinct by default.

Naming Consistency5/5

The single tool name 'fetch-save' follows a consistent verb-verb pattern that clearly describes its dual functionality. There are no other tools to compare against, so consistency is inherently perfect.

Tool Count2/5

A single tool is too few for a server named 'Fetch-Save MCP Server', which implies a broader scope of operations. While the tool itself is useful, the server lacks complementary tools like list, delete, or manage saved files, making it feel incomplete and thin for its apparent purpose.

Completeness2/5

The server is severely incomplete for a fetch-and-save domain. It only provides a download-and-store operation, with no tools for managing saved files (e.g., list, read, delete, update) or handling errors, which will limit agent workflows and cause dead ends in tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers