HDW MCP Server

HDW MCP Server

A Model Context Protocol server that provides comprehensive access to LinkedIn data and functionality, enabling data retrieval and user account management through the HorizonDataWave API.

horizondatawave

Database Interaction
Data & App Analysis
Visit Server

README

HDW MCP Server

A Model Context Protocol (MCP) server that provides comprehensive access to LinkedIn data and functionalities using the HorizonDataWave API, enabling not only data retrieval but also robust management of user accounts.

Features

  • 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: Retrieve reposts and comments for a specific LinkedIn post.

  • Account Management:

    • Chat Functionality: Retrieve and send chat messages via the LinkedIn management API.
    • Connection Management: Send connection invitations to LinkedIn users.
    • Post Commenting: Create comments on LinkedIn posts or replies.
    • User Connections: Retrieve a list of a user's LinkedIn connections.
  • Company Search & Details:

    • Google Company Search: Find LinkedIn companies using Google search – the first result is typically the best match.
    • Company Lookup: Retrieve detailed information about a LinkedIn company.
    • Company Employees: Retrieve employees for a given LinkedIn company.
  • Google Search


Tools

HDW MCP Server exposes several tools through the MCP protocol. Each tool is defined with its name, description, and input parameters:

  1. 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).
  2. 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).
  3. 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).
  4. 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).
  5. 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).
  6. 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).
  7. 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).
  8. Send LinkedIn Connection Request
    Name: send_linkedin_connection
    Description: Send a connection invitation to a LinkedIn user.
    Parameters:

    • user (required).
    • timeout (optional, default: 300).
  9. 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).
  10. 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).
  11. 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).
  12. 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).
  13. 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).
  14. 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).
  15. 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).

Setup Guide

1. Clone the Repository (macOS)

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

2. Obtain Your API Credentials

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.


3. Configure the Environment

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

4. Client Configuration

4.1 Claude Desktop

Update your Claude configuration file (claude_desktop_config.json) with the following content:

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

Configuration file location:

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

4.2 Cursor

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

4.3 Windsurf

Update your Windsurf configuration file (mcp_config.json) with the following content:

{
  "mcpServers": {
    "hdw": {
      "command": "node",
      "args": ["/path/to/your/build/index.js"],
      "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.


MCP Client Example Configuration

Below is an example configuration for an MCP client (e.g., a custom integration):

{
  "mcpServers": {
    "hdw": {
      "command": "npx",
      "args": ["@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.

License

This project is licensed under the MIT License.

Recommended Servers

VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
AIO-MCP Server

AIO-MCP Server

🚀 All-in-one MCP server with AI search, RAG, and multi-service integrations (GitLab/Jira/Confluence/YouTube) for AI-enhanced development workflows. Folk from

Featured
Local
Persistent Knowledge Graph

Persistent Knowledge Graph

An implementation of persistent memory for Claude using a local knowledge graph, allowing the AI to remember information about users across conversations with customizable storage location.

Featured
Local
Hyperbrowser MCP Server

Hyperbrowser MCP Server

Welcome to Hyperbrowser, the Internet for AI. Hyperbrowser is the next-generation platform empowering AI agents and enabling effortless, scalable browser automation. Built specifically for AI developers, it eliminates the headaches of local infrastructure and performance bottlenecks, allowing you to

Featured
Local
Search1API MCP Server

Search1API MCP Server

A Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API.

Featured
Supabase MCP Server (used by Deploya.dev)

Supabase MCP Server (used by Deploya.dev)

Enables Cursor and Windsurf to safely interact with Supabase databases by providing tools for database management, SQL query execution, and Supabase Management API access with built-in safety controls.

Featured
Database Explorer

Database Explorer

A powerful Model Context Protocol (MCP) tool for exploring and managing different types of databases including PostgreSQL, MySQL, and Firestore.

Featured
Supabase MCP Server

Supabase MCP Server

This server enables interaction with Supabase PostgreSQL databases through the MCP protocol, allowing seamless integration with Cursor and Windsurf IDEs for secure and validated database management.

Featured