{"name":"ai.preclick/preclick-mcp","slug":"preclick-mcp","title":"PreClick — An MCP-native URL preflight scanning service for autonomous agents.","description":"PreClick scans links for threats and confirms intent match with high accuracy before agents click.","url":"https://mcp.market/server/preclick-mcp","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":22,"stars":6,"forks":1,"downloads_week":null,"last_push_at":"2026-04-12T19:46:45.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T02:45:41.537Z","last_ok_at":"2026-11-04T02:45:41.537Z","latency_ms":111},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/cybrlab-ai/preclick-mcp","website":"https://preclick.ai","version":"0.3.6","remotes":[{"type":"streamable-http","url":"https://preclick.ai/mcp","headers":[{"description":"Optional for hosted trial access (up to 100 requests/day). Required for higher limits.","isSecret":true,"placeholder":"<your-api-key>","name":"X-API-Key"}]}],"packages":[],"tools":[{"name":"url_scanner_async_scan","description":"Submit a URL for asynchronous security analysis. Returns immediately with a task_id. Poll with url_scanner_async_task_status to check progress, then url_scanner_async_task_result to get the scan result. Async counterpart of url_scanner_scan for clients without native MCP Tasks support.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"description":"The URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.","type":"string"}},"required":["url"],"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Request parameters for url_scanner_async_scan tool.","title":"AsyncScanRequest"}},{"name":"url_scanner_async_scan_with_intent","description":"Submit a URL with optional user intent for asynchronous security analysis. Returns immediately with a task_id. Poll with url_scanner_async_task_status to check progress, then url_scanner_async_task_result to get the scan result. Async counterpart of url_scanner_scan_with_intent for clients without native MCP Tasks support.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"intent":{"description":"Optional user intent for visiting the URL. Recommended for additional context.","type":["string","null"]},"url":{"description":"The URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.","type":"string"}},"required":["url"],"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Request parameters for url_scanner_async_scan_with_intent tool.","title":"AsyncScanWithIntentRequest"}},{"name":"url_scanner_async_task_result","description":"Retrieve the result of an asynchronous scan task. If completed, returns the full scan result (risk_score, confidence, agent_access_directive, etc.). If still running, returns status with retry_after_ms — call again after that interval. Non-blocking.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"task_id":{"description":"The task ID to retrieve the result for.","type":"string"}},"required":["task_id"],"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Request parameters for url_scanner_async_task_result tool.","title":"AsyncTaskResultRequest"}},{"name":"url_scanner_async_task_status","description":"Check the status of an asynchronous scan task. Returns the current task status using native MCP task semantics (working, completed, failed, cancelled) without blocking. Use url_scanner_async_task_result to retrieve the result once completed.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"task_id":{"description":"The task ID to check status for.","type":"string"}},"required":["task_id"],"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Request parameters for url_scanner_async_task_status tool.","title":"AsyncTaskStatusRequest"}},{"name":"url_scanner_scan","description":"Analyze a URL for security threats (synchronous, blocks until complete or timeout). Returns risk score, confidence, agent access guidance, and intent_alignment (always not_provided for this tool; use url_scanner_scan_with_intent for intent context). For long-running scans, prefer url_scanner_async_scan which returns immediately with a task_id for polling via url_scanner_async_task_result.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"description":"The URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.","type":"string"}},"required":["url"],"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Request parameters for url_scanner_scan tool.\n\nThe URL parameter accepts both encoded and unencoded URLs.\nIf no scheme is provided, https:// is assumed.","title":"ScanRequest"}},{"name":"url_scanner_scan_with_intent","description":"Analyze a URL for security threats with optional user intent context (synchronous, blocks until complete or timeout). Returns risk score, confidence, agent access guidance, and intent_alignment. For long-running scans, prefer url_scanner_async_scan_with_intent which returns immediately with a task_id for polling via url_scanner_async_task_result.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"intent":{"description":"Optional user intent for visiting the URL. Recommended for additional context.","type":["string","null"]},"url":{"description":"The URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.","type":"string"}},"required":["url"],"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Request parameters for url_scanner_scan_with_intent tool.\n\nThe URL parameter accepts both encoded and unencoded URLs.\nIf no scheme is provided, https:// is assumed.","title":"ScanWithIntentRequest"}}],"scan":{"score":75,"grade":"B","scanned_at":"2026-09-27T23:17:22.763Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T23:17:22.704Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 2790ms"]},"poisoning":{"score":15,"max":15,"notes":["6 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":8,"max":15,"notes":["last push 168 days ago"]},"identity":{"score":8,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://preclick.ai/mcp","reachable":true,"authRequired":false,"latencyMs":2790,"serverInfo":{"name":"ai.preclick/preclick-mcp","version":"0.3.6"}}],"packages":[],"repo":{"found":true,"owner":"cybrlab-ai","repo":"preclick-mcp","archived":false,"pushedAt":"2026-04-12T19:46:45Z","stars":6,"forks":1,"openIssues":2,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/158847358?v=4","ownerCreatedAt":"2024-02-04T18:20:02Z","license":"Apache-2.0"},"icon":{"url":"https://preclick.ai/favicon.png","source":"site","width":779,"height":766},"presence":{"stars":6,"forks":1,"downloadsWeek":null,"license":"Apache-2.0","lastPushAt":"2026-04-12T19:46:45.000Z","score":22}}}},"grade_history":[],"reviews":[]}