ツール、リソース、プロンプト
ホスト型のLockpick MCPサーバーがアシスタントに提供するすべての機能です。サーバー自身から自動生成しています。
ホスト型サーバーは、29 のツール、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_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_send_dependencies
パッケージのバージョンを送信
サイトが固定しているパッケージ名と正確なバージョン(npmとPyPI)を送ります。コード、パス、レジストリのアドレスは送りません。そのバージョンに影響する既知のアドバイザリと、修正済みのリリースを答えます。packages にはロックファイルから読み取った値を渡します。ローカルの lockpick mcp サーバーを使う場合は、path(プロジェクトのフォルダー)を渡せます。その場合、サーバーがロックファイル(package-lock.json、npm-shrinkwrap.json、pnpm-lock.yaml、yarn.lock、requirements.txt、poetry.lock)を自分で読み取ります。呼び出すたびに、サイトの一覧は置き換えられます。packages を空にすると、一覧は削除されます。その人が依頼したか、同意した場合にだけ呼び出してください。
- 権限: サイト(
lockpick.sites) - 変更を伴うため、アシスタントは先に確認します
| 入力 | 型 | 必須 |
|---|---|---|
inventory | オブジェクト | いいえ |
siteId | 文字列 | はい |
packages | オブジェクトのリスト | いいえ |
sources | package-lock.json、npm-shrinkwrap.json、pnpm-lock.yaml、yarn.lock、requirements.txt、poetry.lock のリスト | いいえ |
path | 文字列 | いいえ |
idempotencyKey | 文字列 | はい |
{
"siteId": "<siteId>",
"idempotencyKey": "a-unique-key"
}lockpick_monitor
セキュリティ情報
現在のセキュリティアドバイザリと、悪意のあるパッケージのレポートを閲覧します。または、この認証情報が読み取れるサイトとの一致を説明します。1つのサイトには siteId、1つのレコードには advisoryId を使います。提出されたインベントリは、デプロイされたことや悪用されたことを証明するものではありません。スキャンは開始しません。
- 権限: 読み取り(
lockpick.read) - 読み取りのみ
| 入力 | 型 | 必須 |
|---|---|---|
view | latest、sites、exploited、following | いいえ |
kind | all、vulnerability、malicious_package | いいえ |
q | 文字列 | いいえ |
ecosystem | all、npm、pypi、composer、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のサイト
このページは役に立ちましたか?