CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Unphurl

123ergo/unphurl-mcp
16 toolsauthSTDIO, HTTPregistry active
Summary

Gives Claude 16 tools to analyze URLs across redirect chains, brand impersonation, domain age, SSL/TLS, parked detection, URL structure, and DNS records. Returns structured signals with configurable risk scores (0-100) instead of binary verdicts. You get 20 free checks, then pay per unknown domain while known domains and cached results stay free. Useful for batch lead list verification, link health audits, vendor vetting, or any workflow where you need domain intelligence at scale. Works as local MCP (stdio), hosted remote server, or REST API. Ships with a companion skill that teaches Claude to proactively check URLs before following them.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

16 tools
signupCreate a new Unphurl account. Returns an API key (shown once, store it securely). After signup, the user must check their email and click the verification link. The API key won't work for URL checks until the email is verified. Verification link expires after 24 hours. If the...3 params

Create a new Unphurl account. Returns an API key (shown once, store it securely). After signup, the user must check their email and click the verification link. The API key won't work for URL checks until the email is verified. Verification link expires after 24 hours. If the...

Parameters* required
emailstring
Email address for the account
companystring
Company name (optional)
first_namestring
First name (used for personalized emails)
resend_verificationResend the email verification link for an existing Unphurl account. Use this when a user signed up but their verification link expired (links are valid for 24 hours) and they need a new one. The user's API key won't work until their email is verified. For security, the respons...1 params

Resend the email verification link for an existing Unphurl account. Use this when a user signed up but their verification link expired (links are valid for 24 hours) and they need a new one. The user's API key won't work until their email is verified. For security, the respons...

Parameters* required
emailstring
Email address of the account that needs verification
check_urlCheck a single URL for security and data quality signals. Returns a risk score (0-100), detailed signal breakdown, and metadata. Unphurl analyses URLs across seven dimensions: redirect behaviour, brand impersonation, domain intelligence (age, registrar, expiration, status code...2 params

Check a single URL for security and data quality signals. Returns a risk score (0-100), detailed signal breakdown, and metadata. Unphurl analyses URLs across seven dimensions: redirect behaviour, brand impersonation, domain intelligence (age, registrar, expiration, status code...

Parameters* required
urlstring
The URL to check (must be http:// or https://)
profilestring
Name of a custom scoring profile to use (optional). If omitted, default weights are used.
check_urlsCheck multiple URLs in a single batch. Returns results for all URLs, handling async processing automatically. Each URL is analysed across seven dimensions: redirect behaviour, brand impersonation, domain intelligence (age, registrar, expiration, status codes, nameservers via R...2 params

Check multiple URLs in a single batch. Returns results for all URLs, handling async processing automatically. Each URL is analysed across seven dimensions: redirect behaviour, brand impersonation, domain intelligence (age, registrar, expiration, status codes, nameservers via R...

Parameters* required
urlsarray
List of URLs to check (maximum 500 per call)
profilestring
Name of a custom scoring profile to use for all URLs (optional)
list_profilesList all custom scoring profiles on this account. Returns profile names and their custom weight overrides. Profiles are named weight sets that change how Unphurl scores URLs. Different use cases need different scoring. A cold email agent cares about dead domains. A security bo...

List all custom scoring profiles on this account. Returns profile names and their custom weight overrides. Profiles are named weight sets that change how Unphurl scores URLs. Different use cases need different scoring. A cold email agent cares about dead domains. A security bo...

No parameter schema in public metadata yet.

create_profileCreate or update a custom scoring profile. Profiles are sparse overrides: only specify the weights you want to change. Everything else keeps its default value. If a profile with this name already exists, it is updated with the new weights (full replacement, not merge). Weights...2 params

Create or update a custom scoring profile. Profiles are sparse overrides: only specify the weights you want to change. Everything else keeps its default value. If a profile with this name already exists, it is updated with the new weights (full replacement, not merge). Weights...

Parameters* required
namestring
Profile name (lowercase alphanumeric and hyphens only, 1-50 chars, e.g. 'cold-email', 'security-bot')
weightsobject
Custom weights for scoring signals. Only include signals you want to override. Available signals: brand_impersonation (default 40), domain_age_3 (35), domain_age_7 (25), domain_age_30 (15), domain_age_90 (5), ssl_invalid (10), http_only (5), redirects_3 (10), redirects_5 (25), chain_incomplete (15), parked (10), compound (10), brand_impersonation_floor (80), url_long (3), path_deep (3), subdomain_excessive (5), domain_entropy_high (5), url_contains_ip (10), encoded_hostname (5), tld_redirect_change (5), expiring_soon (10), domain_status_bad (15), no_mx_record (5).
delete_profileDelete a custom scoring profile. This is permanent. Any future check requests using this profile name will fall back to default weights. Use list_profiles to see your current profiles before deleting.1 params

Delete a custom scoring profile. This is permanent. Any future check requests using this profile name will fall back to default weights. Use list_profiles to see your current profiles before deleting.

Parameters* required
namestring
Name of the profile to delete
show_defaultsShow all 23 scoring signals with their default weights and descriptions. This is the baseline scoring that applies when no custom profile is specified. Use this to understand what each signal means and how much it contributes to the score before creating custom profiles. Profi...

Show all 23 scoring signals with their default weights and descriptions. This is the baseline scoring that applies when no custom profile is specified. Use this to understand what each signal means and how much it contributes to the score before creating custom profiles. Profi...

No parameter schema in public metadata yet.

get_balanceCheck your pipeline check credit balance. Shows credits remaining, total purchased, total used, and lifetime free lookups count. Credits are consumed only when unknown domains run through the full analysis pipeline. Known domains (Tranco Top 100K) and cached domains (previousl...

Check your pipeline check credit balance. Shows credits remaining, total purchased, total used, and lifetime free lookups count. Credits are consumed only when unknown domains run through the full analysis pipeline. Known domains (Tranco Top 100K) and cached domains (previousl...

No parameter schema in public metadata yet.

get_pricingShow available pipeline check credit packages and pricing. Returns all packages with credit counts and prices. Packages (one-time purchase, no subscription): - Starter: 100 credits for $9 ($0.09 each) - Standard: 500 credits for $39 ($0.078 each) - Pro: 2,000 credits for $99 (...

Show available pipeline check credit packages and pricing. Returns all packages with credit counts and prices. Packages (one-time purchase, no subscription): - Starter: 100 credits for $9 ($0.09 each) - Standard: 500 credits for $39 ($0.078 each) - Pro: 2,000 credits for $99 (...

No parameter schema in public metadata yet.

purchasePurchase pipeline check credits. Returns a Stripe Checkout URL that the user must open in a browser to complete payment. The AI cannot complete the payment. Tell the user to open the URL in their browser, complete the Stripe checkout, and then confirm they've paid. Credits are...1 params

Purchase pipeline check credits. Returns a Stripe Checkout URL that the user must open in a browser to complete payment. The AI cannot complete the payment. Tell the user to open the URL in their browser, complete the Stripe checkout, and then confirm they've paid. Credits are...

Parameters* required
packagestring
Package to purchase: pkg_100 ($9, 100 credits), pkg_500 ($39, 500 credits), pkg_2000 ($99, 2000 credits), pkg_10000 ($399, 10000 credits)one of pkg_100 · pkg_500 · pkg_2000 · pkg_10000
check_historyView recent URL check history. Shows what URLs have been checked, their scores, phishing status, and whether each check was free or used a pipeline credit. Results are paginated. Use page and limit parameters to navigate. Default is 20 results per page, maximum 100. History is...2 params

View recent URL check history. Shows what URLs have been checked, their scores, phishing status, and whether each check was free or used a pipeline credit. Results are paginated. Use page and limit parameters to navigate. Default is 20 results per page, maximum 100. History is...

Parameters* required
pageinteger
Page number (default 1)
limitinteger
Results per page, max 100 (default 20)
get_statsView your account usage statistics. Shows total URLs submitted, breakdown by gate (Tranco lookups, cache lookups, pipeline checks), free rate percentage, score threshold counts, and credit balance. Use this to understand your usage patterns: how many of your checks resolved fr...

View your account usage statistics. Shows total URLs submitted, breakdown by gate (Tranco lookups, cache lookups, pipeline checks), free rate percentage, score threshold counts, and credit balance. Use this to understand your usage patterns: how many of your checks resolved fr...

No parameter schema in public metadata yet.

list_allowlistList all domains on this account's trusted allowlist. Allowlisted domains suppress the compound signal and brand impersonation floor in scoring. The full pipeline still runs — all signals remain visible for monitoring. Use this to see which domains are currently trusted. Retur...

List all domains on this account's trusted allowlist. Allowlisted domains suppress the compound signal and brand impersonation floor in scoring. The full pipeline still runs — all signals remain visible for monitoring. Use this to see which domains are currently trusted. Retur...

No parameter schema in public metadata yet.

add_to_allowlistAdd one or more domains to this account's trusted allowlist. Allowlisted domains suppress the compound signal and brand impersonation floor in scoring. The full pipeline still runs — all signals remain visible so you can monitor trusted domains for SSL expiry, parking, or othe...1 params

Add one or more domains to this account's trusted allowlist. Allowlisted domains suppress the compound signal and brand impersonation floor in scoring. The full pipeline still runs — all signals remain visible so you can monitor trusted domains for SSL expiry, parking, or othe...

Parameters* required
domainsarray
Registrable domains to add (e.g. ['partnerco.com', 'trustedvendor.io']). Subdomains and full URLs are rejected.
remove_from_allowlistRemove one or more domains from this account's trusted allowlist. Once removed, those domains resume normal scoring on the next check. Use list_allowlist to see what is currently on the list before removing.1 params

Remove one or more domains from this account's trusted allowlist. Once removed, those domains resume normal scoring on the next check. Use list_allowlist to see what is currently on the list before removing.

Parameters* required
domainsarray
Registrable domains to remove (e.g. ['partnerco.com'])
 _   _ _   _ ____  _   _ _   _ ____  _
| | | | \ | |  _ \| | | | | | |  _ \| |
| | | |  \| | |_) | |_| | | | | |_) | |
| |_| | |\  |  __/|  _  | |_| |  _ <| |___
 \___/|_| \_|_|   |_| |_|\___/|_| \_\_____|

URL intelligence for AI agents and developers. 16 MCP tools. 25 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.

PackageCreditsPricePer check
Starter100$9$0.090
Standard500$39$0.078
Pro2,000$99$0.050
Scale10,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:

DimensionWhat it tells you
Redirect behaviourFull chain (up to 10 hops), shortener detection, stopped reasons
Brand impersonationLevenshtein + homoglyph analysis against 150+ brands
Domain intelligenceAge, registrar, expiration, status codes, nameservers (via RDAP)
SSL/TLSReal handshake validation from Cloudflare's edge
Parked detection4-layer check: registrar pages, for-sale, empty content, parking services
URL structureLength, path depth, subdomain count, entropy, IP detection, encoded chars
DNS enrichmentMX 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.

16 Tools

ToolWhat it doesAuth
signupCreate a new account, get an API keyNo
resend_verificationResend verification email (3/hour limit)Yes
check_urlCheck a single URL across all 7 dimensionsYes
check_urlsBatch check up to 500 URLs (handles async polling automatically)Yes
list_profilesList your custom scoring profilesYes
create_profileCreate or update a scoring profile with custom weightsYes
delete_profileDelete a scoring profileYes
show_defaultsShow all 25 scoring signals with default weightsNo
get_balanceCheck your pipeline check credit balanceYes
get_statsView usage statistics and score threshold countsYes
get_pricingShow available credit packages and pricingNo
purchasePurchase credits (returns Stripe Checkout URL)Yes
check_historyView recent URL check historyYes
list_allowlistList trusted domains that suppress scoring amplifiersYes
add_to_allowlistAdd domains to your trusted allowlist (up to 100 per request)Yes
remove_from_allowlistRemove domains from your trusted allowlistYes

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

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

UNPHURL_API_KEY*secret

Your Unphurl API key (get one at unphurl.com or via the signup tool)

Registryactive
Package@unphurl/mcp-server
TransportSTDIO, HTTP
AuthRequired
UpdatedApr 23, 2026
View on GitHub