A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
19 โ ยท alexey-pelykh/lhremote ยท read from the repository page ยท (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list ยท type: MCP server
Harvest history
first seen 2026-10-09 ยท last seen 2026-10-16 ยท seen 32ร ยท listed by 7 sources
Score
score 703 ยท 19 โ ยท 7 sources ยท mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP ๆๅก. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository alexey-pelykh/lhremote๏ผfirst catalogued 2026-10-09๏ผlast seen 2026-10-16ใThere is no official certification or quality rating here โ we record sources and dates only.
CLI and MCP server for LinkedHelper automation. This project is brought to you by Alexey Pelykh. What It Does lhremote lets AI assistants (Claude, etc.) control LinkedHelper through the Model Context Protocol. It can: - **App management** โ detect, launch, and quit LinkedHelper instances - **Account & instance control** โ list accounts, start/stop instances, check status - **Campaign automation** โ create, configure, start, stop, and monitor campaigns with full action-chain management - **People import** โ import LinkedIn profile URLs into campaign target lists - **Profile queries** โ look up and search cached LinkedIn profiles from the local database - **Messaging** โ send direct messages, InMails, and connection requests; query messaging history and check for replies - **LinkedIn engagement** โ visit profiles, endorse skills, follow/unfollow, like posts, comment, and react - **Feed & post intelligence** โ read the LinkedIn feed, search posts, get post details, engagement stats, and engager lists - **Profile enrichment** โ extract emails, phones, socials, and company data from LinkedIn profiles - **LinkedIn search** โ build search URLs, resolve entity IDs, and query reference data for search filters - **Budget & throttle monitoring** โ check daily action limits and LinkedIn throttling status - **Action discovery** โ list available LinkedHelper action types with configuration schemas Quick Start > **Pacing**: LinkedIn monitors automated activity. See the Rate Limiting guide for recommended settings. Prerequisites - **Node.js** >= 24 - **LinkedHelper** desktop application (requires a paid subscription) Installation Or run directly with npx: Usage with Claude Desktop Add to your Claude Desktop configuration (claude_desktop_config.json): Once configured, Claude can use every registered tool directly. A typical workflow: 1. **find-app** โ Detect a running LinkedHelper instance (or **launch-app** to start one) 2. **list-accounts** โ See available LinkedIn accounts 3. **start-instance** โ Start an instance for an account 4. **describe-actions** โ Explore available action types 5. **campaign-create** โ Create a campaign from YAML/JSON configuration 6. **import-people-from-urls** โ Import target LinkedIn profiles into the campaign 7. **campaign-start** โ Run the campaign 8. **campaign-status** / **campaign-statistics** โ Monitor progress 9. **query-messages** / **check-replies** โ Review messaging results CLI Usage The lhremote command provides the same functionality as the MCP server. Every MCP tool has a corresponding CLI command except where its reference section says otherwise. App Management Account & Instance Campaigns Campaign Status & Retry Campaign Actions Campaign Targeting Collections Profiles & Messaging LinkedIn Actions Feed & Posts LinkedIn Search & Reference Utilities MCP Tools Common Parameters Most tools and CLI commands connect to LinkedHelper via the Chrome DevTools Protocol (CDP). In addition to the tool-specific parameters listed below, CDP-connected tools accept the following, except where a tool's own reference section says otherwise. The Default column describes the MCP tools; each CLI command exposes its own subset of these flags, and the notes below give the differences that matter: | Parameter | CLI Flag | Type | Default | Description | |-----------|----------|------|---------|-------------| | cdpPort | --cdp-port | number | auto-discovered | CDP debugging port | | cdpHost | --cdp-host | string | 127.0.0.1 | CDP host address | | allowRemote | --allow-remote | boolean | false | Allow connections to non-loopback addresses | | accountId | *varies โ see below* | number | auto-select if single account (MCP) | LinkedHelper account to act as | **cdpPort is discovered, not defaulted.** Omit it and lhremote finds the port of the running LinkedHelper itself, whatever that port happens to be; it raises LinkedHelperNotRunningError or LinkedHelperUnreachableError when no instance is reachable. Pass a port only to target one specific instance โ you do not need one to reach a LinkedHelper that is not on 9222. Two exceptions: quit-app takes cdpPort alone (no cdpHost, allowRemote or accountId) and does default to 9222; and a port is required whenever cdpHost is non-loopback, because discovery scans local processes only. **accountId is required once more than one account is configured.** With a single account the MCP tools resolve it themselves; with several they cannot, and the call fails โ most raise AccountResolutionError, while start-instance and stop-instance answer with their own message. Either way, list-accounts gives you the ID. Every tool that connects to a running LinkedHelper accepts accountId; the ones that do not are the app-management tools (find-app, launch-app, quit-app), which act on the application rather than on an account, the reference tools (build-linkedin-url, resolve-linkedin-entity, list-linkedin-reference-data, describe-actions), which open no connection, and the profile-cache readers (query-profile, query-profiles, query-profiles-bulk), which search every account's local database and cannot be scoped to one. The CLI never auto-resolves, at any account count: start-instance / stop-instance take a **required** positional , comment-on-post / react-to-post take --account-id, and no other command exposes it.