Skip to main content
Glama
gregberns

Fetch-Save MCP Server

by gregberns

Сервер MCP Fetch-Save

Сервер Model Context Protocol, который обеспечивает извлечение веб-контента и возможности сохранения локальных файлов. Этот сервер позволяет LLM извлекать контент с веб-страниц, преобразовывать HTML в markdown для более легкого использования и сохранять извлеченный контент в локальный файл.

Ключевое отличие от стандартного сервера MCP для извлечения данных заключается в том, что этот сервер предоставляет инструмент извлечения и сохранения данных , который как извлекает контент, так и сохраняет его локально в постоянном файле, что позволяет в дальнейшем получать к нему доступ или обрабатывать данные.

[!ВНИМАНИЕ] Этот сервер может получать доступ к локальным/внутренним IP-адресам и может представлять угрозу безопасности. Будьте осторожны при использовании этого сервера MCP, чтобы убедиться, что он не раскрывает какие-либо конфиденциальные данные.

Дополнительное примечание: Readme и часть кода были написаны/отредактированы с помощью Claude Code, поэтому некоторые части могут быть неверными. Пожалуйста, отправьте PR, если требуются изменения.

Доступные инструменты

  • fetch-save — извлекает URL-адрес из Интернета, извлекает его содержимое в виде разметки и СОХРАНЯЕТ его в локальном файле.

    • url (строка, обязательно): URL для извлечения и загрузки

    • filepath (строка, обязательно): локальный путь к файлу, где будет сохранен загруженный контент.

Related MCP server: MCP URL Fetcher

Подсказки

  • извлечь-сохранить

    • Получить URL-адрес и сохранить его содержимое в локальном файле.

    • Аргументы:

      • url (строка, обязательно): URL для извлечения и загрузки

      • filepath (строка, обязательно): Локальный путь к файлу, где будет сохранен контент.

Установка

Дополнительно: установите node.js, это заставит сервер выборки использовать другой, более надежный упроститель HTML.

Использование УФ (рекомендуется)

При использовании uv не требуется специальной установки. Мы будем использовать uvx для прямого запуска mcp-server-fetch-save .

Использование PIP-картинки

В качестве альтернативы вы можете установить mcp-server-fetch-save через pip:

pip install mcp-server-fetch-save

После установки вы можете запустить его как скрипт, используя:

python -m mcp_server_fetch_save

Конфигурация

Настроить для Claude.app

Добавьте в настройки Клода:

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

Настроить для VS Code

Для ручной установки добавьте следующий блок JSON в файл настроек пользователя (JSON) в VS Code. Это можно сделать, нажав Ctrl + Shift + P и введя Preferences: Open User Settings (JSON) .

При желании вы можете добавить его в файл .vscode/mcp.json в вашем рабочем пространстве. Это позволит вам поделиться конфигурацией с другими.

Обратите внимание, что ключ mcp необходим при использовании файла mcp.json .

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

Настройка - robots.txt

По умолчанию сервер будет подчиняться файлу robots.txt веб-сайта, если запрос поступил из модели (через инструмент), но не если запрос был инициирован пользователем (через приглашение). Это можно отключить, добавив аргумент --ignore-robots-txt в список args в конфигурации.

Настройка - User-agent

По умолчанию, в зависимости от того, поступил ли запрос от модели (через инструмент) или был инициирован пользователем (через подсказку), сервер будет использовать либо user-agent

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

или

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

Это можно настроить, добавив аргумент --user-agent=YourUserAgent в список args в конфигурации.

Настройка - Прокси

Сервер можно настроить на использование прокси-сервера с помощью аргумента --proxy-url .

Отладка

Вы можете загрузить этот репозиторий и добавить его в свой файл .mcp.json для локального запуска/тестирования.

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

Вы можете использовать MCP inspector для отладки сервера. Для установок uvx:

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

Или, если вы установили пакет в определенный каталог или ведете в нем разработку:

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

Внося вклад

Мы приветствуем вклады, которые помогут расширить и улучшить mcp-server-fetch-save. Хотите ли вы добавить новые инструменты, улучшить существующую функциональность или улучшить документацию, ваш вклад будет ценным.

Примеры других серверов MCP и шаблонов реализации см. по ссылке: https://github.com/modelcontextprotocol/servers

Запросы на извлечение приветствуются! Не стесняйтесь предлагать новые идеи, исправления ошибок или улучшения, чтобы сделать mcp-server-fetch-save еще более мощным и полезным.

Лицензия

mcp-server-fetch-save лицензируется по лицензии MIT. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями лицензии MIT. Для получения более подробной информации см. файл LICENSE в репозитории проекта.

Спасибо

Этот сервер был разработан на основе оригинальной модели contextprotocol/servers fetch server с дополнительной функциональностью для сохранения контента в локальных файлах.

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