Website Contact & Social Extractor
Emails, phones, WhatsApp, social profiles and addresses from a website's public pages.
我該用這個嗎
品質與安全性
發現項目(3)
- HIGH
- MEDIUM在 find_social_profiles 中
- LOW在 check_url 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"website-contact-extractor": {
"url": "https://contacts.noahsarch.tech/mcp"
}
}
}遠端端點
https://contacts.noahsarch.tech/mcpstreamable-http它能做什麼
工具清單
工具(5)
🟢extract_contacts(url, max_pages, region, follow_contact_pages, include_social, ...)
Fetch a site's homepage and up to max_pages-1 contact/about pages and return every email, phone (validated, E.164, type), WhatsApp link, social profile, postal address and organisation field found, with provenance per item. Example: url 'noahsarch.tech', max_pages 3, region 'AE'. Response: result with emails[] (email, source, role), phones[] (e164, international, region, type, source), whatsapp[], social{platform: [url, handle]}, addresses[], organization{}, pages[] (what was fetched, status) and summary{}, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Charged per page actually fetched; failed fetches are free. URLs are not logged.
輸入結構描述
{
"type": "object",
"properties": {
"url": {
"description": "Website URL (scheme optional): 'example.com' or 'https://example.com/about'.",
"title": "Url",
"type": "string"
},
"max_pages": {
"default": 3,
"description": "Homepage plus up to (max_pages-1) contact/about pages found on it. 1 = homepage only.",
"title": "Max Pages",
"type": "integer"
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO 3166-1 alpha-2 country used to interpret phone numbers written without a country code (e.g. 'AE', 'GB', 'US'). Omit if unknown.",
"title": "Region"
},
"follow_contact_pages": {
"default": true,
"description": "Also fetch the site's contact/about/impressum pages (same site only).",
"title": "Follow Contact Pages",
"type": "boolean"
},
"include_social": {
"default": true,
"description": "Include social-profile links (Facebook, Instagram, X, LinkedIn, YouTube, TikTok, Telegram, Snapchat, Pinterest, Threads, GitHub…).",
"title": "Include Social",
"type": "boolean"
},
"respect_robots": {
"default": true,
"description": "Honour the site's robots.txt (default). Set false only for sites you own.",
"title": "Respect Robots",
"type": "boolean"
}
},
"required": [
"url"
],
"title": "extract_contactsArguments"
}輸出結構描述
{
"type": "object",
"additionalProperties": true,
"title": "extract_contactsDictOutput"
}🟢find_social_profiles(url)
Homepage only: Facebook, Instagram, X/Twitter, LinkedIn, YouTube, TikTok, Telegram, Snapchat, Pinterest, Threads, GitHub, TripAdvisor, Google Business links plus WhatsApp chat links, with handles. Share buttons are excluded. Example: url 'https://example.com'. Response: result with emails[] (email, source, role), phones[] (e164, international, region, type, source), whatsapp[], social{platform: [url, handle]}, addresses[], organization{}, pages[] (what was fetched, status) and summary{}, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Charged per page actually fetched; failed fetches are free. URLs are not logged.
輸入結構描述
{
"type": "object",
"properties": {
"url": {
"description": "Website URL.",
"title": "Url",
"type": "string"
}
},
"required": [
"url"
],
"title": "find_social_profilesArguments"
}輸出結構描述
{
"type": "object",
"additionalProperties": true,
"title": "find_social_profilesDictOutput"
}🟢extract_contacts_bulk(urls, max_pages, region, include_social)
One call for a lead list: each site gets homepage + contact pages (max_pages), results per site plus a summary (sites with email/phone/WhatsApp, failures). Charged per page fetched across all sites. Example: urls ['a.com','b.ae'], max_pages 2, region 'AE'. Response: result with emails[] (email, source, role), phones[] (e164, international, region, type, source), whatsapp[], social{platform: [url, handle]}, addresses[], organization{}, pages[] (what was fetched, status) and summary{}, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Charged per page actually fetched; failed fetches are free. URLs are not logged.
輸入結構描述
{
"type": "object",
"properties": {
"urls": {
"description": "Up to 50 website URLs (one per company). Duplicate sites are merged.",
"items": {
"type": "string"
},
"title": "Urls",
"type": "array"
},
"max_pages": {
"default": 2,
"description": "Pages per site (homepage + contact pages).",
"title": "Max Pages",
"type": "integer"
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO 3166-1 alpha-2 country used to interpret phone numbers written without a country code (e.g. 'AE', 'GB', 'US'). Omit if unknown.",
"title": "Region"
},
"include_social": {
"default": true,
"description": "",
"title": "Include Social",
"type": "boolean"
}
},
"required": [
"urls"
],
"title": "extract_contacts_bulkArguments"
}輸出結構描述
{
"type": "object",
"additionalProperties": true,
"title": "extract_contacts_bulkDictOutput"
}🟢extract_from_html(html, base_url, region)
Same parser, no fetching: emails (incl. obfuscated 'name [at] domain [dot] com'), phones, WhatsApp, social links, addresses, schema.org organisation data, and the contact-page links present. Free. Example: html '<a href="mailto:[email protected]">'. Response: result with emails[] (email, source, role), phones[] (e164, international, region, type, source), whatsapp[], social{platform: [url, handle]}, addresses[], organization{}, pages[] (what was fetched, status) and summary{}, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Charged per page actually fetched; failed fetches are free. URLs are not logged.
輸入結構描述
{
"type": "object",
"properties": {
"html": {
"description": "HTML (or plain text) you already have.",
"title": "Html",
"type": "string"
},
"base_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Page URL, used to resolve relative links and decide which links are same-site.",
"title": "Base Url"
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO 3166-1 alpha-2 country used to interpret phone numbers written without a country code (e.g. 'AE', 'GB', 'US'). Omit if unknown.",
"title": "Region"
}
},
"required": [
"html"
],
"title": "extract_from_htmlArguments"
}輸出結構描述
{
"type": "object",
"additionalProperties": true,
"title": "extract_from_htmlDictOutput"
}🟢check_url(url, respect_robots)
GET the URL (robots-respecting, public hosts only) and report status, final URL after redirects, content type, title, declared languages and whether a contact page is linked. Use before a bulk job or to clean a URL list. Example: url 'example.com'. Response: result with emails[] (email, source, role), phones[] (e164, international, region, type, source), whatsapp[], social{platform: [url, handle]}, addresses[], organization{}, pages[] (what was fetched, status) and summary{}, plus data_confidence, estimated_items[], sources[], data_version, warnings[] and a disclaimer. Charged per page actually fetched; failed fetches are free. URLs are not logged.
輸入結構描述
{
"type": "object",
"properties": {
"url": {
"description": "",
"title": "Url",
"type": "string"
},
"respect_robots": {
"default": true,
"description": "",
"title": "Respect Robots",
"type": "boolean"
}
},
"required": [
"url"
],
"title": "check_urlArguments"
}輸出結構描述
{
"type": "object",
"additionalProperties": true,
"title": "check_urlDictOutput"
}社群
證據