Tool reference · LinkedIn

get_linkedin_profile

Read one LinkedIn profile: identity, current role, followers, job-change signal and latest post

read-onlyreaches LinkedInrate limited

Updated 2026-09-18 · Server 2.0.0

What it does

Everything readable about one person in a single call: who they are, what they do now, how long they have done it, how many followers they have, and what they last posted. The research step before any personalized message — and the reason an agent does not need a scraper.

This tool drives a real LinkedIn account

It runs through a connected sender account in your workspace — not through a scraper and not through your own profile. Call list_sender_accounts first to see which identities are connected and healthy. If the workspace has none, this tool returns an error telling you so; accounts for agents covers how teams get one without risking their own profile.

Arguments

NameTypeRequiredMeaning
profilestringyesProfile URL, public identifier (the /in/ slug) or provider id
accountstringnoSender account id or name to read as. Defaults to the first 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:

inputSchema
{
  "type": "object",
  "properties": {
    "profile": {
      "type": "string",
      "description": "Profile URL, public identifier (the /in/ slug) or provider id"
    },
    "account": {
      "type": "string",
      "description": "Sender account id or name to read as. Defaults to the first connected account."
    }
  },
  "required": [
    "profile"
  ]
}

Request

Paste this, swap the key, and you have called the tool.

curl
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_linkedin_profile",
      "arguments": { "profile": "https://www.linkedin.com/in/example" }
    }
  }'

Returns

One object merging identity (providerId, fullName, headline, company, location, profileUrl, networkDistance) with enrichment (currentRole, currentCompany, jobChangeAt, followerCount, isPremium, recentPost, recentPostAt, recentPostId). Null when the profile cannot be resolved.

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.

payload
{
  "providerId": "ACoAAB1x…",
  "fullName": "Dana Whitfield",
  "headline": "CTO at Northbeam",
  "company": "Northbeam",
  "location": "Austin, Texas, United States",
  "profileUrl": "https://www.linkedin.com/in/example",
  "networkDistance": "DISTANCE_2",
  "currentRole": "Chief Technology Officer",
  "currentCompany": "Northbeam",
  "jobChangeAt": 1780272000000,
  "followerCount": 4820,
  "isPremium": true,
  "recentPost": "We finally cut our p99 in half. The fix was not the database…",
  "recentPostAt": 1789084800000
}

Worth knowing

Best-effort per field: a profile that hides its activity still returns its identity, with the post fields simply absent. jobChangeAt is the start of the current role in epoch ms — compare it against now to find someone who moved recently, which is the strongest timing signal LinkedIn gives away. The profile argument accepts a full URL, the /in/ slug, or a providerId from search_linkedin_people.

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

All 21 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.