Skip to main content
Glama
prakharagarwal-dev

LinkedIn MCP Server

Prepare Personal LinkedIn Post

linkedin.posts.create.prepare
Idempotent

Prepares a ready-to-publish LinkedIn post draft from the active composer, capturing all content, audience, schedule, and engagement options without publishing.

Instructions

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. The content discriminator is mode, not kind. This tool never publishes and never publishes as a company Page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYesTyped post content discriminated by the required mode field; use mode, not kind.
audienceNoanyone
context_idYes
request_idYes
group_targetNo
scheduled_atNo
collaboratorsNo
comment_controlNoanyone
brand_partnershipNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
draftYes
statusNoready_for_confirmation
sourcesYes
replayedNo
context_idYes
request_idYes
approval_previewYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal idempotent/non-destructive behavior, but the description adds critical context: it never publishes, never acts as a company Page, and captures detailed post settings and local asset hashes. It still does not disclose what happens if no active composer exists or whether the composer state is modified, but the non-publishing guarantee is a strong, non-obvious behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences front-load the core purpose and then efficiently enumerate supported content types, captured settings, and safety constraints. There is no filler, repetition of schema fields, or unnecessary explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with a large nested schema, the description covers content modes, captured settings, and the non-publishing guarantee, which is good high-level orientation. It omits the explicit prepare→execute workflow, prerequisites for the 'active personal member composer,' and the role of context_id/request_id, so it is not fully complete for correct invocation despite the output schema existing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 11% schema description coverage, the description must compensate, and it does summarize the content-mode alternatives and top-level options such as audience, group, comment control, brand partnership, collaborators, mentions, and schedule. It also adds the crucial hint that 'the content discriminator is mode, not kind.' However, it leaves context_id/request_id semantics, asset-ref derivation, and many nested constraints to the schema, so compensation is partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Inspect the active personal member composer and prepare one immutable post,' which names a specific action, resource, and non-publishing scope. It also enumerates supported content types and explicitly contrasts with the sibling execute tool by noting it never publishes, making its purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly frames this as a preparation/inspection step and explicitly states it never publishes and never runs as a company Page, giving useful context for when to avoid it. It does not, however, explicitly name the paired posts.create.execute tool or spell out the exact sequence, so the guidance is clear but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prakharagarwal-dev/linkedin-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server