What it does
The research before a message that does not read like a template: where they worked, what they studied, what they are endorsed for, who recommends them. Skills come with the endorsement id propose_endorsement needs.
This tool drives a real LinkedIn account
Arguments
| Name | Type | Required | Meaning |
|---|---|---|---|
| profile | string | yes | Profile URL, public identifier (the /in/ slug) or provider id |
| sections | string | no | Comma-separated: about, experience, education, languages, skills, certifications, volunteering_experience, projects, recommendations_received, recommendations_given. Default: a preview of all. |
| 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": {
"profile": {
"type": "string",
"description": "Profile URL, public identifier (the /in/ slug) or provider id"
},
"sections": {
"type": "string",
"description": "Comma-separated: about, experience, education, languages, skills, certifications, volunteering_experience, projects, recommendations_received, recommendations_given. Default: a preview of all."
},
"account": {
"type": "string",
"description": "Sender account id or name to act as. Defaults to the healthiest connected account."
}
},
"required": [
"profile"
]
}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_profile_sections",
"arguments": { "profile": "https://www.linkedin.com/in/example", "sections": "experience,skills,recommendations_received" }
}
}'Returns
{ providerId, fullName, headline, summary, location, profileUrl, networkDistance, connectionsCount, followerCount, sharedConnections, flags, invitation, contactInfo, experience[], education[], skills[], languages[], certifications[], projects[], volunteering[], recommendationsReceived[], recommendationsGiven[], throttledSections[] }
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.
{ "providerId": "ACoAAB1x…", "fullName": "Dana Whitfield", "headline": "CTO at Northbeam", "networkDistance": "DISTANCE_2", "experience": [{ "title": "CTO", "company": "Northbeam", "start": "3/2023", "end": null, "current": true }], "skills": [{ "name": "Kubernetes", "endorsements": 31, "endorsementId": 9812, "endorsedByMe": false }], "throttledSections": [] }Worth knowing
Contact info (email, phone) is only visible for first-degree connections. LinkedIn throttles heavy section reads: sections it held back come back empty and are named in throttledSections — ask for fewer sections, later.
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
get_linkedin_profile
Read one LinkedIn profile: identity, current role, followers, job-change signal and latest post
propose_endorsement
Propose endorsing one of a member's skills. NOT done until approved. The person is notified.
check_reachability
Before reaching out: degree of connection, pending invitation, whether a connection request, a message or an InMail can go to this person — and whether the do-not-contact list or another account of the workspace already covers them
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.