What it does
Read a post before reacting or commenting on it — and get the socialId those actions are addressed to.
This tool drives a real LinkedIn account
Arguments
| Name | Type | Required | Meaning |
|---|---|---|---|
| post | string | yes | Post URL, activity id, or URN (urn:li:activity:…, urn:li:ugcPost:…, urn:li:share:…) |
| account | string | no | Sender account id or name to act as. Defaults to the healthiest connected account. |
This table is generated from the literal inputSchema that tools/list returns, so what your client sees and what this page says are the same object:
{
"type": "object",
"properties": {
"post": {
"type": "string",
"description": "Post URL, activity id, or URN (urn:li:activity:…, urn:li:ugcPost:…, urn:li:share:…)"
},
"account": {
"type": "string",
"description": "Sender account id or name to act as. Defaults to the healthiest connected account."
}
},
"required": [
"post"
]
}Request
Paste this, swap the key, and you have called the tool.
curl -s https://topclozer.com/api/mcp \
-H "Authorization: Bearer tcz_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_post",
"arguments": { "post": "https://www.linkedin.com/posts/example_activity-7332661864792854528-abcd" }
}
}'Returns
{ id, socialId, url, text, postedAt, author, isRepost, counts: { reactions, comments, reposts, impressions }, myReaction, permissions }
The payload arrives inside an MCP content block — one text block whose body is this JSON, pretty-printed. Parse the string; there is no structured-content field.
{ "id": "7332661864792854528", "socialId": "urn:li:activity:7332661864792854528", "text": "We cut our deploy time in half…", "author": { "name": "Dana Whitfield", "providerId": "ACoAAB1x…", "isCompany": false }, "counts": { "reactions": 214, "comments": 37 }, "myReaction": null, "permissions": { "canReact": true, "canComment": true, "canShare": true } }Rate limit
30 LinkedIn tool calls per 5 minutes, per workspace. Exceeding it returns HTTP 429 with JSON-RPC error -32002 and a Retry-After header. The budget is shared by every LinkedIn tool and counted per workspace, so minting a second key does not buy a second allowance.
The limit exists because an agent retrying in a loop is the request pattern that gets a LinkedIn account restricted, and a restricted account is a much worse outcome for you than a 429. Workspace tools do not spend this budget.
Related tools
list_post_comments
Comments on a LinkedIn post, or replies to one comment — with each commenter's headline and degree
list_post_reactions
Who reacted to a LinkedIn post (or one of its comments), with each person's headline and degree — the warmest leads a post produces
propose_comment
Propose a comment on a LinkedIn post, or a reply to a comment on it. NOT posted until approved. Public and permanent.
propose_post_reaction
Propose reacting to a LinkedIn post or one of its comments. NOT done until approved.
All 65 tools are listed on the tool index. Connecting a client is on the Claude setup page, and the protocol details are on the server page.