by horizondatawave
Access LinkedIn, Instagram, and Reddit data along with robust user account management through the HorizonDataWave API.
Hdw Mcp Server offers a Model Context Protocol interface that enables retrieval and manipulation of LinkedIn, Instagram, and Reddit information. It supports searching profiles, fetching posts, comments, reactions, and performing account actions such as sending messages, connection requests, and posting comments.
HDW_ACCESS_TOKEN
and HDW_ACCOUNT_ID
obtained from the HorizonDataWave portal.npx -y @horizondatawave/mcp
command and the environment variables.search_linkedin_users
, get_instagram_user_posts
) through the MCP protocol, passing the required parameters.Q: Which credentials are required?
A: HDW_ACCESS_TOKEN
and HDW_ACCOUNT_ID
from the HorizonDataWave portal.
Q: Can I use the server without Node.js? A: The server is a Node.js package; a Node runtime is mandatory.
Q: How many results can I request per call? A: Most list‑type tools default to 10 and allow up to 1,000 (LinkedIn user search) or specified caps per tool.
Q: Is there a rate limit? A: Limits are governed by your HorizonDataWave account credits; each request consumes credits accordingly.
Q: How do I integrate with Claude Desktop?
A: Add the provided JSON snippet to claude_desktop_config.json
under mcpServers
with the hdw
key.
Q: What if I need custom parameters? A: Each tool’s definition lists optional parameters; you can omit them to use defaults.
Q: Is the source code open‑source? A: Yes, the project is licensed under the MIT License and hosted on GitHub.
LinkedIn Users Search: Filter and search for LinkedIn users by keywords, name, title, company, location, industry, and education.
Profile Lookup: Retrieve detailed profile information for a LinkedIn user.
Email Lookup: Find LinkedIn user details by email address.
Posts & Reactions: Retrieve a user's posts and associated reactions.
Post Reposts, Comments & Reactions: Retrieve reposts, comments, and reactions for a specific LinkedIn post.
Account Management:
Company Search & Details:
Google Search
Reddit Search: Search for Reddit posts with various filters including query, sort options, time filters, and result count.
Instagram Data Access:
HDW MCP Server exposes several tools through the MCP protocol. Each tool is defined with its name, description, and input parameters:
Search LinkedIn Users
Name: search_linkedin_users
Description: Search for LinkedIn users with various filters.
Parameters:
keywords
(optional): Any keyword for search.first_name
, last_name
, title
, company_keywords
, school_keywords
(optional).current_company
, past_company
, location
, industry
, education
(optional).count
(optional, default: 10): Maximum number of results (max 1000).timeout
(optional, default: 300): Timeout in seconds (20–1500).Get LinkedIn Profile
Name: get_linkedin_profile
Description: Retrieve detailed profile information about a LinkedIn user.
Parameters:
user
(required): User alias, URL, or URN.with_experience
, with_education
, with_skills
(optional, default: true).Get LinkedIn Email User
Name: get_linkedin_email_user
Description: Look up LinkedIn user details by email.
Parameters:
email
(required): Email address.count
(optional, default: 5).timeout
(optional, default: 300).Get LinkedIn User Posts
Name: get_linkedin_user_posts
Description: Retrieve posts for a LinkedIn user by URN.
Parameters:
urn
(required): User URN (must include prefix, e.g. fsd_profile:...
).count
(optional, default: 10).timeout
(optional, default: 300).Get LinkedIn User Reactions
Name: get_linkedin_user_reactions
Description: Retrieve reactions for a LinkedIn user by URN.
Parameters:
urn
(required).count
(optional, default: 10).timeout
(optional, default: 300).Get LinkedIn User Comments
Name: get_linkedin_user_comments
Description: Retrieve comments for a LinkedIn user by URN.
Parameters:
urn
(required): User URN (with prefix).count
(optional, default: 10).timeout
(optional, default: 300).commented_after
(optional): Filter comments created after the specified timestamp.Get LinkedIn Chat Messages
Name: get_linkedin_chat_messages
Description: Retrieve top chat messages from the LinkedIn management API.
Parameters:
user
(required): User URN (with prefix).count
(optional, default: 20).timeout
(optional, default: 300).Send LinkedIn Chat Message
Name: send_linkedin_chat_message
Description: Send a chat message using the LinkedIn management API.
Parameters:
user
(required): Recipient user URN (with prefix).text
(required): Message text.timeout
(optional, default: 300).Send LinkedIn Connection Request
Name: send_linkedin_connection
Description: Send a connection invitation to a LinkedIn user.
Parameters:
user
(required).timeout
(optional, default: 300).Send LinkedIn Post Comment
Name: send_linkedin_post_comment
Description: Create a comment on a LinkedIn post or reply.
Parameters:
text
(required): Comment text.urn
(required): Activity or comment URN.timeout
(optional, default: 300).Get LinkedIn User Connections
Name: get_linkedin_user_connections
Description: Retrieve a list of LinkedIn user connections.
Parameters:
connected_after
(optional): Timestamp filter.count
(optional, default: 20).timeout
(optional, default: 300).Get LinkedIn Post Reposts
Name: get_linkedin_post_reposts
Description: Retrieve reposts for a LinkedIn post.
Parameters:
urn
(required): Post URN (must start with activity:
).count
(optional, default: 10).timeout
(optional, default: 300).Get LinkedIn Post Comments
Name: get_linkedin_post_comments
Description: Retrieve comments for a LinkedIn post.
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_reactions
Description: Retrieve reactions for a LinkedIn post.
Parameters:
urn
(required): Post URN (must start with activity:
).count
(optional, default: 50).timeout
(optional, default: 300).Get LinkedIn Google Company
Name: get_linkedin_google_company
Description: Search for LinkedIn companies via Google – the first result is typically the best match.
Parameters:
keywords
(required): Array of company keywords.with_urn
(optional, default: false).count_per_keyword
(optional, default: 1; range 1–10).timeout
(optional, default: 300).Get LinkedIn Company
Name: get_linkedin_company
Description: Retrieve detailed information about a LinkedIn company.
Parameters:
company
(required): Company alias, URL, or URN.timeout
(optional, default: 300).Get LinkedIn Company Employees
Name: get_linkedin_company_employees
Description: Retrieve employees of a LinkedIn company.
Parameters:
companies
(required): Array of company URNs.keywords
, first_name
, last_name
(optional).count
(optional, default: 10).timeout
(optional, default: 300).Search Reddit Posts
Name: search_reddit_posts
Description: Search for Reddit posts with various filters.
Parameters:
query
(required): Main search query.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): Max result count.timeout
(optional, default: 300).Get Instagram User
Name: get_instagram_user
Description: Get Instagram user information by URL, alias or ID.
Parameters:
user
(required): User ID, alias or URL.timeout
(optional, default: 300): Timeout in seconds (20-1500).Get Instagram User Posts
Name: get_instagram_user_posts
Description: Get Instagram user posts.
Parameters:
user
(required): User ID, alias or URL.count
(required): Max result count.timeout
(optional, default: 300): Timeout in seconds (20-1500).Get Instagram Post Comments
Name: get_instagram_post_comments
Description: Get Instagram post comments.
Parameters:
post
(required): Post ID.count
(required): Max result count.timeout
(optional, default: 300): Timeout in seconds (20-1500).To install HDW MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @horizondatawave/hdw-mcp-server --client claude
Open your terminal and run the following commands:
# Clone the repository
git clone https://github.com/horizondatawave/hdw-mcp-server.git
# Change directory to the project folder
cd hdw-mcp-server
# Install dependencies
npm install
Register at app.horizondatawave.ai to get your API key and 100 free credits. You will receive your HDW_ACCESS_TOKEN and HDW_ACCOUNT_ID.
Create a .env
file in the root of your project with the following content:
HDW_ACCESS_TOKEN=YOUR_HD_W_ACCESS_TOKEN
HDW_ACCOUNT_ID=YOUR_HD_W_ACCOUNT_ID
Update your Claude configuration file (claude_desktop_config.json
) with the following content:
{
"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"
}
}
}
}
Configuration file location:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Easy way:
Open Cursor Settings and add a new MCP server with the command:
env HDW_ACCESS_TOKEN=your-access-token HDW_ACCOUNT_ID=your-account-id node /path/to/your/build/index.js
Safe way:
Copy the provided template run.template.sh
to a new file (e.g. run.sh
), update it with your credentials, and configure Cursor to run:
sh /path/to/your/run.sh
Update your Windsurf configuration file (mcp_config.json
) with the following content:
{
"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"
}
}
}
}
Note: After configuration, you can disable official web tools to conserve your API credits.
Below is an example configuration for an MCP client (e.g., a custom integration):
{
"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"
}
}
}
}
Replace the paths and credentials with your own values.
This project is licensed under the MIT License.
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "hdw": { "command": "npx", "args": [ "-y", "@horizondatawave/mcp" ], "env": { "HDW_ACCESS_TOKEN": "<YOUR_API_KEY>", "HDW_ACCOUNT_ID": "<YOUR_ACCOUNT_ID>" } } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by lharries
Enables searching, reading, and sending personal WhatsApp messages and media through a Model Context Protocol (MCP) server, storing all data locally in SQLite and exposing controlled tools for LLMs like Claude.
by iFurySt
Provides authenticated access to XiaoHongShu (RedNote) notes, supporting keyword search, note retrieval by URL, and cookie persistence via a Model Context Protocol server.
by korotovsky
Provides a powerful Model Context Protocol interface for Slack workspaces, enabling message retrieval, search, and optional posting via Stdio or SSE transports without requiring bot permissions.
by ZubeidHendricks
Provides a standardized interface for interacting with YouTube content, enabling video retrieval, transcript access, channel and playlist management, and advanced analytics through the Model Context Protocol.
by InditexTech
Provides Microsoft Teams integration via the Model Context Protocol, enabling reading, creating, replying to messages and mentioning members.
by chigwell
Provides a full‑featured Telegram integration for MCP‑compatible clients, enabling programmatic access to chats, messages, contacts, profile management, and group administration.
by EnesCinr
Interact with Twitter to post tweets and search tweets programmatically via an MCP server.
by chaindead
Manages Telegram dialogs, messages, drafts, and read statuses via the Model Context Protocol, enabling AI assistants to query and interact with Telegram accounts.
by carterlasalle
Securely interfaces with the macOS Messages database via MCP, enabling LLMs to query, analyze, filter, and send iMessage or SMS communications with built‑in phone number validation, attachment handling, and group chat support.