Guides

How to Post to LinkedIn from Claude (No Developer App)

Two ways to post to LinkedIn from Claude over MCP: the developer app route, its no-scheduling catch, and the one-OAuth scheduler route founders use.

The short version

You connect Claude to LinkedIn through an MCP server, two ways. The DIY route needs a LinkedIn developer app and can only publish immediately, since LinkedIn's public API has no scheduling endpoint. The scheduler route takes one OAuth and gives Claude drafting, scheduling, and an approval queue.

"Claude, post this to LinkedIn" is a real workflow in 2026, and for a founder who lives in Claude Code it is a genuinely useful one: draft the post from what you actually shipped, glance at it, ship it. This guide covers both ways to wire it up, the LinkedIn developer-app route and the scheduler route, and the one limitation of LinkedIn's API that most guides bury.

What do you need to connect Claude to LinkedIn?#

An MCP server that holds a LinkedIn connection. Claude, Claude Code, and Claude Desktop all speak MCP, so the whole question is which server you point them at and what that server is allowed to do.

MCP is Anthropic's open standard for giving models real tools instead of just text. Claude never sees your LinkedIn password; it calls a tool like create_post, and the server on the other end makes the authenticated LinkedIn API call. That server can be one of two things: a small integration you build against LinkedIn's own API, or a scheduler that already holds your account connections. The difference between the two is bigger than most write-ups admit.

How does the developer-app route work, and where does it hurt?#

You create a LinkedIn developer app, request the Share on LinkedIn product to get the w_member_social scope, run an OAuth flow, and point an MCP server at the resulting token. It works, and it publishes instantly, in both senses.

The pain is in the plumbing. LinkedIn's Posts API replaced the older Shares and UGC endpoints, and developers who have shipped against it, like the writeup in LinkedIn's new Posts API: the good, the bad, and the ugly, will tell you the access-token lifecycle and product approvals are the real work. And there is a structural catch: the API has no scheduling parameter. A post publishes the moment the call lands. "Claude, post this Tuesday at 9am" is impossible on the DIY route unless you also build and operate your own queue, which is a weekend project that quietly becomes infrastructure you babysit.

Developer-app route Scheduler MCP route
Setup LinkedIn dev app + OAuth plumbing One OAuth sign-in, one API key
Scheduling None, API publishes immediately Yes, the scheduler owns the queue
Approval step Only if you build one Drafts by default, approve in a queue
Other networks LinkedIn only Same MCP server posts to 15 networks
Maintenance Token refresh, API version bumps The scheduler's problem, not yours

How does the scheduler MCP route work?#

You connect LinkedIn to a scheduler once through normal OAuth, create an API key, and add the scheduler's MCP server to Claude with one command. From then on Claude drafts and schedules LinkedIn posts through tools the scheduler exposes.

With posthell it looks like this. In the dashboard you connect LinkedIn (OAuth, no developer app anywhere), generate a key from the Agents tab, and run the claude mcp add one-liner it gives you. Claude Code then has a create_draft tool that takes the post text and an optional proposed time. The draft lands in your review queue, you approve it, and it publishes now or at the scheduled time. The scheduling that LinkedIn's API refuses to do happens in the scheduler's own queue, which is the entire trick. The full setup, including what the other tools do, is in how to let Claude post to social media.

Two details worth knowing before you pick any tool on this route. First, ask what happens between "Claude wrote it" and "it is live." Ours is approval-first: agent posts are drafts until a human approves, and fully autonomous publishing is a separate per-key switch, off by default, with the safety tradeoffs covered in is it safe to let an AI agent post for you. Second, the same connection is not LinkedIn-only: one MCP server drafts to X, Threads, Bluesky, and the rest, tailored per network.

Can Claude schedule LinkedIn posts, not just publish them?#

Yes, on the scheduler route. Claude proposes a time on the draft, the scheduler holds the post in its queue, and it publishes at that time whether or not Claude, or your laptop, is still running.

This matters more on LinkedIn than almost anywhere else because timing does real work there; we keep our findings current in how to schedule LinkedIn posts. A useful pattern from my own week: I tell Claude Code what shipped, it drafts a LinkedIn post plus an X version, proposes tomorrow 9am, and I approve both from the queue on my phone. The writing step and the publishing step stop being the same sitting.

One more LinkedIn-specific detail from running this in production: put the link in the first comment, not the post body. LinkedIn demotes posts with body links, and the first comment is a free field in the API pipeline we use, so the agent can attach it automatically. On X the same trick has a real API cost attached (a URL makes the post cost 13.3x through the API), but on LinkedIn it costs nothing and reliably protects reach. What to say in the post itself is its own craft; start with what to post on LinkedIn as a founder.

Where to start#

If you want to own the plumbing, start at LinkedIn's developer portal and budget a weekend, plus a queue if you ever want scheduling. If you want the outcome, connect LinkedIn to a scheduler with an MCP server, add the key to Claude Code, and ask Claude to draft a post about the last thing you shipped. You will know within one draft whether this workflow earns a place in your week.

Frequently asked questions

Can Claude post directly to LinkedIn?

Not by itself. Claude needs an MCP server that holds a LinkedIn connection. Once one is configured, Claude can create LinkedIn posts from a chat or from Claude Code in the terminal.

Can Claude schedule a LinkedIn post for later?

Only through a tool that owns a scheduling queue. LinkedIn's public API publishes immediately and has no scheduled_at parameter, so DIY MCP servers built on it cannot schedule. Scheduler-backed MCP servers can, because the scheduler holds the post until the time you set.

Do I need a LinkedIn developer account to connect Claude?

Only for the DIY route. Building your own integration means creating a LinkedIn developer app and requesting the Share on LinkedIn product for the w_member_social scope. Using a scheduler's MCP server needs no developer account, just a normal OAuth sign-in.

Will LinkedIn penalize posts made by an AI agent?

Posts created through an official API connection are normal API posts; LinkedIn does not label or demote them for being agent-created. What hurts reach is the content itself, generic AI-sounding text, and links in the post body, which is why the first comment trick matters.

Rohan Gotwal
Rohan Gotwal
Founder, posthell

Rohan builds posthell, a posting tool he made after missing one too many launch-day posts. He writes about social scheduling, growing a product as a solo founder, and the unglamorous mechanics of getting consistent on X, LinkedIn, Threads and Bluesky.

@rohangotwal

Write once. Post everywhere. Never miss a day.

posthell takes one post, tailors it per network, and publishes on schedule across 15 networks including X, LinkedIn, Instagram and Threads. Honest founder pricing from $12 a month, no agency bloat.

Contents
  1. What do you need to connect Claude to LinkedIn?
  2. How does the developer-app route work, and where does it hurt?
  3. How does the scheduler MCP route work?
  4. Can Claude schedule LinkedIn posts, not just publish them?
  5. Where to start