unphurl-mcp
_ _ _ _ ____ _ _ _ _ ____ _
| | | | \ | | _ \| | | | | | | _ \| |
| | | | \| | |_) | |_| | | | | |_) | |
| |_| | |\ | __/| _ | |_| | _ <| |___
\___/|_| \_|_| |_| |_|\___/|_| \_\_____|Аналитика URL для ИИ-агентов и разработчиков. 16 инструментов MCP. 25 сигналов. 7 измерений.
Дайте вашему ИИ-агенту возможность «видеть» URL-адреса. Unphurl анализирует любой URL по 7 измерениям (поведение при перенаправлении, имитация бренда, возраст домена, SSL/TLS, обнаружение припаркованных доменов, структура URL, обогащение DNS) и возвращает структурированные сигналы с настраиваемой оценкой риска от 0 до 100. Это сигналы, а не вердикты. Ваш агент сам решает, что с ними делать.
Работает с Claude Code, Claude Desktop, Claude Cowork, ChatGPT desktop, Cursor, Windsurf и любым инструментом, совместимым с MCP.
Стоимость
Каждый новый аккаунт получает 20 бесплатных кредитов на проверку. Большинство запросов бесплатны. Известные домены (Tranco Top 100K) и ранее проанализированные домены возвращают кэшированные результаты бесплатно. Вы платите только тогда, когда неизвестный домен проходит полный цикл анализа.
Пакет | Кредиты | Цена | За проверку |
Starter | 100 | $9 | $0.090 |
Standard | 500 | $39 | $0.078 |
Pro | 2,000 | $99 | $0.050 |
Scale | 10,000 | $399 | $0.040 |
Разовая покупка, без подписок. При обычном использовании 95-99% URL обрабатываются бесплатно.
Related MCP server: trust-score
Быстрый старт
1. Добавьте в конфигурацию MCP
Добавьте в ваш файл .mcp.json (для Claude Code, Claude Desktop, Claude Cowork, ChatGPT desktop, Cursor, Windsurf или любого другого инструмента, совместимого с MCP):
{
"mcpServers": {
"unphurl": {
"command": "npx",
"args": ["-y", "@unphurl/mcp-server"],
"env": {
"UNPHURL_API_KEY": "uph_your_key_here"
}
}
}
}2. Еще нет аккаунта?
ИИ может создать его для вас. Просто попросите: "Sign up for Unphurl." Инструмент signup работает без API-ключа. После регистрации добавьте ключ в конфигурацию MCP и перезапустите инструмент.
3. Начните проверку URL
Просто общайтесь со своим ИИ:
"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"
Никаких команд для запоминания. Никакого синтаксиса для изучения. Ваш ИИ сам управляет вызовами инструментов.
Что вы получаете в результате
Каждая проверка возвращает сигналы по 7 измерениям:
Измерение | Что это дает |
Поведение при перенаправлении | Полная цепочка (до 10 переходов), обнаружение сокращателей, причины остановки |
Имитация бренда | Анализ Левенштейна + гомоглифов по 150+ брендам |
Аналитика домена | Возраст, регистратор, срок действия, коды состояния, серверы имен (через RDAP) |
SSL/TLS | Проверка рукопожатия в реальном времени через edge-сеть Cloudflare |
Обнаружение припаркованных доменов | 4-уровневая проверка: страницы регистратора, продажа, пустой контент, парковочные сервисы |
Структура URL | Длина, глубина пути, количество поддоменов, энтропия, обнаружение IP, закодированные символы |
Обогащение DNS | Наличие записи MX (может ли домен получать электронную почту?) |
Каждый сигнал — это бизнес-аналитика. Возраст домена показывает, насколько давно существует компания. Отсутствие записи MX означает, что они не могут получать электронную почту. Истекающие домены могут указывать на то, что бизнес закрывается. В сочетании с возможностью вашего ИИ обрабатывать данные массово и выводить их в электронные таблицы, это становится легким инструментом для комплексной проверки (due diligence).
16 инструментов
Инструмент | Что делает | Авторизация |
| Создать новый аккаунт, получить API-ключ | Нет |
| Повторно отправить письмо с подтверждением (лимит 3/час) | Да |
| Проверить один URL по всем 7 измерениям | Да |
| Пакетная проверка до 500 URL (автоматически обрабатывает асинхронный опрос) | Да |
| Список ваших пользовательских профилей оценки | Да |
| Создать или обновить профиль оценки с пользовательскими весами | Да |
| Удалить профиль оценки | Да |
| Показать все 25 сигналов оценки с весами по умолчанию | Нет |
| Проверить баланс кредитов на проверку | Да |
| Просмотреть статистику использования и количество пороговых значений | Да |
| Показать доступные пакеты кредитов и цены | Нет |
| Купить кредиты (возвращает URL Stripe Checkout) | Да |
| Просмотреть историю недавних проверок URL | Да |
| Список доверенных доменов, которые отключают усилители оценки | Да |
| Добавить домены в ваш доверенный список (до 100 за запрос) | Да |
| Удалить домены из вашего доверенного списка | Да |
Продвинутые возможности
Пакетная проверка + фильтрация
"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."
Ваш ИИ получает пакетные результаты, фильтрует их по оценке и выводит списки. Никакого кода, никаких скриптов.
Пользовательские профили оценки
Разные задачи требуют разных весов. Боту безопасности важна имитация бренда. Инструменту для холодных рассылок важны припаркованные домены и отсутствие записей MX.
"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."
Комбинирование с другими инструментами
Unphurl внутри чата с ИИ сочетается со всем, к чему имеет доступ ваш агент:
Электронные таблицы: Чтение экспорта из CRM, пакетная проверка каждого URL, запись результатов обратно с оценками риска
Веб-скрейпинг: Скрейпинг страницы партнеров конкурента, проверка каждой ссылки на работоспособность
Документы: Генерация брендированного PDF-отчета об аудите на основе результатов
Запланированные задачи: "Check my critical URLs every Monday morning"
Как работает биллинг
Положительный баланс кредитов требуется для всех проверок, даже для бесплатных запросов.
Известные домены (google.com, amazon.com и т.д.): бесплатно, мгновенно.
Кэшированные домены (недавно проанализированные кем-либо): бесплатно, мгновенно.
Неизвестные домены (первичный анализ): 1 кредит за каждый.
Пакетные проверки списывают кредиты авансом за неизвестные домены. Если кредитов недостаточно, вы получите сводку с точным количеством необходимых кредитов.
За неудачные проверки кредиты возвращаются автоматически.
Дополнительный навык
Навык check-url-safety учит ваш ИИ проактивно проверять URL-адреса перед тем, как переходить по ним или рекомендовать их, без специального запроса.
Claude Cowork или Claude Desktop: Просто попросите: "Install the Unphurl URL safety skill."
Claude Code, Cursor или другие инструменты разработки:
# 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/Постройте на этом бизнес
Unphurl стоит вам $0.04-$0.09 за проверку. Аудит ссылок на веб-сайте занимает 15 минут и использует 50-100 кредитов. Вы можете брать $150-$500 за аудит.
Идеи для услуг: аудит работоспособности ссылок, проверка списков лидов, SEO-аудит обратных ссылок, мониторинг ссылок в рассылках, отчеты о проверке поставщиков, мониторинг защиты бренда, проверка инфлюенсеров.
Также доступно как
CLI:
npx unphurl(npm)Hosted MCP для Claude Cowork (без локальной установки): mcp.unphurl.com
REST API: api.unphurl.com
Веб-сайт: unphurl.com
Визуальные руководства: unphurl.com/getting-started-guides
Лицензия
MIT
Available Tools
16 toolsadd_to_allowlistAInspect
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 other changes.
Submit the registrable domain only (e.g. partnerco.com). Subdomains and full URLs are rejected. Adding partnerco.com covers sub.partnerco.com and all other subdomains automatically.
Maximum 1,000 domains per account. Maximum 100 domains per request. Duplicates are silently skipped.
Inputs: domains (required).
check_historyAInspect
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 retained for 90 days. Account-level stats (total credits, balance) never expire.
Inputs: page, limit.
check_urlAInspect
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 codes, nameservers via RDAP), SSL/TLS validity, parked domain detection, URL structural analysis (length, path depth, subdomain count, entropy), and DNS enrichment (MX records). The score is calculated from these signals using either default weights or a custom scoring profile.
Higher scores mean more suspicious. The score is a signal, not a verdict. You decide the threshold based on the use case.
Billing: Most lookups are free. Known domains (Tranco Top 100K like google.com, github.com) return instantly with score 0 at no cost. Previously analysed domains return cached signals at no cost. Only unknown domains that run through the full analysis pipeline cost 1 pipeline check credit. The response's meta.pipeline_check_charged field tells you whether this check consumed a credit.
Use the "profile" parameter to score results with custom weights. For example, a "cold-email" profile might weight parked domains heavily while ignoring brand impersonation. Use list_profiles to see available profiles, or show_defaults to see all signal weights.
If the account has zero credits and the URL requires a full pipeline check, returns a 402 error with a link to purchase more credits.
Inputs: url (required), profile.
check_urlsAInspect
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 RDAP), SSL/TLS validity, parked domain detection, URL structural analysis, and DNS enrichment. Known and cached URLs return results immediately. Unknown URLs are queued for pipeline processing. This tool automatically polls for results until all URLs are complete or the 5-minute timeout is reached. You don't need to manage polling or job tracking.
If the timeout is reached before all results are complete, returns whatever is available with a clear message indicating which URLs are still processing. The user can check results later via check_history.
Maximum 500 URLs per call. For larger datasets, call this tool multiple times with chunks of up to 500 URLs.
Billing: Same as check_url. Known and cached domains are free. Only unknown domains running through the full pipeline cost 1 credit each. The summary shows pipeline_checks_charged (the actual number of credits consumed). If you don't have enough credits for the unknowns in the batch, the entire batch is rejected with a 402 error telling you exactly how many credits are needed.
Duplicate URLs in the list are automatically deduplicated (processed once, charged once). Invalid URLs get individual error status without rejecting the batch.
Use the "profile" parameter to score all results with custom weights.
Inputs: urls (required), profile.
create_profileAInspect
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 are points, not percentages. Each weight is the number of points that signal adds to the score when it fires. They don't need to total 100. A profile with weights totalling 90 is conservative (max possible score is 90). A profile with weights totalling 130 is aggressive (multiple signals quickly push to the cap of 100). The threshold the agent sets for action matters more than the weight totals.
Use show_defaults to see all 25 signals with their default weights and descriptions before creating a profile. Use check_url or check_urls with the "profile" parameter to score results with this profile.
Maximum 20 profiles per account. Profile name "default" is reserved.
Common profiles:
Cold email: weight parked (30), chain_incomplete (25), ssl_invalid (15) higher. Lower brand_impersonation (10).
Security bot: keep brand_impersonation high (40), increase domain_age_7 (30), redirects_5 (25).
Lead gen: weight parked (35), http_only (20), chain_incomplete (20) for dead business detection.
SEO audit: weight redirects_5 (30), chain_incomplete (30), parked (25) for link quality.
See the Unphurl API documentation for all 19 use case weight examples.
Inputs: name (required), weights (required).
delete_profileAInspect
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.
Inputs: name (required).
get_balanceAInspect
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 (previously analysed by any Unphurl customer) are always free.
If credits_remaining is 0, you can still check known and cached domains for free. To check unknown domains, purchase more credits using the "purchase" tool.
Inputs: no named parameters.
get_pricingAInspect
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 ($0.0495 each)
Scale: 10,000 credits for $399 ($0.0399 each)
Most URL lookups are free (known domains and cached domains). Credits are only consumed when an unknown domain runs through the full analysis pipeline. In typical use, 95-99% of URLs resolve free.
This tool does not require an API key.
Inputs: no named parameters.
get_statsAInspect
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 free (known or cached domains) vs paid pipeline checks, and how many URLs scored above key thresholds.
This is useful for:
Checking if your scoring profile is flagging the right proportion of URLs
Understanding your cost efficiency (higher free rate = more value per credit)
Reporting usage metrics
Inputs: no named parameters.
list_allowlistAInspect
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.
Returns the list of domains, current count, and the 1,000-domain limit.
Inputs: no named parameters.
list_profilesAInspect
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 bot cares about phishing. Profiles let one account serve multiple use cases.
Profiles only override specific weights. Any signal not specified in a profile uses the default weight. Use show_defaults to see all 25 signals and their default weights.
Inputs: no named parameters.
purchaseAInspect
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 added to the account automatically once Stripe confirms payment.
After purchase, use get_balance to verify credits have been added.
Inputs: package (required).
remove_from_allowlistAInspect
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.
Inputs: domains (required).
resend_verificationAInspect
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 response is always the same regardless of whether the email exists, is already verified, or was rate limited. This prevents account enumeration.
Rate limited to 3 requests per email per hour.
This tool does not require an API key.
Inputs: email (required).
show_defaultsAInspect
Show all 25 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. Profiles are sparse overrides on top of these defaults.
This tool does not require an API key. The defaults are hardcoded and always available.
Inputs: no named parameters.
signupAInspect
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 link expires, use the "resend_verification" tool to request a new one.
The account starts with 20 free pipeline check credits so the user can test with real URLs. Known domain lookups (google.com, github.com, etc.) and cached domain lookups are always free. To check more unknown domains through the full analysis pipeline, the user can purchase credits via the "purchase" tool.
Once the user has their API key, they need to add it to their MCP server configuration as UNPHURL_API_KEY.
This tool does not require an API key.
Inputs: email (required), first_name (required), company.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Tools are mostly distinct: check_url vs check_urls are clearly singular/batch, and profile management tools (list_profiles, create_profile, delete_profile, show_defaults) have clear boundaries. However, check_url/check_urls share descriptions almost verbatim verdicts (intentional but could confuse agents), and allowlist tools vs profile tools address different concepts though both modify scoring.
Tool names follow a consistent verb_noun (or imperative short) pattern: check_url, list_profiles, create_profile, get_balance, add_to_allowlist. Minor deviations: 'show_defaults' (rather than list_defaults) and 'signup' (rather than sign_up or create_account) are outliers, but overall the pattern is predictable.
With 16 tools, the count is slightly above the ideal 3-15 range but still reasonable given the breadth of functionality (auth, URL checking, billing, profiles, allowlists, history). Each tool serves a distinct purpose, and none feels redundant enough to trim, so it's borderline but acceptable.
The server covers the core lifecycle: signup/verification, URL checking (single/batch), billing (purchase, balance, pricing), profile management (CRUD plus defaults), allowlist management (CRUD), and history/stats. Missing operations include password reset or account deletion, but those are minor and not core to the URL-checking domain. The gaps are workaround-able (e.g., no explicit profile export, but not essential).
Maintenance
Related MCP Connectors
The website checker for AI agents. One call: verdict, score out of 100, fix list.
Pay-per-call safety checks for AI agents: screen a crypto address or URL before you transact.
Live web checks for AI agents: sitemaps, robots.txt, URL status, broken links, feeds, citations.
Pay-per-call APIs for AI agents: web scraping, DNS/email checks, classification, trading risk.
Related MCP Servers
- AlicenseAqualityDmaintenancesecurity tools for AI agents: URL safety scanning, prompt injection detection (200+ patterns), email/password breach checks via HIBP, domain & IP reputation analysis, and AI skill supply chain scanning. Free tier (3 calls/day) or pay-per-request with USDC micropayments via x402.932 npm1MIT
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with zero-cost, zero-dependency trust evaluation for domains, URLs, wallets, APIs, and IPs, returning a 0-100 score with SSL, DNS, WHOIS, security header, and content sub-scores, plus batch comparison to rank multiple targets.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to investigate public URLs through evidence-first intelligence, including crawling, entity resolution, social discovery, SEO, technology detection, monitoring, reports, and optional AI reasoning.8MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to inspect a URL before opening, following, or recommending it, by tracing redirect chains via headers, stripping tracking parameters, detecting phishing-style URL tricks, and cross-checking threat-intel feeds to return a SAFE, SUSPICIOUS, or DANGEROUS verdict with supporting evidence. It also scans text for embedded and defanged links and vets agent skills prior to installation.1MIT