LinkedIn MCP Server
OCI · GHCR.IO/PRAKHARAGARWAL-DEV/LINKEDIN-MCP-SERVER:0.15.0 · SCANNED AUG 3
Typed, policy-enforced local MCP capabilities over LinkedIn's visible web UI.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security0
- Malware scan not yet available for this package.Unverified
- CVE data not yet available for this package.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency-health data not yet available.Unverified
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability39
- AI-judged instruction clarity (poor).Fail
- Context-footprint check failed: tool/resource definitions use about 3666 tokens (~118/item across 31 items; 31 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage76
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 17% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 2 categories
Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
oci · ghcr.io/prakharagarwal-dev/linkedin-mcp-server:0.15.0
claude mcp add prakharagarwal-dev-linkedin-mcp-server -- docker run --rm -i ghcr.io/prakharagarwal-dev/linkedin-mcp-server:0.15.0
codex mcp add prakharagarwal-dev-linkedin-mcp-server -- docker run --rm -i ghcr.io/prakharagarwal-dev/linkedin-mcp-server:0.15.0
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"prakharagarwal-dev-linkedin-mcp-server": {
"type": "local",
"command": [
"docker",
"run",
"--rm",
"-i",
"ghcr.io/prakharagarwal-dev/linkedin-mcp-server:0.15.0"
],
"enabled": true
}
}
} mcp_servers:
prakharagarwal-dev-linkedin-mcp-server:
command: "docker"
args: ["run", "--rm", "-i", "ghcr.io/prakharagarwal-dev/linkedin-mcp-server:0.15.0"] {
"mcpServers": {
"prakharagarwal-dev-linkedin-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/prakharagarwal-dev/linkedin-mcp-server:0.15.0"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +20
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- MCP protocol: unverified → pass ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Tool coverage: 100 functional
- First check of Tool coverage: 17 functional
- First check of Schema quality: fail functional
- First check of Schema quality: poor functional
- First check of Schema quality: fail functional
- 2 Aug 26 9
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed oci/ghcr.io/prakharagarwal-dev/linkedin-mcp-server:0.15.0
Provenance none
Ecosystem: oci · Outcome: none
Reason: no_attestation
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
linkedin.capabilities.list List LinkedIn Capabilities ~21
List installed capabilities and whether runtime policy enables each one.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilities | array | yes | — |
No examples provided.
linkedin.companies.get Read LinkedIn Company Overview and About ~104
Read an exact visible LinkedIn Company by public slug. Always captures exactly the Company overview and About page, including identity, tagline, description, website, industry, company-size range, associated-member and follower counts, headquarters, organization type, founding year, specialties, and exact field evidence.
| Name | Type | Req | Description |
|---|---|---|---|
| company_slug | string | yes | Public LinkedIn company slug from /company/{company_slug}/. |
| context_id | string | yes | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| company | — | yes | — |
| context_id | string | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.companies.search Search LinkedIn Companies ~126
Search visible LinkedIn Company results using LinkedIn's complete current Company-search filter surface: keywords, headquarters location, industry, company-size range, visible job listings, and first-degree connection presence. Exact names are resolved only through visible filter controls; callers may alternatively provide stable facet IDs. Returns one cursor page.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| cursor | — | — | — |
| filters | — | — | — |
| max_results | — | — | — |
| page_size | integer | — | Number of unique items to return in this page. |
| query | — | — | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| companies | array | yes | — |
| context_id | string | yes | — |
| coverage | — | yes | — |
| pagination | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.connections.list List LinkedIn Connections ~88
List one cursor page of the configured account's visible first-degree connection inventory in LinkedIn's selected visible sort order. This tool does not search.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| cursor | — | — | — |
| max_results | — | — | — |
| page_size | integer | — | Number of unique items to return in this page. |
| request_id | string | yes | — |
| sort_by | — | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| connections | array | yes | — |
| context_id | string | yes | — |
| coverage | — | yes | — |
| pagination | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.connections.search Search LinkedIn Connections ~163
Search only the configured account's established first-degree connections through LinkedIn's current People surface. The server always enforces first degree. Supports the remaining current visible People filters: any/specific-title hiring, locations, current/past companies, connections-of, followers-of, schools, industries, profile languages, service categories, and first-name, last-name, title, company, and school keywords. Use linkedin.people.search for broader second-, third-plus-, or mixed-degree discovery.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| cursor | — | — | — |
| filters | — | — | — |
| max_results | — | — | — |
| page_size | integer | — | Number of unique items to return in this page. |
| query | — | — | — |
| request_id | string | yes | — |
| title_keywords | — | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| coverage | — | yes | — |
| pagination | — | yes | — |
| people | array | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.invitations.accept.execute Accept Prepared LinkedIn Connection Invitation ~150
Destructive account action. Codex must show native user confirmation using the supplied approval_preview before invoking this tool. Accept exactly one immutable incoming-request draft after the server verifies the preview, payload hash, draft expiry, idempotency, exact profile identity, and current request controls; then verify those controls are absent and the exact profile visibly shows a first-degree connection.
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | Immutable action ID returned by the matching prepare tool. |
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| idempotency_key | string | yes | — |
| payload_hash | string | yes | Exact payload hash returned by the matching prepare tool. |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| result | — | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.invitations.accept.prepare Prepare LinkedIn Connection Acceptance ~62
Revalidate the exact member profile's paired visible incoming-request controls and create an immutable acceptance draft. This does not accept the request.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| profile_slug | string | yes | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| draft | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.invitations.ignore.execute Ignore Prepared LinkedIn Connection Request ~146
Destructive account action. Codex must show native user confirmation using the supplied approval_preview before invoking this tool. Ignore exactly one immutable incoming-request draft after the server verifies the preview, payload hash, draft expiry, idempotency, exact profile identity, and current request controls; then verify those controls are absent on a fresh exact-profile read.
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | Immutable action ID returned by the matching prepare tool. |
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| idempotency_key | string | yes | — |
| payload_hash | string | yes | Exact payload hash returned by the matching prepare tool. |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| result | — | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.invitations.ignore.prepare Prepare Ignoring a LinkedIn Connection Request ~62
Revalidate the exact member profile's current visible incoming connection request and create an immutable ignore draft. This does not ignore the request.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| profile_slug | string | yes | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| draft | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.invitations.list List LinkedIn Invitations ~143
Capture the complete current received or sent invitation inventory once, including a deduplicated union of LinkedIn's current Focused, Other, Verified, Mutual Connections, Your Company, and Your School received views when invitation_filter is all. Every source view reconciles its own visible count before the server returns an immutable cursor page containing each visible invitation entity type, context, note, time, available action, and field evidence.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| cursor | — | — | — |
| direction | — | — | — |
| invitation_filter | — | — | — |
| page_size | integer | — | Number of unique items to return in this page. |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| coverage | — | yes | — |
| invitations | array | yes | — |
| pagination | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.invitations.send.execute Send Prepared LinkedIn Connection Invitation ~170
Destructive account action. Codex must show native user confirmation using the supplied approval_preview before invoking this tool. Send exactly one immutable invitation draft after the server verifies the exact preview, payload hash, draft expiry, idempotency key, target identity, and actionable Send control. After the click, one fresh exact-profile read is the complete postcondition: Pending is verified success and Connect is verified LinkedIn failure. An unreadable or ambiguous fresh profile remains uncertain.
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | Immutable action ID returned by the matching prepare tool. |
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| idempotency_key | string | yes | — |
| payload_hash | string | yes | Exact payload hash returned by the matching prepare tool. |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| result | — | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.invitations.send.prepare Prepare LinkedIn Connection Invitation ~80
Inspect one exact visible profile and create an immutable invitation draft. This does not send the invitation. An optional personalized note is limited to 200 characters and returned with the exact native-approval preview.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| note | — | — | — |
| profile_slug | string | yes | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| draft | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.jobs.get Read LinkedIn Job ~65
Read one current visible LinkedIn job by numeric ID, including its primary header metadata, application method, hiring-team identities, and fully expanded About the job description.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| job_id | string | yes | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| job | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.jobs.search Search LinkedIn Jobs ~170
Search current visible LinkedIn Jobs pages with optional keywords and typed location, Date posted, sorting, distance, workplace, experience, job type, company, industry, function, title, benefit, commitment, Easy Apply, verification, applicant-count, network, and Fair Chance filters. Hydrates LinkedIn's virtualized result cards and returns one deduplicated cursor page.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| cursor | — | — | — |
| filters | — | — | — |
| freshness_hours | — | — | Date posted: 24, 168 (past week), 720 (past month), or null for Any time. |
| location | — | — | — |
| max_results | — | — | — |
| page_size | integer | — | Number of unique items to return in this page. |
| query | — | — | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| coverage | — | yes | — |
| jobs | array | yes | — |
| pagination | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.messaging.conversation.get Read LinkedIn Conversation ~119
Traverse LinkedIn's reverse-virtualized visible history and read both incoming and outgoing messages, attachments, replies, edits, and reaction summaries by exact profile slug, visible conversation ID, or a conversation_ref returned by messaging.search. Returns explicit history completeness and truncation evidence. Opening a conversation may cause LinkedIn to mark it seen.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| conversation_id | — | — | — |
| conversation_ref | — | — | — |
| max_messages | integer | — | — |
| profile_slug | — | — | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| conversation | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.messaging.message.execute Send Prepared LinkedIn Message ~150
Destructive account action. Codex must show native user confirmation using the supplied approval_preview before invoking this tool. Send exactly one immutable text/file message or immediate-send GIF, optionally as an exact visible reply, after the server verifies the preview, payload and asset hashes, draft expiry, recipient, idempotency, and exact visible outgoing postcondition in the same conversation surface.
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | Immutable action ID returned by the matching prepare tool. |
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| idempotency_key | string | yes | — |
| payload_hash | string | yes | Exact payload hash returned by the matching prepare tool. |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| result | — | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.messaging.message.prepare Prepare LinkedIn Message ~165
Open one visible one-to-one standard conversation, using the exact profile's Message button for profile targets and accepting its recipient-bound compact pane or following its exact visible Messaging href in the same operation page, then create an immutable message draft containing exact text/emoji, hash-locked current desktop file attachments, one exact KLIPY GIF title, and optionally an exact reply-to message_ref. This does not send the message. Group chats, message requests, and paid InMail are excluded.
| Name | Type | Req | Description |
|---|---|---|---|
| attachments | array | — | — |
| context_id | string | yes | — |
| conversation_id | — | — | — |
| conversation_ref | — | — | — |
| gif | — | — | — |
| message | — | — | — |
| profile_slug | — | — | — |
| reply_to_message_ref | — | — | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| draft | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.messaging.search Search LinkedIn Messages ~126
Search the current desktop inbox by recipient or message keywords, optionally within Focused, Other, Archived, or Spam and exactly one of Jobs, Unread, Connections, InMail, or Starred. At least one search criterion is required. Results are cursor-paginated current conversation cards.
| Name | Type | Req | Description |
|---|---|---|---|
| category | — | — | — |
| context_id | string | yes | — |
| cursor | — | — | — |
| filter | — | — | — |
| max_results | — | — | — |
| page_size | integer | — | Number of unique items to return in this page. |
| query | — | — | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| conversations | array | yes | — |
| coverage | — | yes | — |
| pagination | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.people.get Read LinkedIn Member Profile ~124
Read a visible LinkedIn member profile directly by validated public profile slug. Returns typed introduction, About, experience, education, every visible profile section owned by the member, full retained text, field evidence, and bounded section-page coverage.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| profile_slug | string | yes | Public LinkedIn profile slug from linkedin.com/in/{profile_slug}. |
| request_id | string | yes | — |
| sections | array | — | Visible profile sections to return. Use ['all'] for the complete server-bounded read; the canonical overview is always captured for identity. |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| person | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.people.search Search LinkedIn People ~147
Search visible LinkedIn People results using natural-language or Boolean keywords, connection degree, any/specific-title hiring, location, current/past company, connections-of, followers-of, school, industry, profile-language, service-category, and exact first-name, last-name, title, company, and school keyword filters. Returns one cursor page; name-to-ID resolution and traversal safety bounds remain private.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| cursor | — | — | — |
| filters | — | — | — |
| max_results | — | — | — |
| page_size | integer | — | Number of unique items to return in this page. |
| query | — | — | — |
| request_id | string | yes | — |
| title_keywords | — | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| coverage | — | yes | — |
| pagination | — | yes | — |
| people | array | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.posts.comment.execute Publish Prepared LinkedIn Comment or Reply ~135
Destructive account action. Codex must show native user confirmation using the supplied approval_preview before invoking this tool. Submit exactly one immutable personal-member comment or reply after the server verifies the preview, actor, target author, exact parent, payload, local asset hash, expiry, and idempotency.
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | Immutable action ID returned by the matching prepare tool. |
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| idempotency_key | string | yes | — |
| payload_hash | string | yes | Exact payload hash returned by the matching prepare tool. |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| result | — | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.posts.comment.prepare Prepare LinkedIn Comment or Reply ~107
Inspect one exact visible post or parent comment and prepare an immutable personal-member comment or reply. Supports text, links, emoji, exact member/company mentions, one local hash-locked photo, or one exact visible GIF result. This tool never submits.
| Name | Type | Req | Description |
|---|---|---|---|
| attachment | — | — | — |
| context_id | string | yes | — |
| mentions | array | — | — |
| parent_comment_ref | — | — | — |
| post_ref | string | yes | — |
| request_id | string | yes | — |
| text | — | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| draft | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.posts.comments.list Read LinkedIn Post Discussion ~122
Read one cursor page of visible top-level comments and bounded nested replies, with relevant/recent ordering, stable comment references, exact author identities, visible text, timestamps, reaction/reply counts, and truncation coverage.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| cursor | — | — | — |
| max_comments | — | — | — |
| max_replies_per_comment | integer | — | — |
| page_size | integer | — | Number of unique items to return in this page. |
| post_ref | string | yes | — |
| request_id | string | yes | — |
| sort_by | — | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| coverage | — | yes | — |
| pagination | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
| threads | array | yes | — |
No examples provided.
linkedin.posts.create.execute Publish or Schedule Prepared Personal LinkedIn Post ~143
Destructive account action. Codex must show native user confirmation using the supplied approval_preview before invoking this tool. Publish or schedule exactly one immutable personal-post draft after the server verifies the exact preview, payload and asset hashes, actor, expiry, options, and global idempotency key. An interrupted final action is never retried automatically.
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | Immutable action ID returned by the matching prepare tool. |
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| idempotency_key | string | yes | — |
| payload_hash | string | yes | Exact payload hash returned by the matching prepare tool. |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| result | — | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.posts.create.prepare Prepare Personal LinkedIn Post ~162
Inspect the active personal member composer and prepare one immutable post. Supports typed text/link, up to 20 edited photos with alt text and member/company tags, video with thumbnail/captions, document, poll, celebration, event, existing-job hiring, and expert-request content. Exact audience/group, comment control, brand partnership, eligible collaborators, mentions, local asset hashes, and optional schedule are captured. This tool never publishes and never publishes as a company Page.
| Name | Type | Req | Description |
|---|---|---|---|
| audience | — | — | — |
| brand_partnership | boolean | — | — |
| collaborators | array | — | — |
| comment_control | — | — | — |
| content | — | yes | — |
| context_id | string | yes | — |
| group_target | — | — | — |
| request_id | string | yes | — |
| scheduled_at | — | — | — |
| Name | Type | Req | Description |
|---|---|---|---|
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| draft | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.posts.get Read LinkedIn Post ~124
Read one exact visible LinkedIn post by stable activity, share, or ugc-post reference. Returns typed author/header data, fully expanded text, scoped links, mentions and hashtags, current image/video/document/link-card/poll details, viewer reaction and engagement counts, visibility, timestamps, immutable field evidence, and bounded completeness coverage. Reposts retain the wrapper and read the visibly linked original as one additional bounded page.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| post_ref | string | yes | Stable post reference returned by LinkedIn post search. |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| post | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.posts.reaction.execute Apply Prepared LinkedIn Post or Comment Reaction ~136
Destructive account action. Codex must show native user confirmation using the supplied approval_preview before invoking this tool. Set, change, remove, or safely no-op one prepared exact reaction state after the server verifies the preview, actor, target author, prior state, expiry, and idempotency.
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | Immutable action ID returned by the matching prepare tool. |
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| idempotency_key | string | yes | — |
| payload_hash | string | yes | Exact payload hash returned by the matching prepare tool. |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| result | — | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.posts.reaction.prepare Prepare LinkedIn Post or Comment Reaction ~89
Inspect the exact current reaction state on one visible post or comment and prepare an immutable target state: none, like, celebrate, support, love, insightful, or funny. This tool never changes the reaction.
| Name | Type | Req | Description |
|---|---|---|---|
| comment_ref | — | — | — |
| context_id | string | yes | — |
| desired_reaction | — | yes | — |
| post_ref | string | yes | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| approval_preview | — | yes | — |
| context_id | string | yes | — |
| draft | — | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.posts.search Search LinkedIn Posts ~142
Search visible LinkedIn content using keywords plus sort, date, content type, From-member/company, posted-by relationship, mentioning-member/company, author-industry/company, and Author Keywords filters. Content type follows LinkedIn's current single-choice Videos, Images, Job posts, Live videos, or Documents control. Names resolve only through exact visible choices. Returns one cursor page while browser traversal remains privately bounded.
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| cursor | — | — | — |
| filters | — | — | — |
| max_results | — | — | — |
| page_size | integer | — | Number of unique items to return in this page. |
| query | — | — | — |
| request_id | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| context_id | string | yes | — |
| coverage | — | yes | — |
| pagination | — | yes | — |
| posts | array | yes | — |
| replayed | boolean | — | — |
| request_id | string | yes | — |
| sources | array | yes | — |
| status | string | — | — |
No examples provided.
linkedin.server.status LinkedIn MCP Server Status ~18
Return non-secret server configuration and readiness metadata.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | — | — |
| operation_state | string | — | — |
| transport | string | yes | — |
| version | string | yes | — |
No examples provided.
linkedin.session.status LinkedIn Session Status ~20
Return non-secret browser-session state for the configured account.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | — |
| authentication_state | — | yes | — |
| automatic_login_enabled | boolean | yes | — |
| browser_setup_state | — | yes | — |
| browser_started | boolean | yes | — |
| login_browser_open | boolean | yes | — |
| pause_reason | — | — | — |
| paused | boolean | yes | — |
| profile_present | boolean | yes | — |
| status_message | — | — | — |
No examples provided.