cybrlab-ai avatar

PreClick — An MCP-native URL preflight scanning service for autonomous agents.

cybrlab-ai/preclick-mcp

Scans URLs for phishing, malware, and other threats before your agent clicks through, with optional intent matching to verify the link actually leads where your task expects. Exposes `url_scanner_scan` and `url_scanner_scan_with_intent` tools over streamable HTTP. Works in stateless mode by default at preclick.ai/mcp with a 100 request/day trial tier, no key required. Task-augmented mode queues scans asynchronously and returns a task ID you poll for results. Also ships standalone Python and Node clients if you want scan results without managing MCP protocol details. Useful when you're building agents that navigate the web autonomously and need a security layer before following links scraped from emails, search results, or user input.

GitHub stars
6
tools
6
auth
Secret needed
transport
HTTP
last updated
Apr 3, 2026

Install

From registry metadata
$ npx add-mcp https://preclick.ai/mcp --name preclick-mcp --header 'X-API-Key: ${X_API_KEY}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http preclick-mcp https://preclick.ai/mcp --header 'X-API-Key: YOUR_X_API_KEY'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 6 tools

Verified live against the running server on Nov 6, 2026.

url_scanner_async_scanSubmit 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...1 params

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...

Parameters* required
url*string
The URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.
url_scanner_async_scan_with_intentSubmit 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_inten...2 params

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_inten...

Parameters* required
intentstring
Optional user intent for visiting the URL. Recommended for additional context.
url*string
The URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.
url_scanner_async_task_resultRetrieve 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.1 params

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.

Parameters* required
task_id*string
The task ID to retrieve the result for.
url_scanner_async_task_statusCheck 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.1 params

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.

Parameters* required
task_id*string
The task ID to check status for.
url_scanner_scanAnalyze 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, pre...1 params

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, pre...

Parameters* required
url*string
The URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.
url_scanner_scan_with_intentAnalyze 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 im...2 params

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 im...

Parameters* required
intentstring
Optional user intent for visiting the URL. Recommended for additional context.
url*string
The URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.

Sponsors

Readme

PreClick MCP Server

smithery badge

PreClick — An MCP-native URL preflight scanning service for autonomous agents. It scans links for threats and confirms they match the intended task before execution. Built for agentic workflows, it provides high-accuracy, context-aware browsing governance with adaptive learning.

Publisher: CybrLab.ai | Service: PreClick

Hosted Trial Tier: No API key required for up to 100 requests/day. For higher limits and stable quotas, use an API key (contact contact@cybrlab.ai).


Overview

PreClick is a URL security scanner and MCP server that enables AI agents and any client to analyze URLs for phishing, malware, and other security threats before navigation. Use it as a standalone URL scanner via the client libraries below, or connect directly via the MCP protocol.

Integrations

Client Libraries (Recommended)


View the full README on GitHub

Details

Repository
github.com/cybrlab-ai/preclick-mcp
Website
preclick.ai
Transport
HTTP
Auth
Required
Registry
MCP registry, active
Tools verified
Nov 6, 2026

More from cybrlab-ai