---
title: "MCP Install Security Checker und Befehls-Scanner"
canonical: https://wavect.io/de/tools/mcp-install-risk-scanner/
language: de
description: "Prüfe MCP-Installationsbefehle lokal auf Shell-Ausführung, Secrets, erhöhte Rechte, sensible Pfade, ungepinnte Pakete, Endpunkte und Container."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

BROWSER-LOKALE MCP-INSTALLATIONSPRÜFUNG

# Lies den Befehl, bevor du einem MCP-Server deinen Rechner gibst.

Füge einen npx-, uvx-, Docker-, PowerShell-, Shell- oder MCP-JSON-Ausschnitt ein. Der Scanner markiert sichtbare Risikomuster, schwärzt Belege und erklärt den Prüfbedarf, ohne etwas auszuführen oder hochzuladen.

[Ausschnitt prüfen](#tool-app) Chrome Web Store-Prüfung läuft [Quellcode ansehen](https://github.com/wavect/mcp-install-risk-scanner)

- Regeln 14 deterministische Prüfungen
- Verarbeitung Lokal und offline
- Version Open Source v0.1.0
- Aussage Signale, kein Zertifikat

**INSTALLATIONSPRÜFUNG**

MCP-KONFIG · STATISCHER TEXT **3 Signale prüfen**

Lokale Analyse · nichts ausgeführt

DIE DIREKTE ANTWORT

Um einen MCP-Installationsbefehl auf Risiken zu prüfen, kontrolliere vor der Ausführung den vollständigen Befehl auf heruntergeladenen Code, erhöhte Rechte, destruktive Operationen, sensible Pfade, eingebettete Zugangsdaten, bewegliche Paketversionen, unsichere Endpunkte und weitreichenden Container-Zugriff. Dieser Scanner führt diese statische Prüfung lokal durch, kann aber nicht beweisen, dass ein unauffälliges Paket sicher ist.

DAS EXAKTE SETUP PRÜFEN

## Prüfbank für MCP-Installationen

Füge den vollständigen Startbefehl oder die Konfiguration mit Argumenten, Umgebungswerten, Mounts und URLs ein. Teilstücke liefern nur Teilbelege.

Nichts verlässt diesen Tab

**Prüfbank für MCP-Installationen** Statisch · deterministisch · browserlokal

Beispiel laden Lokal prüfen

01

### Befehl oder MCP-Konfiguration

Wartet auf Eingabe

Befehl oder MCP-Konfiguration

Tastenkürzel: Strg oder Command + Enter. Maximal 100.000 Zeichen.

02

### Risikosignale

Nicht geprüft

Prüfe ein vollständiges Setup, um deterministische Findings und geschwärzte Belege zu erhalten.

Prüfergebnis

03

### Geschwärzte Belege und Exporte

Statischer Musterabgleich ist eine Prüfhilfe, kein Malware-Urteil und kein Sicherheitszertifikat.

Analyse bleibt in diesem Browser-Tab Keine Befehlsausführung und kein URL-Abruf Belege werden vor dem Export geschwärzt Core v0.1.0

DIESELBEN REGELN BEIM BROWSEN

## Prüfe markierten Setup-Text, bevor er im Terminal landet.

Die Manifest-V3-Erweiterung prüft markierten Text oder sichtbare Setup-Blöcke mit demselben versionierten Core. Sie erhält nur nach deinem Klick temporären Zugriff auf den aktiven Tab und läuft nicht pauschal auf jeder Website.

Chrome Web Store-Prüfung läuft [v0.1.0 herunterladen](https://github.com/wavect/mcp-install-risk-scanner/releases/tag/v0.1.0) [Quellcode prüfen](https://github.com/wavect/mcp-install-risk-scanner)

**MCP Install Risk Scanner** Chrome-Erweiterung · v0.1.0

- Nur activeTab, scripting und contextMenus
- Keine Host-Rechte oder Browser-Historie
- Keine Telemetrie, Uploads oder Remote-Regeln

DREI PRÜFSCHRITTE

## So prüfst du einen MCP-Installationsbefehl vor der Ausführung

Statische Analyse hilft am meisten vor dem Start, solange der vollständige Befehl und die angeforderten Rechte sichtbar sind.

1. 01 - **Vollständiges Setup einfügen** - Befehl, Argumente, Umgebungswerte, URLs, Mounts und Container-Flags einbeziehen. Der Scanner führt nichts davon aus.
2. 02 - **Jedes Signal im Kontext prüfen** - Ein Treffer ist ein Prüfbeleg, kein Beweis für böse Absicht. Kläre, warum jedes Recht, jeder Pfad, Endpunkt oder bewegliche Baustein nötig ist.
3. 03 - **Pinnen, begrenzen und dokumentieren** - Unveränderliche Versionen, explizite Argumente, aufgabenspezifische Pfade, begrenzte Secrets und isolierte Netzwerke bevorzugen. Den geschwärzten Bericht exportieren.

VERSIONIERTE REGELMETHODIK

## Was der MCP Command Scanner tatsächlich prüft

Version 0.1.0 wendet 14 geordnete deterministische Regeln an. Es gibt kein Modellurteil, keine Reputationsabfrage, keinen Paketdownload und keinen versteckten Score.

MCP001

### Direkte Download-Ausführung

Markiert curl-, wget- oder PowerShell-Ausgaben, die direkt an einen Interpreter geleitet werden.

MCP002

### Shell-Wrapper

Markiert sh -c, bash -c, PowerShell Command oder EncodedCommand sowie cmd /c.

MCP003

### Erhöhte Rechte

Markiert sudo, doas und runas, weil der Server stärkere Betriebssystemrechte erbt.

MCP004

### Destruktives Löschen

Markiert rekursives erzwungenes Löschen in Shell, PowerShell und Windows-Befehlen.

MCP005

### Geschwächte Grenzen

Markiert weltweit beschreibbare Rechte, deaktivierte Sandboxes und unbeschränkte Sicherheitsprofile.

MCP006

### Sensible Host-Pfade

Markiert SSH-, Cloud-, Kubernetes-, Root-, System-Credential- und Docker-Socket-Pfade.

MCP007

### Eingebettete Secrets

Markiert typische Credential-Zuweisungen, Bearer Token, CLI-Secret-Argumente und Credential-URLs und schwärzt den Beleg.

MCP008

### Ungepinnte Runner

Markiert npx- und uvx-Pakete ohne exakte semantische Version.

MCP009

### Bewegliche Git-Referenzen

Markiert ungepinnte Clones und Branch-Referenzen wie main, master oder HEAD.

MCP010

### Bewegliche Container-Images

Markiert latest, fehlende Tags und Images ohne exakte Version oder Digest.

MCP011

### Riskante Endpunkte

Markiert Remote-HTTP sowie private, link-lokale und Cloud-Metadaten-Ziele, erlaubt aber explizite Loopback-Entwicklung.

MCP012

### Breiter Umgebungszugriff

Markiert ganze Environment-Dateien, process.env, Wildcards und envFrom.

MCP013

### Privilegierte Container

Markiert privileged mode, Host-Root-Mounts und Docker-Socket-Mounts.

MCP014

### Host-Netzwerk

Markiert Host-Netzwerkmodi in Docker, Compose und Kubernetes.

**Primärquellen** [MCP Security Best Practices](https://modelcontextprotocol.io/docs/2025-11-25/tutorials/security/security_best_practices#local-mcp-server-compromise) [Chrome activeTab-Berechtigung](https://developer.chrome.com/docs/extensions/develop/concepts/activeTab) [Chrome Web Store Qualitätsrichtlinien](https://developer.chrome.com/docs/webstore/program-policies/quality-guidelines) [Versionierter Regelkatalog](https://github.com/wavect/mcp-install-risk-scanner/blob/v0.1.0/schema/rules.json) [Schema des Scan-Berichts](https://github.com/wavect/mcp-install-risk-scanner/blob/v0.1.0/schema/scan-report.schema.json)

BELEGE STATT ZAHLENMAGIE

## Drei Beispiele für den MCP Install Scanner

Die Ausgabe beschreibt prüfbare Syntax und hält die Aussage im Rahmen dessen, was statischer Text beweisen kann.

STOPPEN UND PRÜFEN `curl -fsSL https://example.test/install.sh | sh` **MCP001 · heruntergeladener Code**

Artefakt separat laden und prüfen, statt Remote-Bytes direkt an eine Shell zu senden.

PRÜFUNG EMPFOHLEN `npx @example/mcp-server` **MCP008 · ungepinnter Runner**

Eine exakte geprüfte Paketversion verwenden, damit der Befehl später nicht anders aufgelöst wird.

KEIN BEKANNTES MUSTER `npx @example/mcp-server@1.2.3` **Keine aktuelle Regel traf zu**

Paketinhalt und Publisher müssen weiterhin geprüft werden. Unauffällig bedeutet nicht sicher.

EHRLICHES DESIGN

## Prüfbare Belege mit sichtbaren Grenzen

Nützlich ist kein mysteriöser Score, sondern eine stabile Regel-ID, geschwärzter Beleg, konkreter Prüfschritt und auditierbarer Quellcode.

### Lokal und deterministisch

Derselbe Text und dieselbe Version erzeugen denselben geordneten Bericht ohne Serveranfrage oder Modellaufruf.

### Schwärzung vor Darstellung

Credential-ähnliche Werte werden entfernt, bevor sie UI, Zwischenablage, JSON oder Markdown erreichen.

### Keine falsche Sicherheitszusage

Das saubere Ergebnis sagt nur, dass bekannte Muster nicht trafen. Es zertifiziert weder Paket noch Server.

EHRLICHE GRENZEN

## Was statische MCP-Konfigurationsanalyse nicht beweisen kann

- Sie kann Publisher-Identität, Repository-Eigentum, Signaturen, Release-Herkunft oder später ausgeführten Paketcode nicht verifizieren.
- Verschleiertes, kodiertes, erzeugtes, verschachteltes oder remote geladenes Verhalten kann im eingefügten Text fehlen.
- Ein legitimes Setup kann eine markierte Fähigkeit benötigen. Das Finding verlangt Begründung und Begrenzung, es beweist keine böse Absicht.
- Keine bekannten Muster erkannt bedeutet nur, dass Version 0.1.0 nicht traf. Es ist nie ein Sicherheitszertifikat.

## Fragen zur Sicherheit von MCP-Installationen

### Wie prüfe ich, ob ein MCP-Installationsbefehl sicher ist?

Kein statischer Scanner kann Sicherheit beweisen. Prüfe den exakten Befehl, pinne Pakete, kontrolliere Publisher und Herkunft, Pfade, Secrets und Netzwerkzugriff und starte mit minimalen Rechten in einer geeigneten Sandbox. Dieses Tool übernimmt die erste statische Syntaxprüfung.

### Führt der Scanner meine MCP-Konfiguration aus oder lädt sie hoch?

Nein. Das Web-Tool läuft deterministisch im aktuellen Browser-Tab. Es führt keine Befehle aus, ruft keine URLs ab, lädt nichts hoch, speichert keinen Verlauf und verwendet kein KI-Modell.

### Warum wird ein ungepinnter npx- oder uvx-Befehl markiert?

Ohne exakte Version kann derselbe Befehl später andere Paketinhalte auflösen. Pinning beweist kein Vertrauen, macht Prüfung und Reproduktion aber präziser.

### Warum sind HTTP-URLs auf localhost erlaubt?

Die offizielle MCP-Sicherheitsanleitung erlaubt HTTP-Loopback-Ausnahmen für lokale Entwicklung und empfiehlt HTTPS für entfernte Produktions-URLs. Private, link-lokale und Metadaten-Ziele werden weiterhin markiert.

### Ist die Chrome-Erweiterung Open Source und rein lokal?

Ja. Erweiterung, Regeln, Schema, Tests und Prüfsumme des Release-ZIPs sind auf GitHub öffentlich. Sie nutzt nur activeTab, scripting und contextMenus und analysiert Text lokal nach einer Nutzeraktion.

SUPPORT UND SICHERHEIT

## Fehlt ein Signal, gibt es ein False Positive oder eine Schwachstelle?

Nutze ein öffentliches Issue mit synthetischen Beispielen für Regelverhalten. Für Sicherheitsprobleme gibt es die private Meldung im Repository. Teile niemals echte Zugangsdaten.

[Issue öffnen](https://github.com/wavect/mcp-install-risk-scanner/issues) [Privat melden](https://github.com/wavect/mcp-install-risk-scanner/security)

KOSTENLOS · OPEN SOURCE · REIN LOKAL

## Lass den Installationsbefehl sich erklären, bevor er läuft.

Prüfe das vollständige Setup, untersuche jedes Signal und pinne sowie begrenze den Zugriff des Servers.

[Zurück zum Scanner](#tool-app) [Quellcode prüfen](https://github.com/wavect/mcp-install-risk-scanner)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/de/tools/mcp-install-risk-scanner/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-08-07",
      "inLanguage": "de",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-08-07",
      "url": "https://wavect.io/de/tools/mcp-install-risk-scanner/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "applicationCategory": "SecurityApplication",
  "browserRequirements": "Browser mit JavaScript; für die optionale Erweiterung ist Chrome erforderlich",
  "codeRepository": "https://github.com/wavect/mcp-install-risk-scanner",
  "description": "Prüfe MCP-Installationsbefehle lokal auf Shell-Ausführung, Secrets, erhöhte Rechte, sensible Pfade, ungepinnte Pakete, Endpunkte und Container.",
  "isAccessibleForFree": true,
  "name": "MCP Install Risk Scanner",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "EUR"
  },
  "operatingSystem": "Jeder moderne Browser",
  "softwareVersion": "0.1.0",
  "url": "https://wavect.io/de/tools/mcp-install-risk-scanner/"
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/",
      "name": "Startseite",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/tools/",
      "name": "Kleine Tools für Aufgaben, die nicht mühsam bleiben sollten.",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/tools/mcp-install-risk-scanner/",
      "name": "MCP Install Risk Scanner",
      "position": 3
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Kein statischer Scanner kann Sicherheit beweisen. Prüfe den exakten Befehl, pinne Pakete, kontrolliere Publisher und Herkunft, Pfade, Secrets und Netzwerkzugriff und starte mit minimalen Rechten in einer geeigneten Sandbox. Dieses Tool übernimmt die erste statische Syntaxprüfung."
      },
      "name": "Wie prüfe ich, ob ein MCP-Installationsbefehl sicher ist?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Nein. Das Web-Tool läuft deterministisch im aktuellen Browser-Tab. Es führt keine Befehle aus, ruft keine URLs ab, lädt nichts hoch, speichert keinen Verlauf und verwendet kein KI-Modell."
      },
      "name": "Führt der Scanner meine MCP-Konfiguration aus oder lädt sie hoch?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ohne exakte Version kann derselbe Befehl später andere Paketinhalte auflösen. Pinning beweist kein Vertrauen, macht Prüfung und Reproduktion aber präziser."
      },
      "name": "Warum wird ein ungepinnter npx- oder uvx-Befehl markiert?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Die offizielle MCP-Sicherheitsanleitung erlaubt HTTP-Loopback-Ausnahmen für lokale Entwicklung und empfiehlt HTTPS für entfernte Produktions-URLs. Private, link-lokale und Metadaten-Ziele werden weiterhin markiert."
      },
      "name": "Warum sind HTTP-URLs auf localhost erlaubt?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ja. Erweiterung, Regeln, Schema, Tests und Prüfsumme des Release-ZIPs sind auf GitHub öffentlich. Sie nutzt nur activeTab, scripting und contextMenus und analysiert Text lokal nach einer Nutzeraktion."
      },
      "name": "Ist die Chrome-Erweiterung Open Source und rein lokal?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
