Skip to main content
Glama

PreClick — An MCP-native URL preflight scanning service for autonomous agents (formerly URLCheck).

Server Details

PreClick scans links for threats and confirms intent match with high accuracy before agents click.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
cybrlab-ai/preclick-mcp
GitHub Stars
6
Server Listing
PreClick MCP Server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation4/5

The tools are clearly grouped into synchronous and asynchronous scanning pairs with intent variants, making their purposes distinct. However, the async status and result tools could be slightly confusing as separate tools when they serve closely related polling functions.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with clear prefixes (url_scanner_) and descriptive suffixes (async_scan, scan_with_intent, async_task_status). The naming is highly predictable and systematic throughout.

Tool Count5/5

With 6 tools, the server provides a well-scoped set that covers both synchronous and asynchronous scanning workflows, including intent variants and polling mechanisms. This count is appropriate for a focused URL scanning service.

Completeness5/5

The tool set offers complete coverage for URL scanning: synchronous and asynchronous modes, with and without intent, plus status checking and result retrieval. There are no obvious gaps for the domain, supporting full agent workflows without dead ends.

Available Tools

6 tools
url_scanner_async_scanA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=true, destructiveHint=false), the description discloses key behavioral traits: it returns immediately with a task_id and requires polling via two specific sibling tools. This adds valuable context about the async nature, which annotations alone do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, front-loaded with the main verb and resource, and each sentence adds necessary information (action, immediate return, polling steps, sync alternative). No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter async tool with rich annotations and no output schema, the description fully covers the invocation and follow-up workflow. It explains what returns, how to poll, and when to use it, making it complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage of the only parameter (url) with a clear description including scheme handling. The description does not add additional parameter details, so the baseline score of 3 is appropriate since the schema carries the semantic weight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Submit a URL'), the resource ('URL'), and the purpose ('asynchronous security analysis'). It also distinguishes this tool from its sync counterpart by specifying it returns immediately with a task_id and is designed for clients without native MCP Tasks support.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use this tool instead of url_scanner_scan ('for clients without native MCP Tasks support') and provides the full workflow: submit, poll with url_scanner_async_task_status, then get results with url_scanner_async_task_result. This is clear usage guidance with an alternative named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

url_scanner_async_scan_with_intentA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.
intentNoOptional user intent for visiting the URL. Recommended for additional context.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavioral context beyond annotations: it returns immediately with a task_id and requires polling. It also clarifies it is an async counterpart. Annotations already declare read-only and non-destructive, so this is well-covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, each providing essential information: the action, the async return, and the polling workflow. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description fully explains the async behavior, how to retrieve results, and the relationship to the sync version. This is sufficient for an agent to correctly invoke and use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage for both parameters, with descriptions for url and intent. The tool description adds no additional parameter semantics beyond what the schema already states, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as submitting a URL for asynchronous security analysis, returning a task_id immediately. It distinguishes itself from the sync version and from other async siblings by mentioning the polling workflow and the 'with_intent' variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use this tool (for clients without MCP Tasks support) and provides the complete workflow: submit, poll with url_scanner_async_task_status, then get result with url_scanner_async_task_result. This effectively guides against using the sync counterpart unless MCP Tasks is supported.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

url_scanner_async_task_resultA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID to retrieve the result for.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavioral context beyond the readOnlyHint and destructiveHint annotations: non-blocking, retry-after interval, and partial status when incomplete. It also lists example result fields, providing a clear picture of the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three well-structured sentences, front-loaded with purpose, and every sentence adds value. No redundant or vague wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description sufficiently explains both possible outcomes (completed vs. running), the retry mechanism, and example return fields. It is as complete as needed for an async result retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents the single parameter, task_id, with a clear description. The tool description adds no additional parameter meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves the result of an asynchronous scan task, with specifics on completed vs. running states. It distinguishes from the sibling 'url_scanner_async_task_status' by focusing on result retrieval, though it doesn't explicitly name the alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives implied usage guidance: call again after retry_after_ms, and it is non-blocking. However, it does not explicitly contrast with sibling tools like url_scanner_async_task_status or state when to use one over the other.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

url_scanner_async_task_statusA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID to check status for.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context by specifying the native MCP task semantics (working, completed, failed, cancelled) and the non-blocking behavior. This goes beyond the annotation baseline, though it does not cover error handling or polling details, so a 4 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary purpose, followed by a concise pointer to the sibling tool. Every word earns its place with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, and the description covers purpose, semantics, and alternative tool usage. The absence of an output schema is mitigated by listing the possible status values. Minor omissions include how the task_id is obtained (implied by sibling async scan tools) and any error conditions, but these are not critical for this straightforward status-check tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter (task_id) already described as 'The task ID to check status for.' The description does not add additional semantics beyond what the schema provides, so the baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Check the status of an asynchronous scan task.' It uses a specific verb ('check') and resource ('status'), and explicitly differentiates from the sibling result-retrieval tool by mentioning 'Use url_scanner_async_task_result to retrieve the result once completed.' This is unambiguous and distinguishes it from the other async tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: to check status without blocking. It also names the alternative (url_scanner_async_task_result) for retrieving results after completion, making the usage context and decision boundary clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

url_scanner_scanA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=true), the description discloses synchronous blocking behavior, timeout, and return fields (risk score, confidence, agent access guidance, intent_alignment). It also states that intent_alignment is always not_provided, which is a key behavioral trait.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is two sentences, front-loaded with purpose and key behavior, then immediately provides guidance on alternatives. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explicitly lists return fields. It covers synchronous behavior, safety profile (via annotations), and alternative tools, making it complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides 100% coverage with a clear description of the url parameter, including scheme assumptions and encoded/unencoded handling. The description adds no new parameter semantics, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb and resource: "Analyze a URL for security threats." It clearly distinguishes from siblings by noting synchronous behavior and absence of intent context ("intent_alignment (always not_provided for this tool)").

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided: "For long-running scans, prefer url_scanner_async_scan" and "use url_scanner_scan_with_intent for intent context." This tells the agent when to use this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

url_scanner_scan_with_intentA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to analyze. Must be HTTP or HTTPS. If no scheme provided, https:// is assumed.
intentNoOptional user intent for visiting the URL. Recommended for additional context.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds valuable context: synchronous blocking behavior with timeout, and the return fields (risk score, confidence, agent access guidance, intent_alignment). This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the core purpose and behavior, and the second sentence provides the alternative. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description lists the key return fields. It also explains the synchronous behavior and points to the async alternative. Minor gaps include unspecified timeout duration and error handling, but overall it is complete for the tool's complexity and annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear descriptions for both url and intent parameters. The description only re-iterates 'optional user intent context' without adding new meaning, so it does not elevate above the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Analyze a URL for security threats' with optional user intent context, providing a specific verb and resource. It also distinguishes from the async sibling by explicitly mentioning synchronous blocking behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use the async alternative: '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.' This provides clear guidance on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    -
    quality
    B
    maintenance
    Enables agents to verify the authenticity of inbound email messages via SPF, DKIM, DMARC, and ARC checks, detect sender spoofing and malicious links/attachments, and obtain signed, verifiable attestations of the verdict.
    1
  • A
    license
    -
    quality
    B
    maintenance
    Enables AI agents to scan GitHub repositories and user profiles for malware signals before cloning, providing risk verdicts pinned to specific commits.
    72
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Protects AI agents from threats like prompt injection, jailbreaks, and SQL injection through a multi-layer scanning pipeline. It also enables PII redaction and rehydration to ensure data privacy during LLM interactions.
    12
    127
    1
    Apache 2.0
  • A
    license
    -
    quality
    B
    maintenance
    Pre-spend trust layer for agents paying over x402 on Solana, providing seller vetting and readiness checks before USDC leaves the wallet.
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.