Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
PreClick scans links for threats and confirms intent match with high accuracy before agents click.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
X-API-Key标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http urlcheck https://urlcheck.ai/mcp --header 'X-API-Key: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"urlcheck": {
"url": "https://urlcheck.ai/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"urlcheck": {
"type": "http",
"url": "https://urlcheck.ai/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
X-API-Key 机密 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
发布者(urlcheck.ai)不是仓库所有者(cybrlab-ai);可能是其他人代为上架的
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 0 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:X-API-Key
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(0.1.5)于8个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, TF Rooms
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Live room availability, rates and stay quotes for 12 New Leaf motels in Twin Falls, Idaho.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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).
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.
The fastest way to add URL security scanning to any AI agent, automation pipeline, or application. These standalone URL scanner clients handle connection, polling, and error recovery out of the box — no MCP protocol knowledge or conformance required:
| Package | Language | Install | Repository |
|---|---|---|---|
preclick | Python (async, 3.10+) | pip install preclick | preclick-python |
@cybrlab/preclick-mcp-client | JavaScript/Node.js (20+) | npm install @cybrlab/preclick-mcp-client | preclick-mcp-client |
Both libraries provide a simple scan-oriented URL security scanning API (scan(url) / scanWithIntent(url, intent)) that returns results directly — phishing detection, threat analysis, and intent alignment in a single call. No protocol vocabulary, no connect() boilerplate, no manual polling for the common case.
| Integration | Repository |
|---|---|
| OpenClaw plugin | preclick-openclaw |
For MCP-native clients that speak the protocol directly, see Quick Start below.
| Deployment | X-API-Key Requirement | Notes |
|---|---|---|
Hosted (https://preclick.ai/mcp) | Optional up to 100 requests/day | API key recommended for higher limits |
Hosted (https://preclick.ai/mcp) | Required above trial quota | Contact support for provisioned keys |
This tool is intended for authorized security assessment only. Use it solely on systems or websites that you own or for which you have got explicit permission to assess. Any unauthorized, unlawful, or malicious use is strictly prohibited. You are responsible for ensuring compliance with all applicable laws, regulations, and contractual obligations.
Choose one option:
Trial (hosted, up to 100 requests/day without API key):
{
"mcpServers": { "preclick-mcp": { "transport": "streamable-http", "url": "https://preclick.ai/mcp" } } }
Authenticated (recommended for stable and higher-volume usage):
{
"mcpServers": { "preclick-mcp": { "transport": "streamable-http", "url": "https://preclick.ai/mcp", "headers": { "X-API-Key": "YOUR_API_KEY" } } } }
Default hosted usage is stateless. Clients send JSON-RPC messages with POST /mcp. Some Streamable HTTP clients may also probe GET /mcp for an SSE stream. On the stateless hosted deployment, /mcp does not offer an SSE stream and returns HTTP 405 Method Not Allowed. Clients should treat 405 as "no SSE stream on this endpoint" and continue using POST /mcp.
Clients should still send the standard MCP HTTP headers:
Accept: application/json, text/event-stream on POSTMCP-Protocol-Version on all non-initialize requestsThe hosted deployment currently normalizes missing or incomplete POST Accept headers for compatibility. It also allows missing MCP-Protocol-Version on discovery-only POST list requests (tools/list, resources/list, prompts/list) for registry compatibility. Clients should not rely on either behavior.
# Only required if the server is running in stateful mode
curl -X POST https://preclick.ai/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "X-API-Key: YOUR_API_KEY" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2025-06-18", "capabilities": {}, "clientInfo": {"name": "my-client", "version": "1.0"} } }'
url_scanner_scan supports two execution modes (the same modes apply to url_scanner_scan_with_intent):
task parameter for async executiontask parameter for synchronous executioncurl -X POST https://preclick.ai/mcp \
-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "MCP-Protocol-Version: 2025-06-18" \ -H "X-API-Key: YOUR_API_KEY" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "url_scanner_scan", "arguments": { "url": "https://example.com" }, "task": { "ttl": 720000 } } }'
Response (task submitted):
{
"jsonrpc": "2.0", "id": 2, "result": { "task": { "taskId": "550e8400-e29b-41d4-a716-446655440000", "status": "working", "statusMessage": "Queued for processing", "createdAt": "2026-01-18T12:00:00Z", "lastUpdatedAt": "2026-01-18T12:00:00Z", "ttl": 720000, "pollInterval": 2000 } } }
Optional: Provide an url visiting intent for additional context (recommended but not required):
curl -X POST https://preclick.ai/mcp \
-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "MCP-Protocol-Version: 2025-06-18" \ -H "X-API-Key: YOUR_API_KEY" \ -d '{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "url_scanner_scan_with_intent", "arguments": { "url": "https://example.com", "intent": "Book a hotel room" }, "task": { "ttl": 720000 } } }'
Recommendation: Use url_scanner_scan_with_intent when you can state your purpose (login, purchase, booking, payments, file download) so intent/content mismatch can be considered as an additional signal. Otherwise use url_scanner_scan. Max intent length: 248 characters. Low-information or instruction-like intent strings are treated as not provided. Result includes intent_alignment (misaligned, no_mismatch_detected, inconclusive, or not_provided). no_mismatch_detected is only returned when intent analysis had sufficient evidence; if intent analysis is unavailable or evidence is limited, result is inconclusive. When intent_alignment is misaligned and confirmed by successful high-confidence analysis, the response directive is DENY with reason intent_inconsistent_destination (policy gate; risk score is unchanged). When high-confidence analysis confirms an unverified high-impact service claim with weak identity corroboration in a low-confidence context, the response directive is also DENY with reason insufficient_service_verification (policy gate; risk score is unchanged). In additional contextual low-evidence policy cases, responses may return DENY with reasons such as insufficient_service_verification or insufficient_trust_signals (policy gate; risk score is unchanged).
Direct-call timeout note: synchronous tool calls use a bounded server wait window sized for direct-only clients (hosted default 90s). If timeout is reached, the server returns JSON-RPC -32603 with error.data.taskId and error.data.pollInterval so you can continue via tasks/get / tasks/result.
Compatibility note: if your MCP client cannot call native Tasks methods (tasks/get / tasks/result), use url_scanner_async_scan or url_scanner_async_scan_with_intent to submit work and then poll with url_scanner_async_task_status / url_scanner_async_task_result. Call these compatibility tools as ordinary tools only; do not include a native MCP task parameter.
tasks/result uses a shorter hosted blocking wait (default 30s). If this wait is exceeded, the server returns JSON-RPC -32603 with error.data.taskId and error.data.pollInterval. Native Tasks clients should prefer polling with tasks/get until status is completed, then call tasks/result to retrieve the final result immediately.
curl -X POST https://preclick.ai/mcp \
-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "MCP-Protocol-Version: 2025-06-18" \ -H "X-API-Key: YOUR_API_KEY" \ -d '{ "jsonrpc": "2.0", "id": 3, "method": "tasks/result", "params": { "taskId": "550e8400-e29b-41d4-a716-446655440000" } }'
Response (completed task — CallToolResult shape, same as synchronous tools/call):
{
"jsonrpc": "2.0", "id": 3, "result": { "content": [ { "type": "text", "text": "{\"risk_score\":0.05,\"confidence\":0.95,\"analysis_complete\":true,\"agent_access_directive\":\"ALLOW\",\"agent_access_reason\":\"no_immediate_risk_detected\",\"intent_alignment\":\"not_provided\"}" } ], "isError": false } }
| Tool | Description | Execution Modes |
|---|---|---|
url_scanner_scan | Analyze URL for security threats | Direct (sync), Task (async) |
url_scanner_scan_with_intent | Analyze URL with optional intent context | Direct (sync), Task (async) |
url_scanner_async_scan | Compatibility async submit tool | Tool-based async |
url_scanner_async_scan_with_intent | Compatibility async submit with intent | Tool-based async |
url_scanner_async_task_status | Compatibility status polling tool | Tool-based async |
url_scanner_async_task_result | Compatibility result polling tool | Tool-based async |
See Full API Documentation for detailed schemas and examples.
Authentication requirements depend on deployment mode:
只显示了开头部分;其余内容请在仓库中阅读