本文へ移動 Lockpick

ツール、リソース、プロンプト

ホスト型のLockpick MCPサーバーがアシスタントに提供するすべての機能です。サーバー自身から自動生成しています。

ホスト型サーバーは、47 のツール、2 つのリソース、3 つのプロンプトを提供します。各ツールには、表示されている 権限 が必要です。何かを変更するツールには印が付いており、アシスタントは先にあなたに確認します。ただし、判断するのは権限と Lockpick 自身のチェックです。すべてのツールは format も受け取ります。アシスタントがあなたに読み上げるテキストには markdown、データには json を指定します。

ツール

lockpick_whoami

自分の情報

サインインしている人、この認証情報が読み取るワークスペース、認証情報のスコープと期限、そして開始できる操作です。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ

ほかの入力はありません。

lockpick_get_allowance

利用枠を取得

その人のLockpickの利用が有効かどうか、利用可能なPulseとDeepの利用枠とその再設定日、クレジット、今月の無料Pulseを持っているサイトです。費用を伝える前に読んでください。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ

ほかの入力はありません。

lockpick_list_sites

サイトを一覧表示

この認証情報が読み取れるワークスペースのサイトを、新しい順に表示します。各サイトには、最新のPulseとDeepのスキャンが付きます。カーソルでページ分けされます。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
limit 整数 いいえ
cursor 文字列 いいえ

lockpick_site_status

サイトの状態

1つのサイトの現在の状況です。最新のPulseとDeepのスキャンと、その評価、スコア、重大度ごとの未解決の検出事項、カバレッジの制限、最新の再チェックの差分、今注目すべきことを含みます。注目すべきことには、固定されたバージョンに影響するアドバイザリ、影響するかもしれないアドバイザリ、実際に確認されたコンポーネント、実際に悪用されているもの、最近の修正があり、それぞれに証拠が付きます。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_get_site_history

サイトの履歴

サイトのセキュリティ履歴: スキャンの深さごとのスコアの推移(Pulse、Standard、Deep は別々)、未解決の検出事項の推移、修正、再発、修正までの時間の中央値。newBaseline の付いた点は、その前の点とは別のエンジン、評価基準またはスコアリングポリシーで採点されたため、それより前のスコアはそれ以降のスコアと比較できません。修正とは、後の比較可能なスキャンでその検出事項が見られなくなったことを意味し、修正が証明されたことではありません。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_add_site

サイトを追加

アドレスでサイトをワークスペースに追加します。同じアドレスのサイトがあれば、それを返します。お持ちのサイト、またはテストを許可されたサイトだけに使います。サイトを追加しても、スキャンは開始されません。同じ idempotencyKey で再試行すると、同じサイトが返ります。

  • 権限: サイト(lockpick.sites)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
url 文字列 はい
name 文字列 いいえ
idempotencyKey 文字列 はい
引数の例
{
  "url": "https://atlas.example",
  "idempotencyKey": "a-unique-key"
}

lockpick_switch_free_site

無料枠のサイトを切り替え

その人のサイトを1つ削除して、今月の無料Pulseを別のサイトに移します。ユーザーが切り替えを依頼し、削除するサイトを名指ししたときだけ呼び出してください。その場合は、サイトのIDを removeSiteId として渡し、confirmRemoval: true を付けます。エージェントが勝手に選んだサイトを渡してはいけません。削除されたサイトは監視されなくなりますが、スキャンは引き続き読めます。マネージャーは、Lockpickでそのサイトを復元できます(restoreUrl)。checkId(新しいサイトのクイックチェック)を渡すと、そのサイトでPulseも開始します。その際、無料のPulseを1回使います。結果には、開始されたスキャン、課金、残りの利用枠が示されます。checkId を渡さなければ、何も開始されません。そのサイトのスキャンが実行中の場合、無料のPulseを空けられない場合、クイックチェックの期限が切れた場合、無料のPulseが残っていない場合は、何も削除されずに拒否されます。サイトは削除されたのに、Pulseを開始できなかった場合は、エラーにその旨が示され、Lockpickで開始するためのリンクが付きます。同じ idempotencyKey で再試行すると、同じ結果が返り、それ以上は何も変更されません。

  • 権限: サイト(lockpick.sites)と Pulseスキャン(lockpick.pulse)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
removeSiteId 文字列 はい
checkId 文字列 いいえ
idempotencyKey 文字列 はい
confirmRemoval 真偽値 はい
引数の例
{
  "removeSiteId": "<removeSiteId>",
  "idempotencyKey": "a-unique-key",
  "confirmRemoval": true
}

lockpick_list_scans

スキャンを一覧表示

スキャンを新しい順に表示します。サイト、種類、評価レベル(pulse、standard、deep)、状態で絞り込めます。各スキャンには評価とスコアが付きます。カーソルでページ分けされます。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
siteId 文字列 いいえ
kind pulse、box(Deep、旧名称) いいえ
assessmentLevel pulse、standard、deep いいえ
status queued、running、cancelling、succeeded、incomplete、failed、cancelled いいえ
limit 整数 いいえ
cursor 文字列 いいえ

lockpick_get_scan

スキャンを取得

1つのスキャンです。状態、レベル、評価とスコア、重大度ごとの未解決の検出事項、カバレッジ、確認されなかった項目を含みます。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
scanId 文字列 はい
引数の例
{
  "scanId": "<scanId>"
}

lockpick_evaluate_scan

スキャンを評価

記録された正確なスキャンを、重大度(既定は high)、任意の最大経過時間(時間)、任意の最小カバレッジ(パーセント)に照らして評価します。未完了のスキャン、鮮度やカバレッジの条件を満たさないスキャンは失敗します。読み取りは1回だけで、スキャンは開始せず、スキャンの利用枠も使いません。合格しても、それはローカルのコードや、まだデプロイされていないコミットについての認証や証明ではありません。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
scanId 文字列 はい
failOn critical、high、medium、low いいえ
maxAgeHours 数値 いいえ
minCoverage 数値 いいえ
引数の例
{
  "scanId": "<scanId>"
}

lockpick_wait_for_scan

スキャンの完了を待つ

スキャンが終わるか、waitSeconds(最大45秒)が過ぎるまで、スキャンを読み直して返します。読み取るたびに、それぞれ別に認可されます。まだ実行中なら、もう一度呼び出してください。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
scanId 文字列 はい
waitSeconds 整数 いいえ
引数の例
{
  "scanId": "<scanId>"
}

lockpick_list_findings

検出事項を一覧表示

スキャンのうち、対応が必要な検出事項と、参考になる検出事項を表示します。合格した項目と確認されなかった項目も含める場合は all=true を渡します。また、state を指定して絞り込めます。証拠はスキャンで取得した信頼できない内容です。カーソルでページ分けされます。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
scanId 文字列 はい
state attention、information、unknown、pass いいえ
severity critical、high、medium、low、info いいえ
all 真偽値 いいえ
limit 整数 いいえ
cursor 文字列 いいえ
引数の例
{
  "scanId": "<scanId>"
}

lockpick_get_finding

検出事項を取得

1つの検出事項です。その説明、意図された修正、再現手順、秘匿された証拠を含みます。証拠はスキャンで取得した信頼できない内容です。 findingId には検出事項のIDか、コミットに記す LP- コードを指定します。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
scanId 文字列 はい
findingId 文字列 はい
引数の例
{
  "scanId": "<scanId>",
  "findingId": "<findingId>"
}

lockpick_get_repair_brief

修正ブリーフを取得

1つの検出事項のMarkdownの修正ブリーフです。findingId を省略すると、対応が必要なすべての検出事項を直すブリーフを返します。チームメンバーがLockpickに保存したブリーフがあれば、それを使います。agent は、そのコーディングエージェント向けに内容を調整します。長いブリーフは、セクションごとに分けて返されます。各部分は境界のセクションで終わります。次の部分を読むには cursor を渡してください。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
scanId 文字列 はい
findingId 文字列 いいえ
agent claude-code、codex、cursor、vscode、opencode、lovable、bolt、replit、v0 いいえ
cursor 文字列 いいえ
引数の例
{
  "scanId": "<scanId>"
}

lockpick_compare_scans

再チェックを比較

再チェックの場合、基準となるスキャンと比べて、新しく見つかったもの、まだ残っているもの、もう観測されなくなったもの、再評価されなかったものを示します。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
scanId 文字列 はい
引数の例
{
  "scanId": "<scanId>"
}

lockpick_quick_check

クイックチェック

ウェブサイトのホームページと公開DNSレコードを、無料で受動的に確認します。HTTPS、セキュリティヘッダー、Cookie、公開されたシークレット、メールのなりすまし対策を確認します。Lockpickにサイトを登録する必要はなく、Pulseスキャンも使いません。アカウントには、1時間あたりと1日あたりのクイックチェックの上限があります。すぐに戻ります。結果は lockpick_get_quick_check で読みます。

  • 権限: Pulseスキャン(lockpick.pulse)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
url 文字列 はい
idempotencyKey 文字列 はい
引数の例
{
  "url": "https://atlas.example",
  "idempotencyKey": "a-unique-key"
}

lockpick_get_quick_check

クイックチェックを取得

その人が開始したクイックチェックです。評価、スコア、修正する価値のあるチェック項目を含みます。この人がこのワークスペースで開始したクイックチェックだけを読めます。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
checkId 文字列 はい
引数の例
{
  "checkId": "<checkId>"
}

lockpick_check_repository

リポジトリをチェック

AI コーディングエージェントにインストールする前の、公開 GitHub リポジトリの無料の静的レビューです。対象は、Claude Code プラグインやマーケットプレイス、エージェントスキル、MCP サーバーとその設定、またはアプリのエージェント設定(フック、設定、CLAUDE.md、AGENTS.md)です。任意の GitHub リンク、owner/repo、または README に記載されたインストールコマンドを渡してください。Lockpick は固定された1つのコミットを読み取り、何も実行しません。サイトは不要で、Pulseスキャンも使いません。アカウントには1時間あたりと1日あたりの上限があります。すぐに返されるので、結果は lockpick_get_repository_check で読み取ってください。 depth 'deep' は、本人が Deep リポジトリチェックを求めたときだけ渡してください。すべてのロックファイルと直近 50 件のコミットも漏えいしたキーがないか読み、より強いレビューを行い、プランの Deep スキャンを 1 回使います。

  • 権限: Pulseスキャン(lockpick.pulse)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
url 文字列 はい
mode skill、app いいえ
depth free, deep いいえ
idempotencyKey 文字列 はい
引数の例
{
  "url": "https://atlas.example",
  "idempotencyKey": "a-unique-key"
}

lockpick_get_repository_check

リポジトリチェックを取得

この人が開始したリポジトリチェックです。インストールの判定(またはアプリのリスク)、ファイルと行を含む指摘、カバレッジ、レポートへのリンクが含まれます。読み取れるのは、このワークスペースでこの人が開始したチェックだけです。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
checkId 文字列 はい
引数の例
{
  "checkId": "<checkId>"
}

lockpick_start_pulse

Pulseスキャンを開始

お持ちのサイト、またはテストを許可されたサイトでPulseスキャンを開始します(互換性がある場合は、最新のPulseの再チェック)。lockpick_get_allowance が示す利用枠から、Pulseスキャンを1回使います。費用を伝える前に、必ず読んでください。スキャン、課金、利用枠を示して、すぐに戻ります。続けて lockpick_wait_for_scan を呼び出してください。同じ idempotencyKey で再試行すると、同じスキャンが返り、それ以上は課金されません。Deepスキャンや Master Key は開始できません。

  • 権限: Pulseスキャン(lockpick.pulse)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
siteId 文字列 はい
idempotencyKey 文字列 はい
baselineScanId 文字列 いいえ
引数の例
{
  "siteId": "<siteId>",
  "idempotencyKey": "a-unique-key"
}

lockpick_start_deep_verification

Deepの所有証明を開始

Deepスキャンの前に、サイトの所有証明を発行します。DNSのTXTレコード、トップページのmetaタグ、またはその人がサイトのアドレスに公開するファイルのいずれかです。公開する内容をそのまま返します。値はこの応答にだけ表示されます。証明の期限は30分で、確認できる回数も限られています。

  • 権限: Deepスキャン(lockpick.deep)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
siteId 文字列 はい
method dns、file、meta はい
idempotencyKey 文字列 はい
引数の例
{
  "siteId": "<siteId>",
  "method": "dns",
  "idempotencyKey": "a-unique-key"
}

lockpick_check_deep_verification

Deepの所有証明を確認

サイトの公開された所有証明を1回確認し、その状態を返します。確認するたびに、証明の回数を1回使います。レコードやファイルを公開したとその人が言ってから、呼び出してください。

  • 権限: Deepスキャン(lockpick.deep)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
siteId 文字列 はい
verificationId 文字列 はい
引数の例
{
  "siteId": "<siteId>",
  "verificationId": "<verificationId>"
}

lockpick_prepare_deep

Deepスキャンを準備

所有証明が確認済みのサイトについて、Deepスキャンを準備します。費用と承認用のリンクを返します。その人がリンクを開き、Lockpickでこの正確なスキャンを承認するまで、何も開始されません。アシスタントが承認することはありません。同じ idempotencyKey で再試行すると、同じ準備済みのスキャンが返ります。

  • 権限: Deepスキャン(lockpick.deep)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
siteId 文字列 はい
verificationId 文字列 はい
idempotencyKey 文字列 はい
引数の例
{
  "siteId": "<siteId>",
  "verificationId": "<verificationId>",
  "idempotencyKey": "a-unique-key"
}

lockpick_start_deep

承認済みのDeepスキャンを開始

その人がLockpickで承認したDeepスキャンを、準備したときに示された費用で開始します。まだ承認されていない場合は、承認が必要であることとリンクを返します。もう一度呼び出すと、同じスキャンが返り、それ以上は課金されません。続けて lockpick_wait_for_scan を呼び出してください。

  • 権限: Deepスキャン(lockpick.deep)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
operationId 文字列 はい
引数の例
{
  "operationId": "<operationId>"
}

lockpick_recheck_dns

DNSを再チェック

無料です。その人がDNSレコードを変更した後、完了したスキャンのDNSの検出事項1件の裏にある公開DNSレコードを読み直します。サイトには一切アクセスせず、スキャンの評価も変わりません。1つのスキャンにつき1分に1回までです。実行中のチェックがあれば、それに参加します。完全な再チェックは lockpick_start_pulse で、Pulseスキャン1回分の費用がかかります。

  • 権限: Pulseスキャン(lockpick.pulse)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
scanId 文字列 はい
findingId 文字列 はい
idempotencyKey 文字列 はい
引数の例
{
  "scanId": "<scanId>",
  "findingId": "<findingId>",
  "idempotencyKey": "a-unique-key"
}

lockpick_get_dns_recheck

DNSの再チェックを取得

スキャンの最新の無料DNS再チェックです。DNSの検出事項ごとに、まだ観測される、もう観測されない、不明のいずれかを示します。スキャンの元の評価は変わりません。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
scanId 文字列 はい
引数の例
{
  "scanId": "<scanId>"
}

lockpick_recheck_finding

この修正を確認

無料: 完了したDeepスキャンの検出事項1件について、本人が修正をデプロイした後に、その検出事項が見つかったページ、スクリプト、パスだけを読み直し、修正済み、未解決、確認できず(理由つき)のいずれかを返します。サイトに数件のリクエストを送るため、本人が依頼したときだけ呼び出してください。検出事項ごとに1日5回、ワークスペースごとに1日50回までで、実行中の確認があればそれに合流します。スキャンの評価は変わりません。完全な再チェックは新しいDeepスキャンです。保留中の間は lockpick_get_finding_recheck を続けて呼び出してください。

  • 権限: Deepスキャン(lockpick.deep)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
scanId 文字列 はい
findingId 文字列 はい
idempotencyKey 文字列 はい
引数の例
{
  "scanId": "<scanId>",
  "findingId": "<findingId>",
  "idempotencyKey": "a-unique-key"
}

lockpick_get_finding_recheck

「この修正を確認」を取得

Deepスキャンの検出事項1件についての最新の「この修正を確認」: 確認が実行中かどうか、最新の結果(修正済み、未解決、確認できず。理由と読み直した各パスつき)、本日の残り回数。スキャンの元の評価は変わりません。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
scanId 文字列 はい
findingId 文字列 はい
引数の例
{
  "scanId": "<scanId>",
  "findingId": "<findingId>"
}

lockpick_send_dependencies

パッケージのバージョンを送信

サイトが固定しているパッケージ名と正確なバージョン(npm、PyPI、Composer、Go、RubyGems、Maven、crates.io、NuGet、Pub、Hex、Swift)を送ります。コード、パス、レジストリのアドレスは送りません。そのバージョンに影響する既知のアドバイザリと、修正済みのリリースを答えます。packages にはロックファイルから読み取った値を渡します。ローカルの lockpick mcp サーバーを使う場合は、path(プロジェクトのフォルダー)を渡せます。その場合、サーバーがロックファイル(package-lock.json、npm-shrinkwrap.json、pnpm-lock.yaml、yarn.lock、bun.lock、requirements.txt、poetry.lock、uv.lock、Pipfile.lock、pdm.lock、composer.lock、go.mod、Gemfile.lock、gems.locked、gradle.lockfile、Cargo.lock、packages.lock.json、pubspec.lock、mix.lock、Package.resolved、pom.xml)を自分で読み取ります。呼び出すたびに、サイトの一覧は置き換えられます。packages を空にすると、一覧は削除されます。その人が依頼したか、同意した場合にだけ呼び出してください。

  • 権限: サイト(lockpick.sites)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
inventory オブジェクト いいえ
siteId 文字列 はい
packages オブジェクトのリスト いいえ
sources list of package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock, bun.lock, bun.lockb, requirements.txt, poetry.lock, uv.lock, Pipfile.lock, pdm.lock, composer.lock, go.mod, Gemfile.lock, gems.locked, pom.xml, gradle.lockfile, buildscript-gradle.lockfile, build.gradle, build.gradle.kts, Cargo.lock, packages.lock.json, pubspec.lock, mix.lock, Package.resolved いいえ
path 文字列 いいえ
idempotencyKey 文字列 はい
引数の例
{
  "siteId": "<siteId>",
  "idempotencyKey": "a-unique-key"
}

GitHub リンクを取得

サイトの GitHub リンクです。リポジトリ、ブランチまたはコミット、チェック対象のロックファイル、各ロックファイルの最新の読み取り結果、Deep のプルリクエストセキュリティコメントがオンかどうか、本人の GitHub リストが有効かどうか、そしてサイトを管理していてリンクを変更できるかどうかを返します。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_list_github_repositories

自分の GitHub リポジトリを一覧表示

このワークスペースにおける本人の GitHub リストにあるリポジトリと、それぞれの既定ブランチです。サイトをすぐにリンクできるのは、これらのリポジトリだけです。search(owner/name の一部)で絞り込めます。このリストは本人が GitHub で最後に承認したものです。リストがない場合や 30 日を過ぎている場合は、空または古い状態になり、リンクすると代わりに承認ページが返されます。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
search 文字列 いいえ
limit 整数 いいえ

GitHub リポジトリをリンク

サイトを GitHub リポジトリ(owner/name)にリンクし、そのロックファイルを読み取ります。ref はブランチ、タグ、またはコミット(省略時は既定ブランチ)、lockfiles は 'auto'(リポジトリ内のすべてのロックファイル。読み取りのたびに探し直し、最大 20 個)か、そのままチェックするリポジトリ内のロックファイルのパスのリストです。省略した場合、同じリポジトリを再リンクすると以前に選んだリストを保持し、それ以外は 'auto' になります。本人がそのリポジトリをそのサイトにリンクするよう求めたときだけ呼び出してください。サイトを管理する人が必要です。リポジトリは、このワークスペースにおける本人の GitHub リスト(lockpick_list_github_repositories)に含まれている必要があります。含まれていない場合、結果は approvalUrl 付きの approval_required になります。そのリンクを本人に渡し、本人の代わりに開いたり承認したりせず、状態が確定する(linked、not_reachable、declined、failed、expired)まで pollAfterSeconds ごとに requestId を指定して lockpick_get_github_link_request を呼び出してください。

  • 権限: サイト(lockpick.sites)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
repository 文字列 はい
ref 文字列 いいえ
lockfiles 文字列または文字列のリスト いいえ
pullRequestComments on, off いいえ
siteId 文字列 はい
引数の例
{
  "repository": "<repository>",
  "siteId": "<siteId>"
}

GitHub リンクのリクエストを取得

本人の承認を待っている GitHub リンクの状況です。pending(ページはまだ開かれていない)、authorizing(本人が GitHub にいる)、または確定状態の linked(サイトのリンク付き)、not_reachable(GitHub が本人向けにそのリポジトリを返さなかった)、declined、failed、expired のいずれかです。状態が確定するまで、リンク結果の pollAfterSeconds ごとに確認してください。本人の代わりにページを開いたり承認したりしないでください。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
requestId 文字列 はい
引数の例
{
  "requestId": "<requestId>"
}

GitHub リポジトリのリンクを解除

サイトの GitHub リポジトリのリンクを解除し、ロックファイルの読み取り結果を破棄します。本人がリンクの解除を求めたときだけ呼び出してください。サイトを管理する人が必要です。GitHub 上の Lockpick App はアンインストールされません。リポジトリがリンクされていないサイトで解除しても、何も変わりません。

  • 権限: サイト(lockpick.sites)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_set_github_pr_comments

GitHub プルリクエストコメントを設定

サイトにリンクされたリポジトリについて、Deep のプルリクエストセキュリティコメントをオンまたはオフにします。オンのとき、Lockpick は各プルリクエストに、見つかった脆弱な依存関係をコメントします。本人が求めたときだけ呼び出してください。サイトを管理する人とリンク済みのリポジトリが必要です。オンにするには、lockpick_get_github_link の pullRequestComments.canEnable が必要です。サイトの GitHub リンクを返します。

  • 権限: サイト(lockpick.sites)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
enabled 真偽値 はい
siteId 文字列 はい
引数の例
{
  "enabled": true,
  "siteId": "<siteId>"
}

lockpick_get_schedules

自動チェックを取得

サイトの自動チェックです。PulseとDeepのスケジュール(それぞれ最大1つ。有効、一時停止中、削除済みのいずれかで、頻度、実行の目安にするUTCの時刻、次回の実行、同意の有効期限、前回の実行の結果を含みます)、プランで深さごとに選べる頻度、そしてこのLockpickサーバーで自動チェックが設定されているかどうかを返します。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_set_pulse_schedule

Pulseの自動チェックを設定

サイトのPulseの自動チェックを設定、変更、または再開します。その後は、その頻度でサイトのPulseスキャンを実行し、実行ごとに通常のPulseと同じく利用枠を使います。cadence は daily、weekly、monthly のいずれかで、その深さでプランが許可するものでなければなりません(lockpick_get_schedules の allowed)。runHourUtc は実行の目安にするUTCの時刻(0-23)で、null はいつでもを意味します。新しいスケジュールには cadence が必要です。既存のスケジュールは省略した項目をそのまま保ち、一時停止中または削除済みのスケジュールは再開されます。そのため、cadence なしで呼び出すと再開になります。本人が依頼したときだけ呼び出してください。そのサイトでスキャンを開始できる人が必要です。スケジュールを返します。

  • 権限: Pulseスキャン(lockpick.pulse)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
cadence daily, weekly, monthly いいえ
runHourUtc 整数または null いいえ
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_pause_pulse_schedule

Pulseの自動チェックを一時停止

サイトのPulseの自動チェックをすぐに一時停止します。lockpick_set_pulse_schedule で再開するまで、予定されたPulseは実行されません。一時停止はプランにかかわらず常に可能です。スケジュールを返します。

  • 権限: Pulseスキャン(lockpick.pulse)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_prepare_deep_schedule

Deepの自動チェックを準備

サイトのDeepの自動チェックの設定、変更、または再開を準備し、approvalUrl を返します。このツール自体は何も変更しません。本人がリンクを開き、Lockpickでこの正確なスケジュールを承認するまで、何も設定されません。アシスタントが承認することはありません。本人にリンクを渡し、状態が確定する(approved、declined、failed、expired)まで、pollAfterSeconds ごとに requestId を付けて lockpick_get_schedule_request を呼び出してください。cadence は daily、weekly、monthly のいずれかで、その深さでプランが許可するものでなければなりません(lockpick_get_schedules の allowed)。runHourUtc は実行の目安にするUTCの時刻(0-23)で、null はいつでもを意味します。新しいスケジュールには cadence が必要です。既存のスケジュールは省略した項目をそのまま保ち、一時停止中または削除済みのスケジュールは再開されます。そのため、cadence なしで呼び出すと再開になります。

  • 権限: Deepスキャン(lockpick.deep)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
cadence daily, weekly, monthly いいえ
runHourUtc 整数または null いいえ
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_pause_deep_schedule

Deepの自動チェックを一時停止

サイトのDeepの自動チェックを、承認ページなしですぐに一時停止します。lockpick_prepare_deep_schedule と本人の承認で再開するまで、予定されたDeepは実行されません。一時停止はプランにかかわらず常に可能です。スケジュールを返します。

  • 権限: Deepスキャン(lockpick.deep)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_get_schedule_request

Deepの自動チェックのリクエストを取得

本人の承認を待っているDeepの自動チェックの状況です。pending、または確定状態の approved(スケジュール付き)、declined、failed(failure にスケジュールを設定できなかった理由が入ります)、expired のいずれかです。状態が確定するまで、lockpick_prepare_deep_schedule の pollAfterSeconds ごとに確認してください。本人の代わりにページを開いたり承認したりしないでください。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
requestId 文字列 はい
引数の例
{
  "requestId": "<requestId>"
}

lockpick_list_shares

共有リンクを一覧表示

有効な公開共有リンクがある、サイトのPulseの結果です。新しい順に並び、それぞれ共有した日時が付きます。リンク自体は再表示されません。replace を付けて lockpick_share_scan を呼び出すと、新しいリンクを作成します。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
siteId 文字列 はい
引数の例
{
  "siteId": "<siteId>"
}

lockpick_share_scan

Pulseの結果を共有

完了したPulseの結果を公開リンクで公開します。リンクを持っている人は誰でも、サインインせずに開けます。本人がその結果の共有を依頼したときだけ呼び出してください。Deepの結果は共有されません。url が返るのは、リンクを作成した呼び出しだけです。結果がすでに共有されている場合、url は null です。replace: true を指定すると新しいリンクを作成し、古いリンクは使えなくなります。lockpick_unshare_scan で共有を停止します。

  • 権限: Pulseスキャン(lockpick.pulse)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
replace 真偽値 いいえ
scanId 文字列 はい
引数の例
{
  "scanId": "<scanId>"
}

lockpick_unshare_scan

Pulseの結果の共有を停止

Pulseの結果の共有を停止します。その公開リンクは、持っている全員に対してすぐに使えなくなります。本人が依頼したときだけ呼び出してください。lockpick_share_scan で、新しいリンクを使って再び共有できます。

  • 権限: Pulseスキャン(lockpick.pulse)
  • 変更を伴うため、アシスタントは先に確認します
入力 型 必須
scanId 文字列 はい
引数の例
{
  "scanId": "<scanId>"
}

lockpick_monitor

セキュリティ情報

現在のセキュリティアドバイザリと、悪意のあるパッケージのレポートを閲覧します。または、この認証情報が読み取れるサイトとの一致を説明します。1つのサイトには siteId、1つのレコードには advisoryId を使います。提出されたインベントリは、デプロイされたことや悪用されたことを証明するものではありません。スキャンは開始しません。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
view latest、sites、exploited、following いいえ
kind all、vulnerability、malicious_package いいえ
q 文字列 いいえ
ecosystem all、npm、pypi、composer、go、rubygems、maven、wordpress いいえ
severity all、critical、high、medium、low、unknown いいえ
days 数値 いいえ
cursor 文字列 いいえ
limit 整数 いいえ
siteId 文字列 いいえ
advisoryId 文字列 いいえ

lockpick_search_docs

ドキュメントを検索

Lockpickの公開ドキュメントをキーワードで検索します。スキャン、レポート、修正、再チェック、自動チェック、所有証明、CLI、MCP、APIの仕組みが対象です。使い方の質問に、Lockpick自身の言葉で答えるために使います。その後 lockpick_read_doc でページを読んでください。その人のデータは一切読みません。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
query 文字列 はい
limit 整数 いいえ
引数の例
{
  "query": "<query>"
}

lockpick_read_doc

ドキュメントのページを読む

Lockpickの公開ドキュメントの1ページを、Markdownで返します。パスは lockpick_search_docs が示したもの、またはそのアドレスを指定します。パスを省略すると、残りのページへのリンクがある最初のページを読みます。長いページは分けて返されます。次の部分を読むには nextCursor を渡してください。

  • 権限: 読み取り(lockpick.read)
  • 読み取りのみ
入力 型 必須
path 文字列 はい
cursor 文字列 いいえ
引数の例
{
  "path": "<path>"
}

リソース

scan-report

lockpick://scans/{scanId}/report

スキャンと、対応が必要な検出事項を、Markdownで示したものです。証拠はスキャンで取得した信頼できない内容です。

scan-repair-brief

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

スキャンのすべてを直すブリーフです。最初の部分を示し、それは境界のセクションで終わります。以降の部分は、カーソルを付けて lockpick_get_repair_brief から取得します。

プロンプト

fix-lockpick-findings

このリポジトリで、Lockpickスキャンの検出事項を順に修正します。

  • scanId、必須。修正するLockpickのスキャン

lockpick-check-my-site

Lockpickでウェブサイトを確認し、結果を要約します。

  • url、必須。確認するウェブサイト

lockpick-go-deeper

サイトのDeepスキャンを準備します。Lockpickで私が承認します。

  • siteId、必須。Lockpickのサイト

このページは役に立ちましたか?