Website Contact & Social Extractor

Emails, phones, WhatsApp, social profiles and addresses from a website's public pages.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
91%
Qualität der Benennung
88%
Risiko der Vergiftung
80%
Übereinstimmung der Berechtigungen
90%
Einhaltung des Protokolls
100%

Befunde (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin find_social_profiles
  • LOWTool 'check_url' suggests web access but openWorldHint=falsein check_url

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,731Tokens (Tool-Definitionen)
~1.9 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.35% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "website-contact-extractor": {
      "url": "https://contacts.noahsarch.tech/mcp"
    }
  }
}

Remote-Endpunkte

https://contacts.noahsarch.tech/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (5)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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.

Eingabe-Schema

{
  "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"
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Website URL.",
      "title": "Url",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "title": "find_social_profilesArguments"
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "",
      "title": "Url",
      "type": "string"
    },
    "respect_robots": {
      "default": true,
      "description": "",
      "title": "Respect Robots",
      "type": "boolean"
    }
  },
  "required": [
    "url"
  ],
  "title": "check_urlArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "check_urlDictOutput"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet5 Tools