# Werkzeuge, Ressourcen und Prompts

Alles, was der gehostete MCP-Server von Lockpick einem Assistenten bietet, direkt aus dem Server selbst generiert.

{/* Generated by scripts/docs-generate.mts. Do not edit; run `pnpm docs:generate`. */}

Der gehostete Server bietet 29 Werkzeuge, 2 Ressourcen und 3 Prompts. Jedes Werkzeug braucht die gezeigte [Berechtigung](/de/docs/mcp/permissions). Werkzeuge, die etwas verändern, sind markiert, damit Assistenten vorher nachfragen. Entscheidend sind aber die Berechtigung und die eigenen Prüfungen von Lockpick. Jedes Werkzeug akzeptiert außerdem `format`: `markdown` für Text, den ein Assistent Ihnen vorliest, oder `json` für Daten.

## Werkzeuge

### lockpick_whoami

**Wer bin ich**

Die angemeldete Person, der Arbeitsbereich, den diese Zugangsdaten lesen, die Berechtigungsumfänge und das Ablaufdatum der Zugangsdaten sowie was sie starten können.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

Es braucht keine weiteren Eingaben.

### lockpick_get_allowance

**Kontingent abrufen**

Ob der Lockpick-Zugang der Person aktiv ist, das verfügbare Pulse- und Deep-Kontingent mit seinen Rücksetzdaten, Guthaben und welche Website den kostenlosen Pulse-Scan dieses Monats hält. Lesen Sie es, bevor Sie Kosten nennen.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

Es braucht keine weiteren Eingaben.

### lockpick_list_sites

**Websites auflisten**

Websites im Arbeitsbereich, den diese Zugangsdaten lesen dürfen, neueste zuerst, jede mit ihrem letzten Pulse- und Deep-Scan. Seitenweise mit einem Cursor.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe  | Typ     | Pflicht |
| -------- | ------- | ------- |
| `limit`  | integer | Nein    |
| `cursor` | string  | Nein    |

### lockpick_site_status

**Status der Website**

Der Stand einer Website: ihre letzten Pulse- und Deep-Scans mit Note und Punktzahl, offene Befunde nach Schweregrad, Abdeckungsgrenzen, die Änderung der letzten erneuten Prüfung und was jetzt relevant ist. Dazu gehören Sicherheitshinweise, die ihre festgelegten Versionen betreffen oder ihren Stack betreffen könnten, live beobachtete Komponenten, aktiv ausgenutzte Probleme und neuere Korrekturen, jeweils mit ihrem Nachweis.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe  | Typ    | Pflicht |
| -------- | ------ | ------- |
| `siteId` | string | Ja      |

```json title="Beispielargumente"
{
  "siteId": "<siteId>"
}
```

### lockpick_add_site

**Website hinzufügen**

Fügt dem Arbeitsbereich eine Website mit ihrer Adresse hinzu oder gibt die bestehende Website mit dieser Adresse zurück. Nur für eine Website, die die Person besitzt oder testen darf. Eine Website hinzuzufügen scannt sie nicht. Eine Wiederholung mit demselben idempotencyKey gibt dieselbe Website zurück.

* Berechtigung: Websites (`lockpick.sites`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ    | Pflicht |
| ---------------- | ------ | ------- |
| `url`            | string | Ja      |
| `name`           | string | Nein    |
| `idempotencyKey` | string | Ja      |

```json title="Beispielargumente"
{
  "url": "https://atlas.example",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_switch_free_site

**Die kostenlose Website wechseln**

Entfernt eine der Websites der Person, damit der kostenlose Pulse-Scan dieses Monats zu einer anderen Website wechseln kann. Rufen Sie es nur auf, wenn die Person um den Wechsel gebeten und die zu entfernende Website genannt hat. Übergeben Sie deren ID als removeSiteId mit confirmRemoval: true, niemals eine Website, die Sie selbst ausgewählt haben. Die entfernte Website wird nicht mehr überwacht, ihre Scans bleiben lesbar, und ein Manager kann sie in Lockpick wiederherstellen (restoreUrl). Mit checkId, einer Schnellprüfung der neuen Website, startet es außerdem einen Pulse-Scan für diese Website. Der verbraucht einen kostenlosen Pulse-Scan, und das Ergebnis nennt den Scan, die Berechnung und das verbleibende Kontingent. Ohne checkId wird nichts gestartet. Die Anfrage wird ohne Entfernung abgelehnt, solange ein Scan dieser Website läuft, wenn das Entfernen den kostenlosen Pulse-Scan nicht freigeben würde, wenn die Schnellprüfung abgelaufen ist oder wenn kein kostenloser Pulse-Scan mehr übrig ist. Wurde die Website entfernt, der Pulse-Scan danach aber nicht gestartet, sagt der Fehler das und verlinkt auf den Start in Lockpick. Eine Wiederholung mit demselben idempotencyKey gibt dasselbe Ergebnis zurück und ändert nichts weiter.

* Berechtigung: Websites (`lockpick.sites`) und Pulse-Scans (`lockpick.pulse`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ     | Pflicht |
| ---------------- | ------- | ------- |
| `removeSiteId`   | string  | Ja      |
| `checkId`        | string  | Nein    |
| `idempotencyKey` | string  | Ja      |
| `confirmRemoval` | boolean | Ja      |

```json title="Beispielargumente"
{
  "removeSiteId": "<removeSiteId>",
  "idempotencyKey": "a-unique-key",
  "confirmRemoval": true
}
```

### lockpick_list_scans

**Scans auflisten**

Scans, neueste zuerst, filterbar nach Website, Art, Bewertungsstufe (pulse, standard, deep) und Status, jeweils mit Note und Punktzahl. Seitenweise mit einem Cursor.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe           | Typ                                                                                 | Pflicht |
| ----------------- | ----------------------------------------------------------------------------------- | ------- |
| `siteId`          | string                                                                              | Nein    |
| `kind`            | `pulse`, `box` (Deep, alter Name)                                                   | Nein    |
| `assessmentLevel` | `pulse`, `standard`, `deep`                                                         | Nein    |
| `status`          | `queued`, `running`, `cancelling`, `succeeded`, `incomplete`, `failed`, `cancelled` | Nein    |
| `limit`           | integer                                                                             | Nein    |
| `cursor`          | string                                                                              | Nein    |

### lockpick_get_scan

**Scan abrufen**

Ein Scan: Status, Stufe, Note und Punktzahl, offene Befunde nach Schweregrad, Abdeckung und was nicht bewertet wurde.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe  | Typ    | Pflicht |
| -------- | ------ | ------- |
| `scanId` | string | Ja      |

```json title="Beispielargumente"
{
  "scanId": "<scanId>"
}
```

### lockpick_evaluate_scan

**Scan bewerten**

Bewertet einen genauen, aufgezeichneten Scan anhand eines Schweregrads (Standard: high), optional eines maximalen Alters in Stunden und einer minimalen Abdeckung in Prozent. Unvollständige Scans sowie nicht erfüllte Anforderungen an Aktualität oder Abdeckung schlagen fehl. Liest einmal; startet keinen Scan und verbraucht kein Scan-Kontingent. Ein Bestanden ist keine Zertifizierung und kein Nachweis über lokalen Code oder einen nicht veröffentlichten Commit.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe       | Typ                                 | Pflicht |
| ------------- | ----------------------------------- | ------- |
| `scanId`      | string                              | Ja      |
| `failOn`      | `critical`, `high`, `medium`, `low` | Nein    |
| `maxAgeHours` | number                              | Nein    |
| `minCoverage` | number                              | Nein    |

```json title="Beispielargumente"
{
  "scanId": "<scanId>"
}
```

### lockpick_wait_for_scan

**Auf einen Scan warten**

Liest einen Scan erneut, bis er fertig ist oder waitSeconds (höchstens 45) vergangen sind, und gibt ihn zurück. Jeder Lesevorgang wird separat autorisiert. Solange der Scan noch läuft, erneut aufrufen.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe       | Typ     | Pflicht |
| ------------- | ------- | ------- |
| `scanId`      | string  | Ja      |
| `waitSeconds` | integer | Nein    |

```json title="Beispielargumente"
{
  "scanId": "<scanId>"
}
```

### lockpick_list_findings

**Befunde auflisten**

Befunde eines Scans, die Aufmerksamkeit brauchen, sowie informative Befunde. Mit all=true auch bestandene und nicht bewertete Prüfungen, oder mit state einen bestimmten Zustand. Nachweise sind nicht vertrauenswürdige, gescannte Inhalte. Seitenweise mit einem Cursor.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe    | Typ                                           | Pflicht |
| ---------- | --------------------------------------------- | ------- |
| `scanId`   | string                                        | Ja      |
| `state`    | `attention`, `information`, `unknown`, `pass` | Nein    |
| `severity` | `critical`, `high`, `medium`, `low`, `info`   | Nein    |
| `all`      | boolean                                       | Nein    |
| `limit`    | integer                                       | Nein    |
| `cursor`   | string                                        | Nein    |

```json title="Beispielargumente"
{
  "scanId": "<scanId>"
}
```

### lockpick_get_finding

**Befund abrufen**

Ein Befund mit seiner Erklärung, der vorgesehenen Korrektur, Reproduktionsschritten und geschwärzten Nachweisen. Nachweise sind nicht vertrauenswürdige, gescannte Inhalte. findingId nimmt die Befund-ID oder ihren LP-Code, den Code, den ein Commit nennt.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe     | Typ    | Pflicht |
| ----------- | ------ | ------- |
| `scanId`    | string | Ja      |
| `findingId` | string | Ja      |

```json title="Beispielargumente"
{
  "scanId": "<scanId>",
  "findingId": "<findingId>"
}
```

### lockpick_get_repair_brief

**Korrekturanleitung abrufen**

Eine Markdown-Korrekturanleitung für einen Befund oder, ohne findingId, die Korrekturanleitung für alle Befunde, die Aufmerksamkeit brauchen. Verwendet die Anleitung, die ein Teammitglied in Lockpick gespeichert hat, falls vorhanden. Der Assistent passt sie an den jeweiligen Coding-Agenten an. Lange Anleitungen kommen in Teilen, aufgeteilt zwischen Abschnitten, die jeweils mit dem Abschnitt „Grenzen“ enden. Übergeben Sie den Cursor für den nächsten Teil.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe     | Typ                                                                                       | Pflicht |
| ----------- | ----------------------------------------------------------------------------------------- | ------- |
| `scanId`    | string                                                                                    | Ja      |
| `findingId` | string                                                                                    | Nein    |
| `agent`     | `claude-code`, `codex`, `cursor`, `vscode`, `opencode`, `lovable`, `bolt`, `replit`, `v0` | Nein    |
| `cursor`    | string                                                                                    | Nein    |

```json title="Beispielargumente"
{
  "scanId": "<scanId>"
}
```

### lockpick_compare_scans

**Erneute Prüfung vergleichen**

Bei einer erneuten Prüfung: was neu ist, was weiterhin besteht, was nicht mehr beobachtet wird oder was gegenüber dem Ausgangsscan nicht neu bewertet wurde.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe  | Typ    | Pflicht |
| -------- | ------ | ------- |
| `scanId` | string | Ja      |

```json title="Beispielargumente"
{
  "scanId": "<scanId>"
}
```

### lockpick_quick_check

**Schnellcheck**

Eine kostenlose, passive Prüfung der Startseite einer Website und der öffentlichen DNS-Einträge: HTTPS, Sicherheits-Header, Cookies, offengelegte Geheimnisse und Schutz vor E-Mail-Spoofing. Sie braucht keine Website in Lockpick und verbraucht keinen Pulse-Scan. Das Konto hat ein stündliches und ein tägliches Limit für Schnellchecks. Die Antwort kommt sofort; das Ergebnis lesen Sie mit lockpick_get_quick_check.

* Berechtigung: Pulse-Scans (`lockpick.pulse`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ    | Pflicht |
| ---------------- | ------ | ------- |
| `url`            | string | Ja      |
| `idempotencyKey` | string | Ja      |

```json title="Beispielargumente"
{
  "url": "https://atlas.example",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_get_quick_check

**Schnellcheck abrufen**

Ein Schnellcheck, den diese Person gestartet hat, mit Note, Punktzahl und den Prüfungen, die sich zu beheben lohnen. Nur Schnellchecks, die diese Person in diesem Arbeitsbereich gestartet hat, können gelesen werden.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe   | Typ    | Pflicht |
| --------- | ------ | ------- |
| `checkId` | string | Ja      |

```json title="Beispielargumente"
{
  "checkId": "<checkId>"
}
```

### lockpick_check_repository

**Ein Repository prüfen**

Eine kostenlose statische Prüfung eines öffentlichen GitHub-Repositorys, bevor es in einen KI-Coding-Agenten installiert wird: ein Claude-Code-Plugin oder Marketplace, ein Agenten-Skill, ein MCP-Server oder seine Konfiguration oder die Agenten-Einrichtung einer App (Hooks, Einstellungen, CLAUDE.md, AGENTS.md). Übergeben Sie einen GitHub-Link, ein owner/repo oder den Installationsbefehl aus der README. Lockpick liest einen festgelegten Commit und führt nichts aus. Es braucht keine Site und verwendet keinen Pulse-Scan; das Konto hat ein stündliches und ein tägliches Limit. Die Antwort kommt sofort; das Ergebnis lesen Sie mit lockpick_get_repository_check. Übergeben Sie depth 'deep' nur, wenn die Person eine Deep-Prüfung des Repositorys möchte: Sie liest zusätzlich jede Lockfile und die letzten 50 Commits auf geleakte Schlüssel, prüft gründlicher und verbraucht einen Deep-Scan ihres Plans.

* Berechtigung: Pulse-Scans (`lockpick.pulse`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ            | Pflicht |
| ---------------- | -------------- | ------- |
| `url`            | string         | Ja      |
| `mode`           | `skill`, `app` | Nein    |
| `depth`          | `free`, `deep` | Nein    |
| `idempotencyKey` | string         | Ja      |

```json title="Beispielargumente"
{
  "url": "https://atlas.example",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_get_repository_check

**Repository-Prüfung abrufen**

Eine Repository-Prüfung, die diese Person gestartet hat: das Installationsurteil (oder das App-Risiko), die Befunde mit Datei und Zeile, die Abdeckung und der Link zum Bericht. Gelesen werden können nur Prüfungen, die diese Person in diesem Arbeitsbereich gestartet hat.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe   | Typ    | Pflicht |
| --------- | ------ | ------- |
| `checkId` | string | Ja      |

```json title="Beispielargumente"
{
  "checkId": "<checkId>"
}
```

### lockpick_start_pulse

**Einen Pulse-Scan starten**

Startet einen Pulse-Scan auf einer Website, die die Person besitzt oder testen darf (eine erneute Prüfung ihres letzten Pulse-Scans, wenn kompatibel). Verbraucht einen Pulse-Scan aus dem Kontingent, das lockpick_get_allowance meldet. Lesen Sie es, bevor Sie Kosten nennen. Die Antwort kommt sofort mit dem Scan, der Berechnung und dem Kontingent. Folgen Sie mit lockpick_wait_for_scan. Eine Wiederholung mit demselben idempotencyKey gibt denselben Scan zurück und berechnet nichts weiter. Ein Deep-Scan oder Master Key lässt sich damit nicht starten.

* Berechtigung: Pulse-Scans (`lockpick.pulse`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ    | Pflicht |
| ---------------- | ------ | ------- |
| `siteId`         | string | Ja      |
| `idempotencyKey` | string | Ja      |
| `baselineScanId` | string | Nein    |

```json title="Beispielargumente"
{
  "siteId": "<siteId>",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_start_deep_verification

**Eigentumsnachweis für Deep starten**

Stellt einen Eigentumsnachweis für eine Website aus, bevor ein Deep-Scan startet: einen DNS-TXT-Eintrag, einen Meta-Tag auf der Startseite oder eine Datei, die die Person unter der eigenen Adresse der Website veröffentlicht. Die Antwort nennt genau, was veröffentlicht werden muss. Der Wert wird nur in dieser Antwort angezeigt. Der Nachweis läuft nach 30 Minuten ab und erlaubt eine begrenzte Anzahl von Prüfungen.

* Berechtigung: Deep-Scans (`lockpick.deep`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ                   | Pflicht |
| ---------------- | --------------------- | ------- |
| `siteId`         | string                | Ja      |
| `method`         | `dns`, `file`, `meta` | Ja      |
| `idempotencyKey` | string                | Ja      |

```json title="Beispielargumente"
{
  "siteId": "<siteId>",
  "method": "dns",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_check_deep_verification

**Eigentumsnachweis für Deep prüfen**

Sucht einmal nach dem veröffentlichten Eigentumsnachweis einer Website und gibt seinen Zustand zurück. Jeder Aufruf verbraucht eine der Prüfungen des Nachweises. Rufen Sie es daher erst auf, nachdem die Person sagt, dass Eintrag oder Datei veröffentlicht sind.

* Berechtigung: Deep-Scans (`lockpick.deep`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ    | Pflicht |
| ---------------- | ------ | ------- |
| `siteId`         | string | Ja      |
| `verificationId` | string | Ja      |

```json title="Beispielargumente"
{
  "siteId": "<siteId>",
  "verificationId": "<verificationId>"
}
```

### lockpick_prepare_deep

**Einen Deep-Scan vorbereiten**

Bereitet einen Deep-Scan einer Website mit einem geprüften Eigentumsnachweis vor und gibt seine Kosten und den Freigabelink zurück. Nichts startet, bis die Person den Link öffnet und genau diesen Scan in Lockpick freigibt. Ein Agent gibt nie selbst eine Freigabe. Eine Wiederholung mit demselben idempotencyKey gibt denselben vorbereiteten Scan zurück.

* Berechtigung: Deep-Scans (`lockpick.deep`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ    | Pflicht |
| ---------------- | ------ | ------- |
| `siteId`         | string | Ja      |
| `verificationId` | string | Ja      |
| `idempotencyKey` | string | Ja      |

```json title="Beispielargumente"
{
  "siteId": "<siteId>",
  "verificationId": "<verificationId>",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_start_deep

**Einen freigegebenen Deep-Scan starten**

Startet einen Deep-Scan, den die Person in Lockpick freigegeben hat, zu den Kosten, die bei der Vorbereitung angezeigt wurden. Vor der Freigabe antwortet es, dass eine Freigabe nötig ist, und nennt den Link. Ein erneuter Aufruf gibt denselben Scan zurück und berechnet nichts weiter. Folgen Sie mit lockpick_wait_for_scan.

* Berechtigung: Deep-Scans (`lockpick.deep`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe       | Typ    | Pflicht |
| ------------- | ------ | ------- |
| `operationId` | string | Ja      |

```json title="Beispielargumente"
{
  "operationId": "<operationId>"
}
```

### lockpick_recheck_dns

**DNS erneut prüfen**

Kostenlos: liest die öffentlichen DNS-Einträge hinter einem DNS-Befund eines abgeschlossenen Scans erneut, nachdem die Person sie geändert hat. Die Website wird nie kontaktiert, und die Note des Scans ändert sich nie. Es ist höchstens eine Prüfung pro Scan und Minute möglich, und eine bereits laufende Prüfung wird mitgenutzt. Eine vollständige erneute Prüfung ist lockpick_start_pulse und kostet einen Pulse-Scan.

* Berechtigung: Pulse-Scans (`lockpick.pulse`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ    | Pflicht |
| ---------------- | ------ | ------- |
| `scanId`         | string | Ja      |
| `findingId`      | string | Ja      |
| `idempotencyKey` | string | Ja      |

```json title="Beispielargumente"
{
  "scanId": "<scanId>",
  "findingId": "<findingId>",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_get_dns_recheck

**DNS erneute Prüfung abrufen**

Die letzte kostenlose erneute DNS-Prüfung für einen Scan: pro DNS-Befund weiterhin beobachtet, nicht mehr beobachtet oder unbekannt. Die ursprüngliche Note des Scans ändert sich nie.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe  | Typ    | Pflicht |
| -------- | ------ | ------- |
| `scanId` | string | Ja      |

```json title="Beispielargumente"
{
  "scanId": "<scanId>"
}
```

### lockpick_send_dependencies

**Paketversionen senden**

Sendet die Paketnamen und genauen Versionen, die das eigene Projekt einer Website festlegt (npm und PyPI). Es werden nie Code, Pfade oder Registry-Adressen gesendet. Die Antwort nennt, welche bekannten Sicherheitshinweise diese genauen Versionen betreffen, mit der behebenden Version. Übergeben Sie `packages`, die Sie aus der Lockfile gelesen haben, oder `path`, den Projektordner, wenn Sie über den lokalen `lockpick mcp`-Server arbeiten. Dieser liest package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock, requirements.txt und poetry.lock selbst. Jeder Aufruf ersetzt die Liste der Website. Eine leere Liste `packages` vergisst sie. Rufen Sie dies nur auf, wenn die Person darum gebeten oder zugestimmt hat.

* Berechtigung: Websites (`lockpick.sites`)
* Verändert etwas, daher bestätigen Assistenten es zuerst

| Eingabe          | Typ                                                                                                                  | Pflicht |
| ---------------- | -------------------------------------------------------------------------------------------------------------------- | ------- |
| `inventory`      | object                                                                                                               | Nein    |
| `siteId`         | string                                                                                                               | Ja      |
| `packages`       | list of object                                                                                                       | Nein    |
| `sources`        | list of `package-lock.json`, `npm-shrinkwrap.json`, `pnpm-lock.yaml`, `yarn.lock`, `requirements.txt`, `poetry.lock` | Nein    |
| `path`           | string                                                                                                               | Nein    |
| `idempotencyKey` | string                                                                                                               | Ja      |

```json title="Beispielargumente"
{
  "siteId": "<siteId>",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_monitor

**Sicherheitsinformationen**

Aktuelle Sicherheitshinweise und Berichte über schädliche Pakete durchsuchen oder Treffer für Websites erklären, die diese Zugangsdaten lesen dürfen. Verwenden Sie siteId für eine Website oder advisoryId für einen einzelnen Eintrag. Übermittelte Inventare beweisen weder eine Bereitstellung noch eine Ausnutzung. Startet keine Scans.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe      | Typ                                                   | Pflicht |
| ------------ | ----------------------------------------------------- | ------- |
| `view`       | `latest`, `sites`, `exploited`, `following`           | Nein    |
| `kind`       | `all`, `vulnerability`, `malicious_package`           | Nein    |
| `q`          | string                                                | Nein    |
| `ecosystem`  | `all`, `npm`, `pypi`, `composer`, `wordpress`         | Nein    |
| `severity`   | `all`, `critical`, `high`, `medium`, `low`, `unknown` | Nein    |
| `days`       | number                                                | Nein    |
| `cursor`     | string                                                | Nein    |
| `limit`      | integer                                               | Nein    |
| `siteId`     | string                                                | Nein    |
| `advisoryId` | string                                                | Nein    |

### lockpick_search_docs

**Dokumentation durchsuchen**

Stichwortsuche in der öffentlichen Dokumentation von Lockpick: wie Scans, Berichte, Korrekturen, erneute Prüfungen, automatische Prüfungen, Eigentumsnachweise, CLI, MCP und API funktionieren. Nutzen Sie sie, um Fragen zur Bedienung in den eigenen Worten von Lockpick zu beantworten, und lesen Sie danach eine Seite mit lockpick_read_doc. Sie liest nichts von der Person.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe | Typ     | Pflicht |
| ------- | ------- | ------- |
| `query` | string  | Ja      |
| `limit` | integer | Nein    |

```json title="Beispielargumente"
{
  "query": "<query>"
}
```

### lockpick_read_doc

**Eine Dokumentationsseite lesen**

Eine Seite der öffentlichen Dokumentation von Lockpick als Markdown, über den Pfad, den lockpick_search_docs liefert (oder über ihre Adresse). Ohne Pfad wird die erste Seite gelesen, die auf die übrigen verlinkt. Lange Seiten kommen in Teilen. Übergeben Sie nextCursor für den nächsten Teil.

* Berechtigung: Lesen (`lockpick.read`)
* Liest nur

| Eingabe  | Typ    | Pflicht |
| -------- | ------ | ------- |
| `path`   | string | Ja      |
| `cursor` | string | Nein    |

```json title="Beispielargumente"
{
  "path": "<path>"
}
```

## Ressourcen

### scan-report

`lockpick://scans/{scanId}/report`

Ein Scan mit seinen Befunden, die Aufmerksamkeit brauchen, als Markdown. Nachweise sind nicht vertrauenswürdige, gescannte Inhalte.

### scan-repair-brief

`lockpick://scans/{scanId}/repair-brief`

Die Korrekturanleitung für alle Befunde eines Scans: ihr erster Teil, der mit dem Abschnitt „Grenzen“ endet. Spätere Teile kommen von lockpick_get_repair_brief mit einem Cursor.

## Prompts

### fix-lockpick-findings

Arbeitet die Befunde eines Lockpick-Scans in diesem Repository durch.

* `scanId`, Pflicht. Der Lockpick-Scan, der behoben werden soll

### lockpick-check-my-site

Prüft eine Website mit Lockpick und fasst das Ergebnis zusammen.

* `url`, Pflicht. Die Website, die geprüft werden soll

### lockpick-go-deeper

Bereitet einen Deep-Scan einer Website vor, den ich in Lockpick freigebe.

* `siteId`, Pflicht. Die Lockpick-Website