claude — linkedin-mcp
> post my launch notes to LinkedIn as a draft ● linkedin.create_post   text: "**Shipped v2** (finally) #golang"   draft: true draft saved: urn:li:share:7511…   > looks good, publish it posted: linkedin.com/feed/update/urn:li:share:7511…
MCP Server · Go · MIT

POST
BOLD
LINKEDIN

LinkedIn's editor has no bold, no italics, and the API cuts your post short at the first stray bracket. linkedin-mcp lets Claude Code, or any MCP client, write and publish posts that come out exactly as written.

Works with
Claude Code Claude Desktop Cursor Any MCP client
What it handles
EVERYTHING THE
POST BOX CAN'T.
Formatting
BOLD & ITALIC

Write **bold** and *italic*. They become Unicode bold and italic letters that show up everywhere LinkedIn does.

Safe text
NO SILENT CUTS

Brackets, @ signs and underscores are reserved in LinkedIn's API. Left alone they truncate the post. They're escaped for you.

Hashtags
REAL TAGS

#golang becomes a proper clickable hashtag, not plain text.

Media
IMAGES & LINK CARDS

Attach one or more images, or a link preview with your own title and description.

Workflow
DRAFTS & COMMENTS

Save a draft to review first. Reply to posts with the comment tool. Delete what you don't want.

Pages
COMPANY PAGES

Post or comment as an organization, not just as yourself.

Before / after
YOU WRITE MARKDOWN.
LINKEDIN SHOWS STYLE.
create_post → text
What Claude sends
**Shipped v2** (finally) 🚀 *Small* tool, big fix: ▸ **Formatting** that works ▸ No truncation at @mentions #golang #mcp
What your feed shows
𝗦𝗵𝗶𝗽𝗽𝗲𝗱 𝘃𝟮 (finally) 🚀 𝘚𝘮𝘢𝘭𝘭 tool, big fix: ▸ 𝗙𝗼𝗿𝗺𝗮𝘁𝘁𝗶𝗻𝗴 that works ▸ No truncation at @mentions #golang #mcp
Secure by default
AN AGENT POSTS
AS YOU. SO IT'S LOCKED DOWN.
Auth
KEY REQUIRED

The HTTP server needs a bearer key and a local Host header. Other processes and web pages can't post through it.

Uploads
REAL IMAGES ONLY

Files are checked by their contents. Only actual jpg, png or gif can be attached, so nothing else on your disk can leak out as a "photo".

Config
ONE FIXED PATH

Settings load only from ~/.config/linkedin-mcp/.env. A cloned repo can't slip in its own.

Built in public
EVERY POST BELOW
WENT OUT THROUGH IT.
Post 01
POSTING FROM MY TERMINAL

The launch: why LinkedIn needs a formatter, and what the server does.

Read on LinkedIn →
Post 02
3 HOLES, 500 LINES

A security review of the server, and why "localhost" isn't authentication.

Read on LinkedIn →
Post 03
IT'S OPEN SOURCE

The repo goes public under MIT, with a link card made by the tool itself.

Read on LinkedIn →
Install
FIVE MINUTES.
ONE GO BINARY.

Create a LinkedIn developer app with Sign In with LinkedIn and Share on LinkedIn, then:

$ go install github.com/ivikasavnish/linkedin-mcp@latest && linkedin-mcp auth

Then add it to Claude Code:
claude mcp add -s user linkedin -- linkedin-mcp

Full setup, HTTP mode and company pages: README

Star on GitHub Also try aictx