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

SocialGraph Data Access Service

This Model Context Protocol service facilitates interaction with specific social network data streams, primarily LinkedIn and Instagram, via a proprietary API. In the context of business management tools, this system aids organizations in maintaining a competitive position by gathering intelligence. It supports retrieving detailed user profiles, analyzing public engagement metrics, and performing targeted searches across these platforms, mirroring the functionality of broader systems designed to cope with evolving market information.

Author

SocialGraph Data Access Service logo

horizondatawave

MIT License

Quick Info

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

Tags

linkedinhorizondatawavehdwtools horizondatawaveaccess linkedinlinkedin data

Introduction

This Model Context Protocol (MCP) server delivers broad access to data and operational capabilities associated with LinkedIn and Instagram through the HorizonDataWave Application Programming Interface. Such systems, crucial for modern business management tools, allow organizations to monitor external environments and adapt strategies. The server enables both the extraction of platform data and the controlled administration of associated user accounts.

Core Capabilities

This service exposes several distinct functions for data retrieval and interaction across integrated platforms. The capabilities focus on user identification, content analysis, and relationship management.

  • LinkedIn Professional Search: Discover LinkedIn members using detailed criteria such as named entities, organizational affiliations, geographic location, professional field, and educational background. This allows for precise target identification.
  • Profile Examination: Obtain comprehensive profile data for specified LinkedIn individuals.
  • Email-Based Identification: Resolve LinkedIn user details when an email address is provided.
  • Content and Engagement Tracking: Access content posted by a user along with associated responses, such as likes or other reactions.
  • Post Interaction Analysis: Retrieve subsequent reposts, comments, and reactions linked to a particular LinkedIn activity item.
  • Account Operation Support: This includes retrieving and dispatching private messages through the dedicated management interface. Furthermore, users can initiate new network invitations and generate comments on existing public posts or replies.
  • Network Status Retrieval: List the established connections associated with a specific user account.
  • Corporate Intelligence: Perform searches for businesses using external search engines like Google, often identifying the most relevant entity first. Retrieve detailed organizational records and associated personnel lists.
  • External Content Search: Search capabilities extend to the Reddit platform, allowing filtering by query, sorting criteria, timeframes, and result volume.
  • Instagram Data Acquisition: Secure detailed user records, associated posts, and comments based on various identifying inputs like user URL or unique ID.

Tool Specifications

HDW MCP Server makes its capabilities available through defined tools conforming to the MCP standard. Each tool possesses a unique identifier, a descriptive purpose, and required or optional input arguments.

  1. Search LinkedIn Users Name: search_linkedin_users Description: Locate LinkedIn members applying various filtering dimensions. Parameters:
  2. keywords (optional): General search term.
  3. first_name, last_name, title, company_keywords, school_keywords (optional).
  4. current_company, past_company, location, industry, education (optional).
  5. count (optional, default: 10): Limits returned records, maximum 1000.
  6. timeout (optional, default: 300): Operation duration limit in seconds (range 20–1500).

  7. Get LinkedIn Profile Name: get_linkedin_profile Description: Fetch detailed personal information for a LinkedIn user. Parameters:

  8. user (required): Identifier such as alias, URL, or URN.
  9. with_experience, with_education, with_skills (optional, default: true).

  10. Get LinkedIn Email User Name: get_linkedin_email_user Description: Identify LinkedIn user records linked to a provided electronic mail address. Parameters:

  11. email (required): The email address string.
  12. count (optional, default: 5).
  13. timeout (optional, default: 300).

  14. Get LinkedIn User Posts Name: get_linkedin_user_posts Description: Retrieve published articles or updates for a specified LinkedIn member URN. Parameters:

  15. urn (required): Member URN, requiring a prefix like fsd_profile:....
  16. count (optional, default: 10).
  17. timeout (optional, default: 300).

  18. Get LinkedIn User Reactions Name: get_linkedin_user_reactions Description: Obtain all tracked reactions associated with a user's activities via URN. Parameters:

  19. urn (required).
  20. count (optional, default: 10).
  21. timeout (optional, default: 300).

  22. Get LinkedIn User Comments Name: get_linkedin_user_comments Description: Fetch comments posted by a user, identified by their URN. Parameters:

  23. urn (required): User URN, including its necessary prefix.
  24. count (optional, default: 10).
  25. timeout (optional, default: 300).
  26. commented_after (optional): Filters output based on a preceding timestamp.

  27. Get LinkedIn Chat Messages Name: get_linkedin_chat_messages Description: Retrieve a collection of recent chat communications from the management interface. Parameters:

  28. user (required): Target user URN, which must contain the correct prefix.
  29. count (optional, default: 20).
  30. timeout (optional, default: 300).

  31. Send LinkedIn Chat Message Name: send_linkedin_chat_message Description: Transmit a message to another user using the appropriate management interface. Parameters:

  32. user (required): Recipient's URN, including the necessary prefix.
  33. text (required): The content of the message to be sent.
  34. timeout (optional, default: 300).

  35. Send LinkedIn Connection Request Name: send_linkedin_connection Description: Initiate a formal connection invitation toward another LinkedIn member. Parameters:

  36. user (required): Target member identifier.
  37. timeout (optional, default: 300).

  38. Send LinkedIn Post Comment Name: send_linkedin_post_comment Description: Submit a comment or reply directed at a specific platform activity. Parameters:

    • text (required): The text content of the comment.
    • urn (required): The unique identifier for the activity or the comment being replied to.
    • timeout (optional, default: 300).
  39. Get LinkedIn User Connections Name: get_linkedin_user_connections Description: List all current connections belonging to the identified user account. Parameters:

    • connected_after (optional): Filter connections established after this specific time point.
    • count (optional, default: 20).
    • timeout (optional, default: 300).
  40. Get LinkedIn Post Reposts Name: get_linkedin_post_reposts Description: Fetch instances where a specific post was shared or reposted. Parameters:

    • urn (required): Post identifier, which must begin with activity:.
    • count (optional, default: 10).
    • timeout (optional, default: 300).
  41. Get LinkedIn Post Comments Name: get_linkedin_post_comments Description: Retrieve comments associated with a particular piece of LinkedIn activity. Parameters:

    • urn (required).
    • sort (optional, default: "relevance"; allowed values: "relevance", "recent").
    • count (optional, default: 10).
    • timeout (optional, default: 300).
  42. Get LinkedIn Post Reactions Name: get_linkedin_post_reactions Description: Access the list of reactions given to a specific activity item. Parameters:

    • urn (required): Activity URN, starting with activity:.
    • count (optional, default: 50).
    • timeout (optional, default: 300).
  43. Get LinkedIn Google Company Name: get_linkedin_google_company Description: Execute a corporate name search via Google to locate the corresponding LinkedIn entry, using the first result as the probable match. Parameters:

    • keywords (required): A list of terms describing the organization.
    • with_urn (optional, default: false): Include the URN in results.
    • count_per_keyword (optional, default: 1; valid range 1–10).
    • timeout (optional, default: 300).
  44. Get LinkedIn Company Name: get_linkedin_company Description: Retrieve detailed informational records for a specified organization entity. Parameters:

    • company (required): Company alias, web address, or unique identifier.
    • timeout (optional, default: 300).
  45. Get LinkedIn Company Employees Name: get_linkedin_company_employees Description: Extract lists of personnel employed by the specified company records. Parameters:

    • companies (required): An array containing company URNs.
    • keywords, first_name, last_name (optional).
    • count (optional, default: 10).
    • timeout (optional, default: 300).
  46. Search Reddit Posts Name: search_reddit_posts Description: Query the Reddit platform for content using various selection parameters. Parameters:

    • query (required): The primary search phrase.
    • sort (optional, default: "relevance"; options: "relevance", "hot", "top", "new", "comments").
    • time_filter (optional, default: "all"; options: "all", "year", "month", "week", "day", "hour").
    • count (required): The maximum quantity of results to return.
    • timeout (optional, default: 300).
  47. Get Instagram User Name: get_instagram_user Description: Retrieve data pertaining to an Instagram account via its ID, alias, or URL. Parameters:

    • user (required): The identifier for the Instagram entity.
    • timeout (optional, default: 300): Time limit setting in seconds (range 20–1500).
  48. Get Instagram User Posts Name: get_instagram_user_posts Description: Fetch the published content stream belonging to a specified Instagram user. Parameters:

    • user (required): The identifier for the Instagram entity.
    • count (required): The maximum number of posts requested.
    • timeout (optional, default: 300): Time limit setting in seconds (range 20–1500).
  49. Get Instagram Post Comments Name: get_instagram_post_comments Description: Access user feedback associated with a particular Instagram media item. Parameters:

    • post (required): The unique identifier for the content item.
    • count (required): The maximum quantity of comments sought.
    • timeout (optional, default: 300): Time limit setting in seconds (range 20–1500).

Setup Guide

Automated Deployment via Smithery

Installation for Claude Desktop environments can be managed automatically using the Smithery interface:

npx -y @smithery/cli install @horizondatawave/hdw-mcp-server --client claude

Local Repository Initialization (macOS Example)

Initiate the process by cloning the necessary files from the source repository into your local system using the terminal:

# Duplicate the repository contents
git clone https://github.com/horizondatawave/hdw-mcp-server.git

# Navigate into the created project directory
cd hdw-mcp-server

# Install required software components
npm install

2. Securing API Credentials

Access the HorizonDataWave portal at app.horizondatawave.ai to complete registration and secure your required API key and initial usage credits. You must record the generated HDW_ACCESS_TOKEN and the HDW_ACCOUNT_ID.


3. Environment Variable Configuration

Establish a file named .env within the primary directory of the project. Populate this file with your specific credentials as follows:

HDW_ACCESS_TOKEN=YOUR_HD_W_ACCESS_TOKEN
HDW_ACCOUNT_ID=YOUR_HD_W_ACCOUNT_ID

4. Client Integration Steps

4.1 Claude Desktop Integration

Modify your local configuration file for Claude Desktop, named claude_desktop_config.json, by inserting the following structure:

{
  "mcpServers": {
    "hdw": {
      "command": "npx",
      "args": ["-y","@horizondatawave/mcp"],
      "env": {
        "HDW_ACCESS_TOKEN": "YOUR_HD_W_ACCESS_TOKEN",
        "HDW_ACCOUNT_ID": "YOUR_HD_W_ACCOUNT_ID"
      }
    }
  }
}

Locate your configuration file using these standard system paths:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

4.2 Cursor Integration

For rapid implementation, access Cursor's settings interface and introduce a new MCP server definition. The execution command should resemble this structure:

env HDW_ACCESS_TOKEN=your-access-token HDW_ACCOUNT_ID=your-account-id node /path/to/your/build/index.js

Alternatively, for a controlled approach, copy the provided run.template.sh script to a new file like run.sh. After updating that file with your credentials, instruct Cursor to execute /path/to/your/run.sh.

4.3 Windsurf Integration

Update the Windsurf configuration file, typically named mcp_config.json, to include the server definition:

{
  "mcpServers": {
    "hdw": {
      "command": "npx",
      "args": ["-y","@horizondatawave/mcp"],
      "env": {
        "HDW_ACCESS_TOKEN": "YOUR_HD_W_ACCESS_TOKEN",
        "HDW_ACCOUNT_ID": "YOUR_HD_W_ACCOUNT_ID"
      }
    }
  }
}

Guidance: Once this server is successfully configured, consider deactivating the platform's built-in network tools to manage service credit consumption effectively.


Example Client Integration Definition

This snippet illustrates how an external MCP consumer, such as a custom application, might define this service connection:

{
  "mcpServers": {
    "hdw": {
      "command": "npx",
      "args": ["-y","@horizondatawave/mcp"],
      "env": {
        "HDW_ACCESS_TOKEN": "YOUR_HD_W_ACCESS_TOKEN",
        "HDW_ACCOUNT_ID": "YOUR_HD_W_ACCOUNT_ID"
      }
    }
  }
}

Please substitute all placeholder values with your actual configuration details.

  • API Gateway Management
  • Competitive Intelligence Gathering
  • Data Extraction Protocols (MCP)
  • Network Graph Analysis
  • Social Media Data Governance
  • Enterprise Resource Planning Interfaces

Extra Details

This service aggregates capabilities previously distributed across separate components, offering a unified interface for social media data interaction. The integration with external search methods, such as Google lookups for company mapping, demonstrates a pragmatic approach to data triangulation, which is often necessary for robust business performance analysis in dynamic sectors. Managing account actions directly provides automation benefits for outreach and monitoring tasks.

Conclusion

This specialized server provides essential data connectivity for tools aimed at improving organizational competitiveness and managing market position. By efficiently accessing and processing social data, it supports the strategic decision-making required to navigate complex, changing business landscapes. Utilizing this infrastructure helps streamline operational monitoring activities.

See Also

`