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"
}社区
证据