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

horizondatawave
Quick Info
Actions
Tags
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.
- Search LinkedIn Users
Name:
search_linkedin_usersDescription: Locate LinkedIn members applying various filtering dimensions. Parameters: keywords(optional): General search term.first_name,last_name,title,company_keywords,school_keywords(optional).current_company,past_company,location,industry,education(optional).count(optional, default: 10): Limits returned records, maximum 1000.-
timeout(optional, default: 300): Operation duration limit in seconds (range 20–1500). -
Get LinkedIn Profile Name:
get_linkedin_profileDescription: Fetch detailed personal information for a LinkedIn user. Parameters: user(required): Identifier such as alias, URL, or URN.-
with_experience,with_education,with_skills(optional, default: true). -
Get LinkedIn Email User Name:
get_linkedin_email_userDescription: Identify LinkedIn user records linked to a provided electronic mail address. Parameters: email(required): The email address string.count(optional, default: 5).-
timeout(optional, default: 300). -
Get LinkedIn User Posts Name:
get_linkedin_user_postsDescription: Retrieve published articles or updates for a specified LinkedIn member URN. Parameters: urn(required): Member URN, requiring a prefix likefsd_profile:....count(optional, default: 10).-
timeout(optional, default: 300). -
Get LinkedIn User Reactions Name:
get_linkedin_user_reactionsDescription: Obtain all tracked reactions associated with a user's activities via URN. Parameters: urn(required).count(optional, default: 10).-
timeout(optional, default: 300). -
Get LinkedIn User Comments Name:
get_linkedin_user_commentsDescription: Fetch comments posted by a user, identified by their URN. Parameters: urn(required): User URN, including its necessary prefix.count(optional, default: 10).timeout(optional, default: 300).-
commented_after(optional): Filters output based on a preceding timestamp. -
Get LinkedIn Chat Messages Name:
get_linkedin_chat_messagesDescription: Retrieve a collection of recent chat communications from the management interface. Parameters: user(required): Target user URN, which must contain the correct prefix.count(optional, default: 20).-
timeout(optional, default: 300). -
Send LinkedIn Chat Message Name:
send_linkedin_chat_messageDescription: Transmit a message to another user using the appropriate management interface. Parameters: user(required): Recipient's URN, including the necessary prefix.text(required): The content of the message to be sent.-
timeout(optional, default: 300). -
Send LinkedIn Connection Request Name:
send_linkedin_connectionDescription: Initiate a formal connection invitation toward another LinkedIn member. Parameters: user(required): Target member identifier.-
timeout(optional, default: 300). -
Send LinkedIn Post Comment Name:
send_linkedin_post_commentDescription: 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).
-
Get LinkedIn User Connections Name:
get_linkedin_user_connectionsDescription: 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).
-
Get LinkedIn Post Reposts Name:
get_linkedin_post_repostsDescription: Fetch instances where a specific post was shared or reposted. Parameters:urn(required): Post identifier, which must begin withactivity:.count(optional, default: 10).timeout(optional, default: 300).
-
Get LinkedIn Post Comments Name:
get_linkedin_post_commentsDescription: 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).
-
Get LinkedIn Post Reactions Name:
get_linkedin_post_reactionsDescription: Access the list of reactions given to a specific activity item. Parameters:urn(required): Activity URN, starting withactivity:.count(optional, default: 50).timeout(optional, default: 300).
-
Get LinkedIn Google Company Name:
get_linkedin_google_companyDescription: 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).
-
Get LinkedIn Company Name:
get_linkedin_companyDescription: Retrieve detailed informational records for a specified organization entity. Parameters:company(required): Company alias, web address, or unique identifier.timeout(optional, default: 300).
-
Get LinkedIn Company Employees Name:
get_linkedin_company_employeesDescription: 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).
-
Search Reddit Posts Name:
search_reddit_postsDescription: 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).
-
Get Instagram User Name:
get_instagram_userDescription: 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).
-
Get Instagram User Posts Name:
get_instagram_user_postsDescription: 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).
-
Get Instagram Post Comments Name:
get_instagram_post_commentsDescription: 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.
Related Topics
- 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.
