linkguard について
linkguardは、URLの安全性チェックをホスト型PreClickサービスへ転送するローカルstdioのMCPサーバー兼コマンドラインツールです。即時・非同期スキャンに加え、訪問目的に照らした確認もできます。
主な機能
- 01同期URLスキャン
- 02タスク確認付き非同期スキャン
- 03意図に基づくURLチェック
- 04ホスト型PreClickエンドポイントへの転送
- 05任意のAPIキーとエンドポイント指定
活用シーン
- 01エージェントがリンクを開く前の確認
- 02ページが訪問目的に合うかの評価
- 03時間のかかるスキャンの依頼と後からの結果取得
MCP 対応
MCPサーバーは、同期・非同期スキャン、意図に基づく確認、タスク状態、結果取得のツールを提供します。呼び出しはホスト型PreClickリモートMCPエンドポイントへ転送されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | スキャンする URL。 |
詳細
linkguard
linkguard は、ホスト型 URL 安全性スキャナー用のローカル stdio フロントエンドです。エージェントがリンクを開く前に、linkguard はホスト型サービスに URL の検査を依頼できます。即時判定が必要な場合は同期的に、スキャンに時間がかかる場合は非同期的に実行できます。また、アクセスする理由を伝えると、そのページが実際にその目的に合致しているかどうかも確認できます。
linkguard 自体は何もスキャンしません。各ツール呼び出しは JSON-RPC の tools/call POST として、ホスト型 PreClick リモート MCP エンドポイント https://preclick.ai/mcp に転送され、上流からの応答は実質的にそのまま返されます。プレーンな JSON 応答と text/event-stream(SSE)応答の両方に対応しています。スキャンの品質、可用性、レート制限はホスト型サービスに依存します。
PRECLICK_API_KEY は任意です。設定すると、ホスト型エンドポイントのドキュメントに記載されている X-API-Key ヘッダーとして送信されます。設定されていない場合、このヘッダーは送信されず、キー不要のトライアルプランが適用されます。
LINKGUARD_ENDPOINT を設定すると、エンドポイント URL が上書きされます。
インテントのテキストは上流サービスによって 248 文字に制限されています。linkguard は送信前にローカルでこの制限を適用します。
インストール
npx @reneturcios/linkguard scan https://example.com
docker run -i ghcr.io/cloudcorprecords/linkguard
CLI
linkguard scan https://example.com
linkguard scan-intent https://example.com --intent "pay an invoice"
linkguard async-scan https://example.com
linkguard async-scan-intent https://example.com --intent "read the docs"
linkguard status <task_id>
linkguard result <task_id>
linkguard --version
非同期コマンドは task_id を即座に返します。status でポーリングし、完了したスキャンを result で取得してください。
終了コード:0 は成功、1 は上流または検証エラー、2 は使用方法のエラーです。
MCP サーバー
npx -y @reneturcios/linkguard mcp
{
"mcpServers": {
"linkguard": {
"command": "npx",
"args": ["-y", "@reneturcios/linkguard", "mcp"],
"env": { "PRECLICK_API_KEY": "your-key-if-you-have-one" }
}
}
}
env ブロックは任意です。
ツール
| ツール | 入力 | 返される内容 |
|---|---|---|
url_scanner_scan | url(文字列、必須) | URL に対する上流のスキャン判定を同期的に返します。 |
url_scanner_scan_with_intent | url(文字列、必須)、intent(文字列、任意、最大 248 文字) | 指定されたインテントに照らして判定された上流の判定結果を返します。 |
url_scanner_async_scan | url(文字列、必須) | 送信されたスキャンの task_id を即座に返します。 |
url_scanner_async_scan_with_intent | url(文字列、必須)、intent(文字列、任意、最大 248 文字) | インテントを考慮したスキャンの task_id を返します。 |
url_scanner_async_task_status | task_id(文字列、必須) | 非同期タスクの現在のステータスを返します。 |
url_scanner_async_task_result | task_id(文字列、必須) | 完了したスキャン結果、または実行中のタスクのステータスを返します。 |
上流の障害(HTTP エラー、JSON-RPC エラー、ホストに到達できない場合)は、原因となったメッセージを含むツールエラーとして報告されます。
開発
npm install
npm run build
npm test
npm run dev
テストはすべて、プレーン JSON と SSE の上流レスポンスボディを含む、偽の fetch フィクスチャ上で実行されます。ネットワークは使用されず、ホスト型エンドポイントへの実際の呼び出しも行われません。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。