Skip to main content
Glama
fetter-io

Fetter MCP

Official
by fetter-io

Fetter MCP

Fetter предоставляет удалённый Model Context Protocol (MCP) сервер по адресу https://mcp.fetter.io/mcp, который обеспечивает ИИ-агентам, пишущим код, доступ в реальном времени к данным об уязвимостях Python-пакетов. Основанный на fetter, сервер запрашивает PyPI и OSV, чтобы выявлять известные CVE, оценки CVSS и безопасные версии, позволяя вашему агенту принимать обоснованные решения о зависимостях при написании кода.

Инструменты:

  • most_recent_not_vulnerable: находит последний релиз пакета без известных уязвимостей

  • is_vulnerable: проверяет, есть ли у конкретной закреплённой версии известные CVE

  • lookup: находит доступные версии и их уязвимости для любого пакета или спецификатора

Установка

Сервер Fetter MCP использует HTTP-транспорт и не требует локальной установки. Просто зарегистрируйте удалённый URL в вашем MCP-клиенте.

Claude Code

claude mcp add --transport http fetter https://mcp.fetter.io/mcp

Codex

codex mcp add fetter --url https://mcp.fetter.io/mcp

Другие MCP-клиенты

Для любого другого MCP-совместимого клиента укажите следующий URL удалённого сервера, используя HTTP-транспорт:

https://mcp.fetter.io/mcp

Related MCP server: cve-lookup-mcp

Использование агентом

После установки инструменты Fetter MCP доступны вашему ИИ-агенту во время сессий написания кода. Агент может вызывать их автоматически при добавлении или аудите зависимостей; явно вызывать инструменты в ваших запросах не требуется.

Примеры запросов

  • "Добавьте последнюю безопасную версию requests в requirements.txt"

  • "Есть ли известные уязвимости в моих текущих зависимостях?"

  • "Какая последняя версия pillow без известных CVE?"

  • "Прежде чем закреплять cryptography, проверьте, уязвима ли версия 42.0.5"

Агент выбирает подходящий инструмент в зависимости от контекста:

  • Добавление нового пакета: most_recent_not_vulnerable для поиска безопасной версии

  • Проверка конкретной закреплённой версии: is_vulnerable для точного ответа

  • Аудит существующего спецификатора: lookup для просмотра затронутых версий

most_recent_not_vulnerable

Находит самую последнюю версию пакета, у которой нет известных уязвимостей. Укажите только имя пакета, и сервер найдёт безопасную версию среди последних релизов. Полезно при закреплении зависимости за последним чистым релизом.

Параметры

  • package_name — только имя пакета (без спецификатора версии), например "requests"

Пример запроса

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 2,
  "params": {
    "name": "most_recent_not_vulnerable",
    "arguments": {
      "name": "cryptography"
    }
  }
}

Пример ответа:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [],
    "structuredContent": {
      "package": "cryptography",
      "version": "46.0.5",
      "vulnerabilities": [],
      "vulnerable": false
    },
    "isError": false
  }
}

is_vulnerable

Проверяет, есть ли у конкретной версии пакета известные уязвимости. Требуется точный спецификатор версии. Возвращает идентификаторы уязвимостей, краткие описания, оценки CVSS, уровни серьёзности и справочные URL-адреса.

Параметры

  • dep_spec — точный спецификатор версии, например "requests==2.31.0"

Пример запроса

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 2,
  "params": {
    "name": "is_vulnerable",
    "arguments": {
      "name": "requests==2.19.1"
    }
  }
}

Пример ответа:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [],
    "structuredContent": {
      "package": "requests",
      "version": "2.19.1",
      "vulnerabilities": [
        {
          "cvss_score": 5.3,
          "id": "GHSA-9hjg-9r4m-mvj7",
          "severity": "(Medium):",
          "summary": "Requests vulnerable to .netrc credentials leak via malicious URLs",
          "url": "https://osv.dev/vulnerability/GHSA-9hjg-9r4m-mvj7"
        },
        {
          "cvss_score": 5.6,
          "id": "GHSA-9wx4-h78v-vm56",
          "severity": "(Medium):",
          "summary": "Requests Session object does not verify requests after making first request with verify=False",
          "url": "https://osv.dev/vulnerability/GHSA-9wx4-h78v-vm56"
        },
        {
          "cvss_score": 6.1,
          "id": "GHSA-j8r2-6x86-q33q",
          "severity": "(Medium):",
          "summary": "Unintended leak of Proxy-Authorization header in requests",
          "url": "https://osv.dev/vulnerability/GHSA-j8r2-6x86-q33q"
        },
        {
          "cvss_score": 7.5,
          "id": "GHSA-x84v-xcm2-53pg",
          "severity": "(High):",
          "summary": "Insufficiently Protected Credentials in Requests",
          "url": "https://osv.dev/vulnerability/GHSA-x84v-xcm2-53pg"
        },
        {
          "cvss_score": null,
          "id": "PYSEC-2018-28",
          "severity": null,
          "summary": "",
          "url": "https://osv.dev/vulnerability/PYSEC-2018-28"
        },
        {
          "cvss_score": null,
          "id": "PYSEC-2023-74",
          "severity": null,
          "summary": "",
          "url": "https://osv.dev/vulnerability/PYSEC-2023-74"
        }
      ],
      "vulnerable": true
    },
    "isError": false
  }
}

lookup

Выполняет поиск пакета по имени и необязательному спецификатору версии, чтобы узнать, какие версии доступны и есть ли у них известные уязвимости. Поддерживает спецификаторы, такие как "requests", "numpy>=2.0" или "flask==3.0.0".

Параметры

  • dep_specs — имя пакета или спецификатор версии

  • cvss_threshold — фильтровать уязвимости с оценкой CVSS не ниже указанной (0–10)

  • max_observed_score — возвращать только самую высокую оценку CVSS для каждой версии, а не все отдельные уязвимости

  • count — ограничить количество проверяемых последних версий

  • retain_passing — включать в результаты версии без известных уязвимостей

Пример запроса

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 2,
  "params": {
    "name": "lookup",
    "arguments": {
      "name": "requests>=2.32.0",
      "retain_passing": true
    }
  }
}

Пример ответа:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [],
    "structuredContent": {
      "package": "requests",
      "versions": [
        {
          "version": "2.32.0",
          "vulnerabilities": [
            {
              "cvss_score": 5.3,
              "id": "GHSA-9hjg-9r4m-mvj7",
              "severity": "(Medium):",
              "summary": "Requests vulnerable to .netrc credentials leak via malicious URLs",
              "url": "https://osv.dev/vulnerability/GHSA-9hjg-9r4m-mvj7"
            }
          ],
          "vulnerable": true
        },
        {
          "version": "2.32.1",
          "vulnerabilities": [
            {
              "cvss_score": 5.3,
              "id": "GHSA-9hjg-9r4m-mvj7",
              "severity": "(Medium):",
              "summary": "Requests vulnerable to .netrc credentials leak via malicious URLs",
              "url": "https://osv.dev/vulnerability/GHSA-9hjg-9r4m-mvj7"
            }
          ],
          "vulnerable": true
        },
        {
          "version": "2.32.2",
          "vulnerabilities": [
            {
              "cvss_score": 5.3,
              "id": "GHSA-9hjg-9r4m-mvj7",
              "severity": "(Medium):",
              "summary": "Requests vulnerable to .netrc credentials leak via malicious URLs",
              "url": "https://osv.dev/vulnerability/GHSA-9hjg-9r4m-mvj7"
            }
          ],
          "vulnerable": true
        },
        {
          "version": "2.32.3",
          "vulnerabilities": [
            {
              "cvss_score": 5.3,
              "id": "GHSA-9hjg-9r4m-mvj7",
              "severity": "(Medium):",
              "summary": "Requests vulnerable to .netrc credentials leak via malicious URLs",
              "url": "https://osv.dev/vulnerability/GHSA-9hjg-9r4m-mvj7"
            }
          ],
          "vulnerable": true
        },
        {
          "version": "2.32.4",
          "vulnerabilities": [],
          "vulnerable": false
        },
        {
          "version": "2.32.5",
          "vulnerabilities": [],
          "vulnerable": false
        }
      ]
    },
    "isError": false
  }
}

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides live CVE data from NVD and EPSS without API key, enabling AI assistants to look up CVSS scores, search vulnerabilities, and check product CVEs.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides CVE lookup, search, and exploit intelligence from public vulnerability sources (NVD, CISA KEV, EPSS) for AI agents to produce remediation guidance without consuming LLM tokens for data fetching.
    1
    MIT