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

Network Data Orchestrator (NDO)

This system facilitates interaction with professional networking platforms, specifically LinkedIn and the media sharing service Instagram. It enables the retrieval of user profiles, detailed activity data, and management of network connections, drawing parallels to how online platforms build virtual communities through user-generated content and profile maintenance. The service supports targeted searches across these distinct social ecosystems.

Author

Network Data Orchestrator (NDO) logo

horizondatawave

MIT License

Quick Info

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

Tags

linkedinhorizondatawavesocialautomation socialintegration socialsocial media

Introduction

This service operates as a Model Context Protocol (MCP) intermediary. It grants controlled access to data streams from professional connection sites like LinkedIn and visual content platforms such as Instagram. Platforms of this nature enable users to build virtual networks by sharing expression and interacting with community-created material. The system supports sophisticated querying and data harvesting, mirroring the function of large-scale social networking services.

Functionality Summary

This suite of capabilities allows for extensive data extraction and limited active management within supported environments.

  • Professional Network Search: Locate individuals on professional sites using detailed criteria like employment history, educational background, location, or industry segment. Filtering options are extensive.
  • Profile Examination: Obtain comprehensive data sets detailing an individual's professional history and credentials.
  • Contact Resolution: Identify professional profiles through associated electronic mail addresses.
  • Activity Tracking: Retrieve published content from a user along with recorded engagement metrics like endorsements or appreciation.
  • Engagement Analysis: Access details regarding reposts, commentary, and reactions directed toward specific published items.
  • Network Maintenance (Limited):
  • Messaging: Functionality exists to fetch and dispatch direct communications via the management interface.
  • Relationship Building: Capability to transmit formal invitations to establish new professional linkages.
  • Content Interaction: Tools permit the drafting of replies to existing discussions or comments on public posts.
  • Connection Listing: Retrieve lists detailing an individual's current professional associations.
  • Organizational Data Retrieval:
  • Preliminary Identification: Use general search engines to locate organizational profiles, prioritizing the most probable match.
  • Firm Details: Fetch in-depth information pertaining to a specific registered entity.
  • Personnel Mapping: List employees associated with a particular organization profile.

Additionally, the system integrates search capabilities for content distributed across the forum-style community platform, Reddit, allowing filtering by topic, popularity metric, and time frame.

Tool Interface Definitions

This NDO exposes distinct operational tools conforming to the MCP standard. Each tool includes a specific identifier, a functional description, and required/optional input specifications.

  1. Search Professional Network Users Name: search_linkedin_users Description: Execute targeted searches for individuals on the professional platform using multiple criteria. Parameters:
  2. keywords (optional): Text to match against profile attributes.
  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 the maximum number of results returned (maximum 1000).
  6. timeout (optional, default: 300): Sets the operational time limit in seconds (range 20–1500).

  7. Retrieve Professional Profile Name: get_linkedin_profile Description: Secure comprehensive attribute data for a specified professional network member. Parameters:

  8. user (required): The identifier, Uniform Resource Locator (URL), or Unique Resource Name (URN) of the target user.
  9. with_experience, with_education, with_skills (optional, default: true).

  10. Resolve Professional Identity by Email Name: get_linkedin_email_user Description: Determine associated professional identity details when an email address is provided. Parameters:

  11. email (required): The electronic mail address to query.
  12. count (optional, default: 5).
  13. timeout (optional, default: 300).

  14. Fetch User Published Content Name: get_linkedin_user_posts Description: Retrieve the sequence of content items published by a specific user, identified by their URN. Parameters:

  15. urn (required): The user's unique identifier, which must include its specific prefix (e.g., fsd_profile:...).
  16. count (optional, default: 10).
  17. timeout (optional, default: 300).

  18. Fetch User Engagement Metrics Name: get_linkedin_user_reactions Description: Obtain the metrics detailing how others have reacted to the content of a specific user, identified by URN. Parameters:

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

  22. Fetch User Commentary History Name: get_linkedin_user_comments Description: Retrieve the recorded comments made by a specific user, identified by URN. Parameters:

  23. urn (required): User URN, including the necessary prefix.
  24. count (optional, default: 10).
  25. timeout (optional, default: 300).
  26. commented_after (optional): Filters results to those posted after a specific time value.

  27. Retrieve Direct Message History Name: get_linkedin_chat_messages Description: Fetch recent direct message exchanges using the account administration interface. Parameters:

  28. user (required): The recipient's URN, requiring a prefix.
  29. count (optional, default: 20).
  30. timeout (optional, default: 300).

  31. Transmit Direct Message Name: send_linkedin_chat_message Description: Issue a new direct message to another user via the management API. Parameters:

  32. user (required): The target recipient's URN, including the required prefix.
  33. text (required): The actual content of the communication.
  34. timeout (optional, default: 300).

  35. Issue Connection Proposal Name: send_linkedin_connection Description: Submit an invitation to form a new professional relationship. Parameters:

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

  38. Submit Content Commentary Name: send_linkedin_post_comment Description: Add a written response to a publicly visible item or reply to an existing comment. Parameters:

    • text (required): The textual body of the comment.
    • urn (required): The identifier of the target activity or existing comment.
    • timeout (optional, default: 300).
  39. List User Associates Name: get_linkedin_user_connections Description: Obtain a list of all contacts currently associated with the queried user. Parameters:

    • connected_after (optional): Filters the returned list based on a connection timestamp.
    • count (optional, default: 20).
    • timeout (optional, default: 300).
  40. Fetch Content Repost Records Name: get_linkedin_post_reposts Description: Retrieve records indicating which other users reposted a specified piece of content. Parameters:

    • urn (required): The content's identifier, which must start with activity:.
    • count (optional, default: 10).
    • timeout (optional, default: 300).
  41. Retrieve Item Commentary Log Name: get_linkedin_post_comments Description: Fetch the collection of comments associated with a particular published item. Parameters:

    • urn (required).
    • sort (optional, default: "relevance"; valid values: "relevance", "recent").
    • count (optional, default: 10).
    • timeout (optional, default: 300).
  42. Fetch Content Appreciation Metrics Name: get_linkedin_post_reactions Description: Obtain the list of specific reactions applied to a published item. Parameters:

    • urn (required): Post identifier, starting with activity:.
    • count (optional, default: 50).
    • timeout (optional, default: 300).
  43. Locate Organization via Search Engine Name: get_linkedin_google_company Description: Employ a general search index to find corresponding organization profiles; the initial result is usually the correct match. Parameters:

    • keywords (required): A list of terms describing the entity.
    • with_urn (optional, default: false).
    • count_per_keyword (optional, default: 1; range 1–10).
    • timeout (optional, default: 300).
  44. Acquire Organization Details Name: get_linkedin_company Description: Retrieve the complete information record for an organization using its identifier. Parameters:

    • company (required): The organization's alias, URL, or URN.
    • timeout (optional, default: 300).
  45. List Organization Workforce Name: get_linkedin_company_employees Description: Fetch the list of personnel linked to a specified organizational URN. Parameters:

    • companies (required): An array containing the required organization URNs.
    • keywords, first_name, last_name (optional).
    • count (optional, default: 10).
    • timeout (optional, default: 300).
  46. Search Public Discussion Records Name: search_reddit_posts Description: Query the content repository on the discussion forum using various control settings. Parameters:

    • query (required): The central term for the search.
    • sort (optional, default: "relevance"; allowed values: "relevance", "hot", "top", "new", "comments").
    • time_filter (optional, default: "all"; allowed values: "all", "year", "month", "week", "day", "hour").
    • count (required): Specification for the maximum number of items to return.
    • timeout (optional, default: 300).
  47. Acquire Image-Sharing User Data Name: get_instagram_user Description: Obtain specific user profile information from the visual media service using an ID, alias, or address. Parameters:

    • user (required): The identifier, alias, or URL of the user.
    • timeout (optional, default: 300): Operational time constraint in seconds (20–1500).
  48. Fetch Image-Sharing User Submissions Name: get_instagram_user_posts Description: Retrieve the collection of publicly shared content items by a specific user. Parameters:

    • user (required): The user's identifying information.
    • count (required): The maximum quantity of submissions requested.
    • timeout (optional, default: 300): Operational time constraint in seconds (20–1500).
  49. Retrieve Image Post Commentary Name: get_instagram_post_comments Description: Get the recorded textual feedback associated with a specific media item. Parameters:

    • post (required): The unique identifier for the content item.
    • count (required): The desired maximum volume of comments.
    • timeout (optional, default: 300): Operational time constraint in seconds (20–1500).

Installation Procedure

Automated Deployment via Smithery

To install this NDO environment automatically for use with Claude Desktop, execute this command in your terminal utility:

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

Manual Repository Setup (Operating Systems like macOS)

Begin by cloning the source repository using your command-line interface:

# Clone the project source code
git clone https://github.com/horizondatawave/hdw-mcp-server.git

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

# Install required software packages
npm install

2. Acquiring Authentication Tokens

Secure necessary credentials by finalizing your registration process at app.horizondatawave.ai. This yields your required API access key and an associated account identification number. You must record the HDW_ACCESS_TOKEN and HDW_ACCOUNT_ID.


3. Environment Variable Specification

Create a configuration file named .env within the main directory of the project. Populate this file with your obtained security strings as follows:

HDW_ACCESS_TOKEN=YOUR_HD_W_ACCESS_TOKEN
HDW_ACCOUNT_ID=YOUR_HD_W_ACCOUNT_ID

4. Client Environment Integration

4.1 Claude Desktop Application

Modify your Claude configuration file, typically named claude_desktop_config.json, to incorporate this 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"
      }
    }
  }
}

The typical location for this configuration file varies by operating system:

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

4.2 Cursor Editor Integration

Simplified Method: Access the Cursor application settings and introduce a new MCP server entry, using this precise execution string:

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

Standardized Method: Duplicate the provided template script named run.template.sh into a new file, such as run.sh. Ensure you substitute placeholder credentials within this script. Subsequently, instruct the Cursor application to execute this newly created shell script:

sh /path/to/your/run.sh

4.3 Windsurf Utility

Update the Windsurf configuration file, designated as mcp_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"
      }
    }
  }
}

Once all necessary configurations are complete, you might consider disabling other default web tools to preserve your allocated API usage credits.

Example Client Configuration Snippet

This snippet illustrates how another MCP client application, perhaps a custom script, might be initialized to communicate with this server:

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

Remember to replace the placeholder access keys and path information with your actual deployment details.

  • Social Networking Sites: Platforms primarily focused on creating and maintaining personal or professional relationships, exemplified by LinkedIn.
  • User-Generated Content (UGC): Material like text, images, or videos created and shared by platform users.
  • Microblogging: Systems emphasizing brief, rapid information exchange, often using short-form text.
  • Media Sharing Networks: Services centered on the distribution and interaction with visual media such as photos and video streams (e.g., Instagram).
  • Dialogic Transmission: A system where communication flows from many sources to many receivers, contrasting with traditional broadcast media.

Extra Details

This service aggregates functionality traditionally spread across several distinct social applications. Unlike older media forms transmitting information unidirectionally, these interactive platforms permit ongoing communal participation. The inclusion of Reddit search caters to accessing structured discussions within niche interest groups. Furthermore, the integration of both professional (LinkedIn) and media-focused (Instagram) APIs provides a broader view of digital presence data aggregation within the social ecosystem.

Conclusion

This Orchestrator tool successfully bridges programmatic access to data housed within major online community and professional networking environments. Its design facilitates structured data retrieval and limited interaction, supporting automated tasks that rely on accessing user profiles and content streams across these complex, interactive platforms for analysis or network management purposes.

See Also

`