logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

hatch-contact-intelligence-service

A backend component interfacing with the Hatch data enrichment platform to facilitate contact identification (email/phone), validation routines, corporate profile aggregation, and professional networking profile location (LinkedIn). This service standardizes data acquisition workflows for sophisticated application development.

Author

hatch-contact-intelligence-service logo

Meerkats-Ai

No License

Quick Info

GitHub GitHub Stars 0
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

apisapilinkedinhatch apiapis httpai hatch

Hatch Contact Intelligence Service Gateway

This repository details a Model Context Protocol (MCP) gateway designed for seamless interaction with the proprietary Hatch API suite. It furnishes capabilities for locating electronic mail addresses, ascertaining telephone numbers, confirming email deliverability, sourcing comprehensive organizational metadata, and retrieving professional social media pointers.

Core Capabilities

  • Email Discovery: Procure electronic correspondence identifiers leveraging first name, surname, and organizational domain.
  • Number Acquisition: Obtain direct line contact information utilizing an individual's public professional networking URL.
  • Electronic Mail Validation: Authenticate the operational status and legitimacy of a given email address.
  • Enterprise Profiling: Retrieve exhaustive descriptive data pertaining to an organization via its web domain.
  • Professional Profile Resolution: Locate the specific URL for a professional's network profile based on their name, role title, and employer affiliation.

Deployment Instructions

  1. Clone the source code repository.
  2. Install all requisite software dependencies:

bash npm install

  1. Instantiate a configuration file named .env by duplicating .env.example and inserting your authorized Hatch credential:

HATCH_API_KEY=your_secret_api_key_here

  1. Compile the application assets:

bash npm run build

Operational Context

Standalone Operation

To initiate the service instance immediately:

bash npm start

Integration with Claude AI Environment

To embed this service within the Claude operational framework, it must be registered within the designated MCP configuration manifest:

  1. For the Claude Visual Studio Code extension, place configuration details into c:\Users\<username>\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json.
  2. For the standalone Claude desktop application on Windows, reference %APPDATA%\Claude\claude_desktop_config.json.

Illustrative Configuration Snippet:

{ "mcpServers": { "hatch": { "command": "node", "args": ["E:/mcp-servers/hatch/dist/index.js"], "env": { "HATCH_API_KEY": "your_secret_api_key_here" }, "disabled": false, "autoApprove": [] } } }

Ensure that your_secret_api_key_here is substituted with your genuine Hatch access token.

Environmental Configuration Variables

The runtime behavior of the service is tunable via system environment variables:

  • HATCH_API_KEY (Mandatory): Your authenticated Hatch service credential.
  • HATCH_API_URL (Optional): Override for the default endpoint (defaults to https://api.hatchhq.ai).
  • HATCH_RETRY_MAX_ATTEMPTS: Maximum allowed retries for failed API interactions (Default: 3).
  • HATCH_RETRY_INITIAL_DELAY: Starting pause duration (in milliseconds) before initiating a retry sequence (Default: 1000).
  • HATCH_RETRY_MAX_DELAY: Upper bound for the pause duration during backoff scaling (Default: 10000).
  • HATCH_RETRY_BACKOFF_FACTOR: Multiplier applied to subsequent delay intervals (Default: 2).

Exposed Utility Functions

hatch_find_email

Retrieves a potential correspondence identifier given an individual's given name, family name, and corporate domain.

Parameters: - firstName (Required): Person's initial name. - lastName (Required): Person's surname. - domain (Required): The organization's web address suffix.

hatch_find_phone

Ascertains a numerical telecommunication identifier by referencing a professional network profile URL.

Parameters: - linkedInUrl (Required): The specific URL pointing to the individual's professional network page.

hatch_verify_email

Performs a check to confirm the validity and current active status of a specified electronic mail address.

Parameters: - email (Required): The electronic mail address slated for verification.

hatch_find_company_data

Fetches detailed descriptive intelligence about a business entity, indexed by its domain name.

Parameters: - domain (Required): The target organization's domain identifier.

hatch_get_linkedin_url

Discovers the direct Uniform Resource Locator for a professional networking profile based on identifying attributes.

Parameters: - name: Full appellation of the individual. - designation: The person's occupational title or functional assignment. - companyName (Required): The name of the employing entity.

Licensing

This project operates under the MIT license terms.

WIKIPEDIA: XMLHttpRequest (XHR) represents an Application Programming Interface, structured as a JavaScript object, whose methods are utilized to transmit Hypertext Transfer Protocol requests from a client-side web browser environment toward a remote web server. These functionalities enable browser-resident applications to dispatch queries subsequent to page rendering completion and subsequently receive resultant data. XMLHttpRequest forms a fundamental constituent of the Asynchronous JavaScript and XML (Ajax) programming paradigm. Preceding the advent of Ajax, the primary mechanisms for server interaction involved standard hyperlink navigation and HTML form submissions, often resulting in a complete screen refresh.

== Chronology == The fundamental concept underpinning XMLHttpRequest was first articulated in the year 2000 by the engineering team responsible for Microsoft Outlook development. This concept was subsequently actualized within the Internet Explorer version 5 browser (released in 1999). However, the initial invocation syntax did not employ the designated 'XMLHttpRequest' identifier. Instead, the developers relied upon invoking constructor functions such as ActiveXObject("Msxml2.XMLHTTP") and ActiveXObject("Microsoft.XMLHTTP"). As of the release of Internet Explorer version 7 (2006), standardized native support for the XMLHttpRequest identifier became universally adopted across all major browser platforms. The XMLHttpRequest identifier has since established itself as the prevailing convention across all prominent browser rendering engines, including Mozilla's Gecko engine (since 2002), Apple's Safari 1.2 (2004), and Opera 8.0 (2005).

=== Standardization Efforts === The World Wide Web Consortium (W3C) formally published an initial Working Draft specification document detailing the XMLHttpRequest object on April 5, 2006. Subsequently, on February 25, 2008, the W3C released the Working Draft specification for Level 2 features. The Level 2 update introduced enhanced methods for monitoring the progress of ongoing operations, provisions for facilitating cross-origin resource sharing (cross-site requests), and mechanisms for managing raw byte streams. By the conclusion of 2011, the Level 2 feature set was fully integrated and absorbed into the primary specification document. At the close of 2012, stewardship over the ongoing evolution of the specification transitioned to the WHATWG group, which maintains a continuously updating document utilizing the Web Interface Definition Language (Web IDL) for notation.

== Operational Workflow == Generally, the process of dispatching a server request using XMLHttpRequest necessitates adherence to several sequential programming stages.

  1. Instantiation of an XMLHttpRequest object via a constructor call:
  2. Invocation of the "open" method to define the communication modality (request type), specify the target resource address, and declare whether the operation should be sequential (synchronous) or concurrent (asynchronous):
  3. For asynchronous operations, the attachment of an event listener function is required, which will be triggered upon changes in the request's state:
  4. Commencement of the network transfer via the "send" method, optionally carrying payload data:
  5. Monitoring and processing state transitions within the designated event listener callback. If the server successfully transmits response content, this data is typically archived within the responseText property by default. When the object finalizes processing the server's reply, its state transitions to 4, signifying the "completed" status. Beyond these fundamental steps, XMLHttpRequest provides numerous granular controls over request transmission parameters and response handling logic. Custom header fields can be injected into the outgoing request to convey specific instructions to the server regarding fulfillment. Data payloads can be transferred to the server by embedding them within the argument passed to the "send" call. The retrieved data stream can be automatically parsed from its native JSON format into native, executable JavaScript objects, or it can be processed incrementally as chunks arrive rather than awaiting total data reception. Furthermore, the initiated request can be forcefully terminated prematurely or configured with a timeout threshold to prevent indefinite waiting.

== Inter-domain Communication ==

During the nascent phases of the World Wide Web's evolution, the potential for security exploits arising from unconstrained communication between disparate origins was recognized, leading to the implementation of restrictions, commonly referred to as the Same-Origin Policy, which XMLHttpRequest initially adhered to strictly.

See Also

`