unphurl-mcp
URL intelligence for AI agents. One URL in, structured security and data quality signals out across 7 dimensions. 13 tools, risk score 0-100 with 23 configurable weights.
README
_ _ _ _ ____ _ _ _ _ ____ _
| | | | \ | | _ \| | | | | | | _ \| |
| | | | \| | |_) | |_| | | | | |_) | |
| |_| | |\ | __/| _ | |_| | _ <| |___
\___/|_| \_|_| |_| |_|\___/|_| \_\_____|
URL intelligence for AI tools. 13 MCP tools. 23 signals. 7 dimensions.
Give your AI agent eyes for URLs. Unphurl analyses any URL across 7 dimensions (redirect behaviour, brand impersonation, domain age, SSL/TLS, parked detection, URL structure, DNS enrichment) and returns structured signals with a configurable 0-100 risk score. Signals, not verdicts. Your agent decides what to do with them.
Works with Claude Code, Claude Desktop, Claude Cowork, ChatGPT desktop, Cursor, Windsurf, and any MCP-compatible tool.
What it costs
Every new account gets 20 free pipeline check credits. Most lookups are free. Known domains (Tranco Top 100K) and previously analysed domains return cached results at no cost. You only pay when an unknown domain runs through the full pipeline.
| Package | Credits | Price | Per check |
|---|---|---|---|
| Starter | 100 | $9 | $0.090 |
| Standard | 500 | $39 | $0.078 |
| Pro | 2,000 | $99 | $0.050 |
| Scale | 10,000 | $399 | $0.040 |
One-time purchases, no subscriptions. In typical use, 95-99% of URLs resolve free.
Quick start
1. Add to your MCP configuration
Add to your .mcp.json (Claude Code, Claude Desktop, Claude Cowork, ChatGPT desktop, Cursor, Windsurf, or any MCP-compatible tool):
{
"mcpServers": {
"unphurl": {
"command": "npx",
"args": ["-y", "@unphurl/mcp-server"],
"env": {
"UNPHURL_API_KEY": "uph_your_key_here"
}
}
}
}
2. No account yet?
The AI can create one for you. Just ask: "Sign up for Unphurl." The signup tool works without an API key. After signup, add the key to your MCP configuration and restart.
3. Start checking URLs
Just talk to your AI:
"Check https://suspicious-domain.xyz"
"Batch check all URLs in this spreadsheet"
"Create a scoring profile called 'lead-qual' that weights parked domains at 30 and no MX record at 20"
"Check my credit balance"
No commands to memorize. No syntax to learn. Your AI handles the tool calls.
What you get back
Every check returns signals across 7 dimensions:
| Dimension | What it tells you |
|---|---|
| Redirect behaviour | Full chain (up to 10 hops), shortener detection, stopped reasons |
| Brand impersonation | Levenshtein + homoglyph analysis against 150+ brands |
| Domain intelligence | Age, registrar, expiration, status codes, nameservers (via RDAP) |
| SSL/TLS | Real handshake validation from Cloudflare's edge |
| Parked detection | 4-layer check: registrar pages, for-sale, empty content, parking services |
| URL structure | Length, path depth, subdomain count, entropy, IP detection, encoded chars |
| DNS enrichment | MX record existence (can the domain receive email?) |
Every signal is business intelligence. Domain age tells you how established a company is. No MX record means they can't receive email. Expiring domains mean a business might be shutting down. Combined with your AI's ability to process in bulk and output to spreadsheets, it becomes a lightweight due diligence engine.
13 Tools
| Tool | What it does | Auth |
|---|---|---|
signup |
Create a new account, get an API key | No |
resend_verification |
Resend verification email (3/hour limit) | Yes |
check_url |
Check a single URL across all 7 dimensions | Yes |
check_urls |
Batch check up to 500 URLs (handles async polling automatically) | Yes |
list_profiles |
List your custom scoring profiles | Yes |
create_profile |
Create or update a scoring profile with custom weights | Yes |
delete_profile |
Delete a scoring profile | Yes |
show_defaults |
Show all 23 scoring signals with default weights | No |
get_balance |
Check your pipeline check credit balance | Yes |
get_stats |
View usage statistics and score threshold counts | Yes |
get_pricing |
Show available credit packages and pricing | No |
purchase |
Purchase credits (returns Stripe Checkout URL) | Yes |
check_history |
View recent URL check history | Yes |
Power moves
Batch check + filter
"Check these 500 URLs. Give me two lists: the clean ones (score under 25) and the flagged ones (score 50 or higher). Export both as CSV."
Your AI gets the batch results, filters by score, and outputs the lists. No code, no scripting.
Custom scoring profiles
Different jobs need different weights. A security bot cares about brand impersonation. A cold email tool cares about parked domains and missing MX records.
"Create a profile called 'cold-email' that weights parked at 30, no_mx_record at 20, and domain_age_7 at 25. Then batch check my lead list using that profile."
Combine with other tools
Unphurl inside an AI chat combines with everything else your agent has access to:
- Spreadsheets: Read a CRM export, batch-check every URL, write results back with risk scores
- Web scraping: Scrape a competitor's partner page, check every link for health
- Documents: Generate a branded PDF audit report from the results
- Scheduled tasks: "Check my critical URLs every Monday morning"
How billing works
- A positive credit balance is required for all checks, even free lookups.
- Known domains (google.com, amazon.com, etc.): free, instant.
- Cached domains (analysed recently by anyone): free, instant.
- Unknown domains (first-time analysis): 1 credit each.
- Batch checks deduct credits upfront for unknowns. If you don't have enough, you get a summary showing exactly how many credits you need.
- Failed pipeline checks are automatically refunded.
Companion skill
The check-url-safety skill teaches your AI to proactively check URLs before following or recommending them, without being asked.
Claude Cowork or Claude Desktop: Just ask: "Install the Unphurl URL safety skill."
Claude Code, Cursor, or other dev tools:
# Global (all projects)
cp node_modules/@unphurl/mcp-server/skills/check-url-safety.md ~/.claude/skills/
# Or for a specific project
cp node_modules/@unphurl/mcp-server/skills/check-url-safety.md .claude/skills/
Build a business on it
Unphurl costs you $0.04-$0.09 per check. A website link audit takes 15 minutes and uses 50-100 credits. Charge $150-$500 per audit.
Service ideas: link health audits, lead list verification, SEO backlink audits, newsletter link monitoring, vendor vetting reports, brand protection monitoring, influencer vetting.
Also available as
- CLI:
npx unphurl(npm) - Hosted MCP for Claude Cowork (no local install): mcp.unphurl.com
- REST API: api.unphurl.com
- Website: unphurl.com
- Visual guides: unphurl.com/getting-started-guides
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。