mcp-linkedin-post-engager-capture

mcp-linkedin-post-engager-capture

Enables capturing recent posts from LinkedIn profiles and company pages, including real reaction and comment counts and publicly visible commenters, without requiring a LinkedIn account, cookies, or credentials.

Category
Visit Server

README

LinkedIn Post Tracker and Comment Capture MCP Server

Smithery Glama score MCP Registry npm version npm downloads license mcpservers.org

MCP server for the Mamba Labs LinkedIn Post Tracker and Comment Capture actor on Apify.

Point it at LinkedIn person profiles or company pages. It returns their recent posts as flat rows, with the real reaction and comment counts on every one, plus the commenters LinkedIn shows publicly. No cookies, no LinkedIn account, no credentials of any kind.

Install

npx -y @mambalabsdev/mcp-linkedin-post-engager-capture

Claude Desktop

{
  "mcpServers": {
    "mamba-linkedin-post-engager-capture": {
      "command": "npx",
      "args": ["-y", "@mambalabsdev/mcp-linkedin-post-engager-capture"],
      "env": { "APIFY_TOKEN": "your-apify-token" }
    }
  }
}

Get an Apify token at console.apify.com/account/integrations.

Tool

capture_linkedin_posts_and_commenters

LinkedIn profiles and company pages in, their recent posts and public commenters out.

Input Type Required Notes
profile_urls array no Person profiles, for example https://www.linkedin.com/in/williamhgates. Country subdomains are fine. Supply this, company_urls, or both.
company_urls array no Company pages, for example https://www.linkedin.com/company/microsoft. Supply this, profile_urls, or both.
posted_since string no ISO date, for example 2026-08-01. Posts older than this are skipped before anything is charged.
collect_commenters boolean no One row per public commenter. Turn it off to collect posts only. Default true.
collect_reactors boolean no Returns no reaction rows whatever you set, because LinkedIn serves no reactor identities to a logged-out visitor. Present so the limit is visible rather than silent. Default true.
max_engagers_per_post integer no 0 to 100. Ten is LinkedIn's own ceiling for a logged-out visitor, so raising it above 10 does nothing. Set it to 0 to pay for posts only. Default 10.
use_residential_proxy boolean no Off by default, which is what the pricing assumes. Apify bills residential bandwidth on top of this actor's events. Default false.

Nothing is required. A call with neither URL list comes back as a no_input notice row rather than an error, which mirrors the actor exactly.

Reading the output

One dataset carries three row types, told apart by row_type. Filter on it before loading a table.

  • post is one row per LinkedIn post.
  • engager is one row per public commenter, joined to the post on post_id.
  • notice is a run-level or source-level message.

post_id is the numeric part of LinkedIn's activity URN. It is stable across runs, across country subdomains and across both permalink spellings, so it is safe as a primary key and safe as the "have I already posted this to Slack" check.

The commenter limits are real and they are not small. LinkedIn renders about ten top-level comments to a logged-out visitor whatever the true total. Measured whole-run coverage was 178 commenters out of 4,857 that existed, which is 3.7 percent. About 30 percent of comment rows carry no timestamp. Every post row carries commenters_collected beside commenters_available so the coverage on any given post is a number you can read rather than something you infer.

Reactor identities are not available at all to a logged-out visitor. Every post row still carries the real reaction_count, and reactors_status says unavailable_without_login.

Every row carries degraded and degradation_reason. false means the actor looked; null on a field means it could not. Filter on degraded before you trust an absence. Two things that look like failures are deliberately not degraded, because both are measurements: reactors_unavailable is how logged-out LinkedIn works, and no_posts_found on a page that loaded is a real absence.

Billing

You are charged per post collected and per commenter collected, plus a small actor start fee. Notice rows are free. posted_since filters before anything is charged, so a scheduled run that finds nothing new costs the actor start and nothing else.

There is no result cache: every run refetches, which is the right behavior for an actor whose job is to notice new posts. Pricing is on the actor's Apify page. Running this server consumes Apify credits.

What this server does and does not do

It is a thin client for the Apify actor. It passes your input through and returns the actor's output unchanged. Every behavior described above lives in the actor, not here.

It reads only what LinkedIn serves to a logged-out visitor. It holds no session cookie, uses no LinkedIn account, and reads nothing behind a login.

Commenter rows are named people. When you run this you are the data controller for the personal data it returns and Apify is the processor. Your lawful basis is yours to establish; nothing here is legal advice.

This actor is unofficial and is not affiliated with, sponsored by or endorsed by LinkedIn or Microsoft.

Errors are surfaced, never swallowed. An invalid input, an invalid token, an exhausted balance, a timeout, or a run that returns anything other than a dataset all come back as an explicit tool error rather than as an empty result.

Source

The actor is on the Apify Store. This wrapper is MIT licensed.

Built by Mamba Labs

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

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

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
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
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured