About mcp-linkedin-post-engager-capture
An MCP server that uses an Apify Actor to return search-engine-indexed posts from LinkedIn profiles and company pages, with permalinks, authors, text excerpts, and dates. It suits research and monitoring workflows that organize public posts; coverage depends on search engine indexes.
Key features
- 01Retrieve indexed posts for profiles and company pages
- 02Return permalinks, authors, and text excerpts
- 03Include publication dates
- 04Filter posts by date
- 05Return run or source notices
Use cases
- 01Compile indexed posts from company pages
- 02Track public posts from profiles
- 03Filter posts by publication date
MCP support
The server is a thin client for an Apify Actor, passing inputs through and returning its output unchanged. MCP clients call `capture_linkedin_posts_and_commenters`; despite the retained tool name, current results do not include commenter data.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mambalabsdev/mcp-linkedin-post-engager-captureAPIFY_TOKENSecretApify API token from https://console.apify.com/account/integrationsLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
1Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| company_urls | array | No | LinkedIn company page URLs whose recent posts you want, for example https://www.linkedin.com/company/microsoft. Supply this, profile_urls, or both. |
| posted_since | string | No | ISO date or timestamp, for example 2026-08-01. Posts published before this are skipped BEFORE anything is charged, so a scheduled run that finds nothing new costs the actor start and nothing else. Leave empty to take everything the page advertises. |
| profile_urls | array | No | LinkedIn person profile URLs whose recent posts you want, for example https://www.linkedin.com/in/williamhgates. Country subdomains such as uk.linkedin.com are fine. Supply this, company_urls, or both. |
| collect_reactors | boolean | No | LinkedIn serves no reactor identities to a logged-out visitor, so this returns no reaction rows whatever you set. It exists so the limit is visible rather than silent, and it adds one notice row per run. Set it to false to suppress that row. Default: true. |
| collect_commenters | boolean | No | Return one row per person who commented, with name, profile URL, comment text and comment likes. Turn it off to collect posts only, in which case commenters_collected comes back null rather than 0, because the actor did not look. Default: true. |
| max_engagers_per_post | integer | No | Caps the engager rows charged per post. LinkedIn shows about ten comments to a logged-out visitor, so ten is the platform ceiling and raising this above ten 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 and what was measured. Turn it on only if LinkedIn starts refusing the platform's datacenter addresses. Apify bills residential bandwidth on top of this actor's events. Default: false. |
Details
From the project READMELinkedIn Post Tracker MCP Server
MCP server for the Mamba Labs LinkedIn Post Tracker actor on Apify.
Point it at LinkedIn person profiles or company pages. It returns the posts a search engine has indexed for each one, as flat rows: permalink, author, a text excerpt, and the publish date. No request is sent to LinkedIn, and no cookie, account, or credential is used.
Changed in 1.3.0. The actor stopped fetching linkedin.com on 2026-10-12. Commenter rows, reaction and comment counts, media, and the inputs collect_commenters, collect_reactors, max_engagers_per_post, and use_residential_proxy are gone. Posts now come from search results, so coverage is what the index holds: posts appear days or weeks after publishing, and many never appear. The tool keeps its name, capture_linkedin_posts_and_commenters, so existing clients keep working.
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, the posts a search engine has indexed for them out.
| Input | Type | Required | Meaning |
|---|---|---|---|
profile_urls | array of strings | one of the two | Person profiles, for example https://www.linkedin.com/in/williamhgates. |
company_urls | array of strings | one of the two | Company pages, for example https://www.linkedin.com/company/microsoft. |
posted_since | string | no | ISO date. Posts published before this are skipped before anything is charged. |
max_charge_usd | number | no | Spend cap for the run, in USD. The run starts no post whose charge would cross it and writes one max_charge_reached notice row. |
Reading the output
postis one row per indexed post:post_id,post_permalink,author_name,author_url,author_type,post_text(the search engine's excerpt),published_at(decoded from the post id).noticeis a run-level or source-level message. Filter these out before loading a table.
A post counts only when its permalink names the source, for example linkedin.com/posts/stripe_... for linkedin.com/company/stripe. A refused search comes back as a degraded notice, never as "no posts".
Billing
You are charged per post collected, plus a small actor start fee. Notice rows are free. posted_since filters before anything is charged.
| Event | Price per event (USD) | Fires when |
|---|---|---|
apify-actor-start | $0.00005 | Charged when the Actor starts running, one event per GB of memory. |
post-collected | $0.002 on the Free plan, down to $0.0017 on higher Apify plans | One LinkedIn post returned from search results, with its permalink, author, text excerpt and publish date. |
The actor's Apify page carries the current prices.
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 public search engine results. It sends no request to LinkedIn, holds no session cookie, and uses no LinkedIn account.
Post rows from a person profile name that person. 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.