mcpField
F
Fetter MCP

Fetter MCP

リモート
fetter.ioセキュリティ135 週間前に更新
リポジトリ公式サイト

Fetter MCP について

Fetter MCPは、Pythonパッケージの脆弱性情報を必要とするコーディングエージェント向けのリモートサーバーです。PyPIとOSVを照会し、バージョン、CVE、深刻度スコア、リリース情報をローカル導入なしで確認できます。

主な機能

  1. 01固定バージョンのCVE確認
  2. 02最新の既知脆弱性なしリリースの検索
  3. 03バージョンと脆弱性の照会
  4. 04CVSSスコアによる結果の絞り込み
  5. 05ローカル導入不要のHTTP接続

活用シーン

  1. 01依存関係のバージョン固定前に確認
  2. 02パッケージ追加時に安全なリリースを検索
  3. 03バージョン指定範囲の脆弱性を監査

MCP 対応

リモートMCPサーバーは、特定バージョンの確認、最新の既知安全リリースの検索、バージョンと脆弱性情報の照会を行う3つのツールを公開します。MCPクライアントはHTTPエンドポイントに接続します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.fetter.io/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

3
パラメーター型必須説明
namestringはい検索するパッケージ名(例:"requests"、"numpy>=2.0"、"flask==3.0.0")。正確な "==" バージョンを指定した場合、`limit` と `retain_passing` パラメーターは適用されません。
limitintegerいいえ名前が正確なバージョンでない場合に、確認する直近のバージョン数を制限します。
cvss_filterstringいいえCVSS スコアフィルター:すべての脆弱性を表示するには "all"、観測された最高スコアのみを表示するには "max"、しきい値で絞り込むには数値(0.0-10.0)を指定します。
retain_passingbooleanいいえ名前が正確なバージョンでない場合、これを True に設定すると、脆弱性のないものも含め、すべてのパッケージの参照情報を返します(デフォルト:false)

詳細

Fetter MCP

Fetter は、Model Context Protocol(MCP)のリモートサーバーを https://mcp.fetter.io/mcp で提供し、AI コーディングエージェントが 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 対応クライアントには、HTTP トランスポートを使用して、次のリモートサーバー URL を指定してください。

https://mcp.fetter.io/mcp

エージェントでの使用

インストールすると、コーディングセッション中に Fetter MCP ツールを AI エージェントが利用できるようになります。依存関係の追加や監査の際に、エージェントが自動的にツールを呼び出すため、プロンプトで明示的にツールを呼び出す必要はありません。

プロンプトの例

  • 「requests の最新の安全なバージョンを requirements.txt に追加してください」
  • 「現在の依存関係に既知の脆弱性はありますか?」
  • 「CVE がない pillow の最新バージョンは何ですか?」
  • 「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

特定のパッケージバージョンに既知の脆弱性があるかどうかを確認します。バージョンを正確に指定する必要があります。脆弱性 ID、概要、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
  }
}

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。