Skip to main content
Posting and engagement5 servers, checked 20 September 2026

Posting is the one LinkedIn job with a route LinkedIn opened

Publishing to your own feed is self-serve. Everything around publishing is not. Three permissions are self-serve. Everything else needs approval. One of those three is w_member_social, the Share on LinkedIn permission, and it is the only write permission any developer can obtain without review. Of the 5 servers in this directory with posting tools, 1 publishes through it. The other 4 publish by driving a signed-in session, and so does almost everything that reads back who engaged — because LinkedIn closed the permission that would have read it.

Last read
✓ Every permission claim links LinkedIn's own page✓ Config blocks are each project's own, never written here✓ Account exposure derived from a rule, not from a README✓ No affiliate links, no sponsored placements
5 servers with posting tools
1 publishes on LinkedIn's OAuth
33 publishing actions across them
142 sources read
The correction worth making first

LinkedIn does have a personal-profile posting API, it is self-serve, and half the AI tooling on GitHub says otherwise

The claim that publishing to a member's own feed needs partner approval is repeated in README after README, and it is wrong. Share on LinkedIn is one of two self-serve products in LinkedIn's consumer catalogue; the other is Sign In with LinkedIn, and the other three carry no self-serve label at all. The permission it grants — w_member_social — posts to the member who authorised it, through a developer app you register yourself, with no cookie and no browser anywhere in the arrangement.

Three permissions are self-serve. Everything else needs approval.

LinkedIn's own access page lists exactly three permissions any developer can obtain without review: profile and email, through Sign In with LinkedIn using OpenID Connect, and w_member_social, through Share on LinkedIn. In practice an individual developer can get sign-in and posting on their own behalf, and nothing else. LinkedIn on getting API access

Share on LinkedIn is capped at 150 requests per member per day.

The Share on LinkedIn guide prints the throttle as a two-row table: 150 requests a day for a member, 100,000 a day for an application, both counted on UTC days. It is the one self-serve product whose numbers LinkedIn publishes. The Share on LinkedIn guide

Two self-serve products, and posting is one of them

LinkedIn's consumer product catalogue labels Sign in with LinkedIn and Share on LinkedIn self-serve; Verified on LinkedIn, Live Events and Add to Profile carry no such label. There is no self-serve messaging product, no invitation product and no people-search product on it at all. LinkedIn's consumer product catalogue ↗

No self-serve permission grants people search or profile lookup.

Nothing on the public access list lets an application search members or read an arbitrary member's profile. That single gap is what separates the official servers in this directory from every other one. It is also why a posting server and a research server are different products rather than two features of one: the directory sorts every server by that credential.

This is the category where the sanctioned answer and the useful answer overlap most cleanly — ads is the other, and it is a narrower job. For everything else — people search, profile lookup, connection requests, messaging — no self-serve permission exists, which is the finding the whole section rests on: is there an official LinkedIn MCP server?

The line, drawn once

Publishing is sanctioned. Reading who engaged with it is a closed permission.

Read the boxed column as far as it goes rather than as an endorsement of everything beside it. Three rows are the reason this category is not simply “use the official API”: the engagement read-back is closed to new requests, comments and reactions sit behind a separate approval programme, and nothing on the self-serve list touches another member's content. A server that sells you the content loop rather than the post has crossed into the right-hand column somewhere, and the honest ones say where.

Publishing through LinkedIn’s own API against publishing through a signed-in session
 Share on LinkedInOAuth 2.0 — the route LinkedIn openedA signed-in sessionBrowser or cookie — the route Section 8.2 is written against
Publish a post to your own feedSelf-serveYes
Comment or react under your own nameApproval-gatedYes
Read the engagement on a post you publishedClosed permissionYes
Read another member’s post, its comments and its reactorsNoYes
Schedule a post for a later slotOn no self-serve listYes
The throttle on it is publishedYesNo
What LinkedIn can restrict if it objectsThe app, and what it published as youThe account itself
Servers here that publish this way1 of 54 of 5
Engagement read-back is closed, not merely gated

r_member_social is the Member Post Management permission — the one that reads a member's own posts and what happened to them. LinkedIn's Community Management FAQ answers the access question in one line: it is a closed permission and access requests are not being accepted at this time, citing resource constraints. There is no application form to fill in and no queue to wait in. LinkedIn's Community Management overview and FAQ ↗

Comments and reactions are a two-tier approval programme

They belong to the Community Management API, which runs a Development Tier with a limited call volume and a Standard Tier that requires a screencast demonstrating each use case plus test credentials. southleft/linkedin-mcp's README, the one project here that goes through it, notes that approval can take days — so a server that comments the moment you install it is not using this. LinkedIn's Community Management overview and FAQ ↗

Marketing API caching: 24 hours for other members’ profiles, 48 for their activity.

The Marketing API Program Data Storage Requirements table allows 24-hour caching of profile data for a member who has not authenticated into your application — "nothing in these requirements or the LI MDP Terms shall permit you to cache this data in excess of 24 hours or store this data" — and 48 hours for members’ social activity data. Organisations’ social activity gets six weeks. These durations belong to the Marketing API Program; another LinkedIn API programme sets its own. LinkedIn’s Marketing API storage requirements

Marketing API member data may not be used for sales, advertising or recruiting.

The page is titled "Restricted Uses of LinkedIn Marketing APIs and Data" and scopes itself to the Marketing API Platform, so this is a rule about that programme rather than about LinkedIn data in general. It says member data "shouldn't be used for advertising, sales, or recruiting use cases (including to identify sales or marketing prospects or prospective talent for hire, for lead creation, to enhance customer data in a CRM or marketing automation platform, to build an audience list, or for ad targeting purposes)", and lower down adds account-based marketing and sending mass messages. It also says member data "can't be exported, distributed, or otherwise transferred from your application (including to your customers)". Restricted Uses of LinkedIn Marketing APIs and Data

One disagreement this page reports rather than settles. LinkedIn's FAQ says r_member_social is closed to new requests; southleft/linkedin-mcp's required-accounts table says its developer app covers “posting, analytics and profile data” through OAuth. Both pages are published and they cannot both describe the same permission. If you are building on first-party analytics, find out which one holds before you do, because the difference is whether your read path survives a token refresh.

The 5 servers, and how each one publishes

Can an agent post for me?

Publishing, commenting, reacting and scheduling, on your own feed. The second column is the credential each project asks you for, in its own terms. The third counts only the write actions that touch content — a post, a comment, a reaction, a draft, a schedule — rather than the whole tool list, because a server with a long tool list and two posting tools is not a posting server.

ServerWhat it publishes withContent writesAccount exposure
Linked API MCPBrowser session Two vendor-issued API tokens, not LinkedIn credentials. You sign in to LinkedIn once, by hand, inside the vendor's cloud browser.5High
gtm-api/linkedin-mcpBrowser session OAuth to the vendor for interactive clients, or a vendor bearer token for headless ones. LinkedIn is connected separately, inside the vendor dashboard.7High
LinkedGrowBrowser session An API key for the MCP server. LinkedIn itself is connected separately, by entering the account's email and password in the application.2High
southleft/linkedin-mcpSession cookie Posts through a LinkedIn developer app you register; the rest of it runs on a session.13High
linkedincliSession cookie A session from your own logged-in browser, replayed against LinkedIn's internal API. No OAuth, no API key, no developer app.6High
ActiveHigh
Linked API MCP

A team that has already accepted the compliance and account-risk trade-off, wants an agent to both read and act on a real LinkedIn account, and would rather pay a vendor to run the browser than operate one. The breadth is the differentiator: messaging, inbox and network monitoring, connections and invitations, four search surfaces, four fetch surfaces, posting and engagement, plus the Sales Navigator and admin sets.

  • search_posts
  • fetch_post
  • create_post
  • comment_on_post
  • reply_to_comment
  • react_to_post
  • react_to_comment
ActiveHigh
gtm-api/linkedin-mcp

Agent-driven LinkedIn outreach where writes matter: connection requests, member messages, InMail, Sales Navigator and Recruiter messaging, plus posting, commenting and reacting, run against an account you own with rate limits and a preview-then-confirm gate enforced server-side rather than in your own code.

  • create_linkedin_post
  • create_linkedin_comment
  • react_linkedin_post
  • unreact_linkedin_post
  • delete_linkedin_post
  • delete_linkedin_comment
  • delete_linkedin_scheduled_post
ActiveHigh
LinkedGrow

A founder or small sales team that already runs its own Linux server, is willing to pay for an AI provider key and dedicated proxies, and wants LinkedIn prospecting plus content publishing driven from Claude, Cursor or ChatGPT, with the data and the browser sessions staying on hardware they control. The read tools are useful on their own and touch nothing on LinkedIn, so a cautious user can connect the server and simply never start an agent.

  • list_posts
  • get_post
  • draft_post
  • save_post
  • update_post
  • delete_post
  • create_carousel
  • schedule_post
  • schedule_batch
StaleHigh
southleft/linkedin-mcp

A single operator who wants Claude to draft, schedule and publish content on their own LinkedIn account, then read back first-party analytics on how it performed — the content loop the README explicitly designs for. Also reasonable for one-off profile and company research if you are willing to pay for a scraper plan.

  • create_post
  • create_image_post
  • create_video_post
  • create_document_post
  • create_poll
  • edit_post
  • delete_post
  • create_comment
  • delete_comment
  • create_reaction
  • delete_reaction
  • create_draft
  • publish_draft
  • schedule_post
  • get_post_analytics
  • analyze_optimal_posting_times
ActiveHigh
linkedincli

A developer or solo operator who wants their own agent to drive their own LinkedIn account from their own machine, and who is comfortable with session-based tooling against a private API. Because every tool is also a CLI subcommand, each one can be tested by hand before an agent is let near it, and the zero-infrastructure footprint makes it trivial to try. Genuinely useful for read-heavy work: your own profile data, your feed and messages, who viewed your profile, and people, company and job search.

  • profile_posts
  • posts_create
  • posts_edit
  • posts_delete
  • engage_react
  • engage_reactions
  • engage_comment
  • engage_comments-list
  • engage_share
  • search_posts

The chips are every registered tool whose name mentions a post, comment, reaction, draft, schedule, poll, carousel or share, does not mention a message, conversation or inbox, and — where it mentions a reply — is a reply to a comment rather than to a private thread. A rule rather than a selection, so anyone can re-derive the list from the project's own tool names. gtm-api/linkedin-mcp registers its actions behind meta-tools and discovers them at runtime, so its chips come from its documented write actions rather than from a static list. Full records, with every read tool and the project's own config, are on each profile page.

The one on the sanctioned route

southleft/linkedin-mcp posts through LinkedIn's API and does everything else another way

It layers credentials rather than picking one: official OAuth for posting and analytics, a browser session for messaging and search, and a paid scraper API for research. The session path is what carries the account risk. Its README carries a required-accounts table with four rows, and that table is the honest version of what “uses the official API” means in this category: the developer app covers publishing, the browser session covers messaging, connections and search, and a paid scraper key covers research. The account risk is concentrated in the session half, and the project says so in its own words rather than making a reader infer it.

What the developer app has to carry

The app must be associated with a Company Page and carry the Share and Sign In products; the Community Management API is needed for comments and reactions, and the README notes its approval can take days. Share and Sign In are self-serve, so publishing works the day you register. Commenting waits on a review, which is the boundary from the section above showing up in one project's setup.

What runs on the session instead

Messaging, connection management, people search and job search. The README states the session-based paths are prone to LinkedIn's bot detection, and it prints the interval at which the session has to be pulled out of the browser again beside the command that does it, below. Its own warnings are blunt: automated mass messaging violates the terms, and mass connection requests damage your reputation as well as your account.

What state the project is in

Between 90 days and a year since the last code change. It may still work; nobody has checked. The default branch last changed in March 2026 with eight pull requests unmerged, including the one that would add remote deployment. Version 0.2.0, MIT-licensed, and rated hard to set up — there is no published package and no hosted endpoint, so the client config points into your own checkout.

Where the credentials end up

The README says OAuth tokens go to the system keychain and session data to encrypted local storage. The caveat is the client: Claude Desktop does not read environment files, so the documented setup puts the client secret and the scraper key in plaintext inside the config below. Treat that file as a secret, because it is one.

Authenticatesouthleft/linkedin-mcp

The first two commands are the sanctioned half: an OAuth grant against your own app, then a second grant for the Community Management scope that comments and reactions need. The third command takes a session out of a signed-in desktop browser. The README says that session needs refreshing every 24 to 48 hours.

Authenticate
Shell
linkedin-mcp-auth oauth
linkedin-mcp-auth oauth --community-management
linkedin-mcp-auth extract-cookies --browser chrome
linkedin-mcp-auth status
claude_desktop_config.json
JSON
{
  "mcpServers": {
    "linkedin": {
      "command": "/path/to/linkedin-mcp/.venv/bin/python",
      "args": ["-m", "linkedin_mcp.main"],
      "cwd": "/path/to/linkedin-mcp",
      "env": {
        "LINKEDIN_CLIENT_ID": "your_client_id",
        "LINKEDIN_CLIENT_SECRET": "your_client_secret",
        "LINKEDIN_API_ENABLED": "true",
        "THIRDPARTY_RAPIDAPI_KEY": "your_api_key",
        "PYTHONPATH": "/path/to/linkedin-mcp/src",
        "LOG_LEVEL": "INFO"
      }
    }
  }
}

Copied unedited from the southleft/linkedin-mcp repository, read 20 September 2026. Claude Code reads the same mcpServers key in .mcp.json and treats an entry with no type as stdio, so this block moves across unchanged; VS Code uses a servers key instead, and the same JSON under the wrong key fails without an error. The four client shapes are on the directory hub.

The contrast, in one config block

The fastest server to install is the one LinkedIn issued you nothing for

gtm-api/linkedin-mcp is a hosted endpoint: one URL, no local process, no LinkedIn credential in your config at all. What it does instead is open your connected account in a vendor-run cloud browser with a dedicated address, which is why the registry files it under browser session and rates it high. Ease of setup and account exposure run in opposite directions across this whole category, and this pair is the clearest illustration of it.

.mcp.json
JSON
{
  "mcpServers": {
    "gtm-api": {
      "url": "https://mcp.gtm-api.com/mcp"
    }
  }
}

Copied unedited from the gtm-api/linkedin-mcp repository, read 20 September 2026. Its LinkedIn execution layer is not in that repository and cannot be self-hosted or audited — Linked API MCP has the same shape, an MIT client over a closed cloud browser. Both are on their profile pages in full.

The same boundary, outside MCP

Every mainstream automation platform with an official LinkedIn integration is publishing-only

This is the useful confirmation that the line above is LinkedIn's and not this site's. Two general-purpose automation platforms built against the same permission list, and both stopped in exactly the same place — which is what a self-serve ceiling looks like from the outside.

n8n's LinkedIn node has one operation

Post → Create, and nothing else. n8n's own documentation directs users to the generic HTTP Request node for anything further. No messaging, no connection requests, no search. n8n's LinkedIn node documentation ↗

Make's LinkedIn app stops at posts and page statistics

Its modules create and delete a post for a member profile, do the same plus list, get and watch for a company page, and read follower and share statistics. No messaging module, no connection request, no search. Make's LinkedIn app documentation ↗

The template people copy publishes with a human in the middle

The n8n template API records 46,016 views on 20 September 2026 for one LinkedIn AI workflow, and it is a content workflow with an approval step before anything posts: a schedule trigger, a sheet of briefs, a model, an email for approval, then the LinkedIn node. It is not outreach. The pattern that survives contact with the platform is draft, approve, publish. The n8n template API record ↗

Every other route in this directory exists because of that ceiling

8 of the 13 servers here write to LinkedIn and 4 put no LinkedIn account behind them at all. The split is not about engineering quality; it is about which side of this permission list a project decided to live on. The directory sorts by exactly that.

Before you install anything

LinkedIn withdrew its own AI post writer, and the feed is the reason

Worth two minutes, because it changes what a posting server is for. Drafting has never needed a connection to LinkedIn — the model has nothing to fetch in order to write about your own work. What a server adds is publication without you, and publication without you is the thing the platform has spent 2026 pushing back against.

WithdrawnCreate posts with our AI-powered writing tool

It generated a post draft from a short prompt. LinkedIn has withdrawn it. Its help article now reads, in full: "LinkedIn's AI-powered writing tool is not available at this time. We'll be introducing new tooling to help improve post writing in the near future." Create posts with our AI-powered writing tool - No longer available

Gradual rolloutPost Proofreader$39.99 a month at the cheapest

It reviews a post draft before you publish — shortening it, clarifying it — and proposes changes you accept or reject. English-language drafts only. It works on a draft you wrote. It is not a replacement for the AI writing tool LinkedIn withdrew. LinkedIn says "eligible Premium members" and names no tier. Both priced Premium plans are Premium subscriptions, so both are listed; eligibility is a rollout gate on top. Premium Career is $39.99 a month, read from LinkedIn on 10 September 2026 what each LinkedIn AI feature costs is dated here.

Views of AI-slop-classified content fell 40%, which LinkedIn credits to the feedback option together with expanded automation defences, improved classifiers, profile verification and new AI tools focused on proofreading rather than rewriting.

More than one million members used the feedback option within the first two weeks of launch. LinkedIn newsroom, 15 September 2026. LinkedIn measuring its own classifier against its own definition of slop; no outside party can check either. LinkedIn's newsroom on AI slop ↗

An outside measurement of the same feed

Pangram built a dataset of 1,002,627 posts from what its browser-extension users saw on LinkedIn, Medium, Substack, X and Reddit after 24 April 2026, and flagged more than 40% of the LinkedIn longform posts as fully AI-generated — LinkedIn was a third of the scanned items and 62% of everything flagged. Only items longer than 50 words are scanned, and the sample is what those users read rather than a draw from the platform. Pangram's measurement of AI content by platform ↗

What LinkedIn ships for members now reviews a draft you wrote rather than producing one, and its own words on the alternative are exact: an assistant drafts in any language with no eligibility gate, but it cannot publish for you. You paste the draft into the composer yourself, and LinkedIn's User Agreement bars using a script or extension to do it instead. That sentence is the whole case for a posting server, and the distinction it turns on is this page's subject: a script driving the composer and an application holding w_member_social are not the same thing to LinkedIn. The prompts that do the drafting are at the content prompt discipline, and the content router puts them beside LinkedIn's own AI and the 6 third-party tools in the same category. Feature records last read 20 September 2026.

Publishing through the sanctioned route

Five steps, and the third one is the step people skip

The order matters more than the commands do. Deciding what has to happen without you comes before choosing a server, because it is the only question whose answer changes which credential you end up holding.

  1. 1
    Decide whether anything needs to publish at all

    An assistant already drafts a post from a brief, in any language, with no eligibility gate — and LinkedIn withdrew its own member-facing writing tool rather than competing with that. What an assistant cannot do is put the draft in the composer. If you are willing to paste, you need no server, no developer app and no session, and this is where most readers should stop.

  2. 2
    If something must publish, register your own developer app

    Share on LinkedIn is one of two self-serve products in LinkedIn’s consumer catalogue, and w_member_social is the only write permission on the open-permissions list. The app is yours, the token is yours, and nothing about the arrangement depends on a cookie taken out of a browser.

  3. 3
    Find out what the app does not buy you before you build on it

    It publishes. It does not read who engaged, it does not read anyone else’s post, and comments and reactions sit behind a separate approval. A server whose value is the loop rather than the post is a server that leaves this route somewhere, and the honest ones say where.

  4. 4
    Put the project’s own config block in the file your client reads

    Take the block from the project, not from an article: Claude Desktop, Claude Code and Cursor read an mcpServers object, VS Code reads servers, and a block pasted under the wrong key fails without an error. The four client shapes are on the directory hub.

  5. 5
    Read the tool list before an agent touches it

    A server with posting tools usually has more than posting tools. Ask the assistant to list what registered, and check which of the write tools can reach a conversation or a connection, because those are not covered by the permission you just obtained.

Nothing here tells you to run a server that drives a session, and nothing here certifies one as safe. The agreement effective 3 November 2025 prohibits using bots or other automated methods to access the service, add or download contacts, send or redirect messages, or create, comment on, like, share or re-share posts. It separately prohibits software, scripts or robots used to scrape or copy the service, naming browser plugins and add-ons. Section 8.2 of the User Agreement LinkedIn's prohibited-software page bars "bots or other unauthorized automated methods to access the Services, add or download contacts, send or redirect messages, create, comment on, like, share, or re-share posts, or otherwise drive inauthentic engagement", and states that members who use them risk having their accounts restricted or shut down. LinkedIn’s prohibited-software page

What each route exposes

Every server in this category rates High, including the one on the sanctioned route

Exposure measures one thing: the chance that the LinkedIn account behind the server ends up restricted. It is derived in the registry from the credential and whether the server writes, so two pages on this site cannot disagree about it. The result here is uncomfortable and worth stating plainly — all 5 land on High, because every one of them also writes to LinkedIn through a session somewhere, and a server that publishes through an approved app and stops there does not exist in this directory. The sanctioned route is real. Nobody has shipped a server that takes only it.

LowNothing in this category

No LinkedIn account is behind the server, or it acts only through LinkedIn’s own approved API and only to read. Nothing here can get an account restricted. Publishing is a write by definition, so no posting server can sit in the class that exists for servers with nothing to write.

MediumNothing in this category

The account is exposed in one direction. Either the server reads LinkedIn automatically without writing anything, which the User Agreement prohibits but which produces no activity anyone can report; or it writes through the approved API, where the exposure is what gets published rather than whether the account survives. This is where a server that did nothing but publish through an approved app would land, and no project in this directory has built one.

High5 of the 5 posting servers

The server writes to LinkedIn as you, over a route LinkedIn does not sanction. Automated messages and connection requests under a member’s own name are what the enforcement is built to catch, and the account is what it acts on. Here: Linked API MCP, gtm-api/linkedin-mcp, LinkedGrow, southleft/linkedin-mcp and linkedincli.

OAuth 2.0Why the sanctioned route is not rated Low once it publishes

It cannot search people or read another member’s profile: no permission on LinkedIn’s self-serve list grants either. Three permissions are self-serve — sign-in, email and posting on your own behalf. Everything else is approval-gated, and the Sales Navigator API is not accepting new partners. The registry rates an approved app Low while it reads and Medium once it writes, because a sanctioned route still publishes under your name — what is at stake stops being whether the account survives and becomes what went out on it.

5 authentication classes exist across the directory and 2 of them appear in this category. Nothing on this page ranks the servers and nothing recommends running one: LinkedIn ships none. Several vendors do ship official servers for their own products, and that is a different thing: it means the company behind the tool maintains it, not that LinkedIn sanctions what it does.

LinkedIn posting and MCP, asked directly

The questions people arrive with, answered

Can an AI agent post to LinkedIn for me?

Yes, and this is the one LinkedIn job where the answer is yes without a caveat about the terms. Three permissions are self-serve. Everything else needs approval. The Share on LinkedIn guide prints the throttle as a two-row table: 150 requests a day for a member, 100,000 a day for an application, both counted on UTC days. It is the one self-serve product whose numbers LinkedIn publishes. An application holding w_member_social publishes to the member who authorised it, on a credential LinkedIn issued for that purpose. The caveat is narrower than people expect and lands elsewhere: publishing is sanctioned, reading back who engaged is not, and a server that offers you the whole content loop has left the sanctioned route somewhere in the middle of it.

Which LinkedIn MCP server posts through the official API?

southleft/linkedin-mcp — 1 of the 5 servers here with posting tools. Its README carries a required-accounts table with four rows, and the developer app is one of them: posting and analytics run on your own LinkedIn app, while messaging, connections and search run on a session extracted from a signed-in browser. So the posting half is sanctioned and the server as a whole is filed under session cookie, which is the class that carries the risk. Its default branch has had no commit since March 2026.

Can an MCP server read the engagement on my posts?

Only by leaving the route it published on. LinkedIn’s Community Management FAQ says r_member_social — the Member Post Management program, which is what reads back a member’s own posts and their engagement — is a closed permission and that it is not accepting access requests. Every server here that reports on likes, comments or reactors does it through a signed-in session instead, with one disputed exception: southleft/linkedin-mcp’s README lists analytics under its OAuth app. This page reports that disagreement rather than resolving it, because both pages are published and they cannot both be describing the same permission.

Can an agent comment or react on LinkedIn for me?

Not on the self-serve route. Comments and reactions belong to the Community Management API, which runs a two-tier approval programme rather than an open permission — southleft/linkedin-mcp’s README notes that approval can take days. 8 of the 13 servers in the whole directory can act on LinkedIn as you, and the ones that comment and react without waiting for that approval are driving a signed-in session. The agreement effective 3 November 2025 prohibits using bots or other automated methods to access the service, add or download contacts, send or redirect messages, or create, comment on, like, share or re-share posts. It separately prohibits software, scripts or robots used to scrape or copy the service, naming browser plugins and add-ons.

Can an MCP server schedule LinkedIn posts?

2 of the servers here schedule a post, and not one of them does it through an API. LinkedGrow writes a saved post into your own account’s composer at the slot and hands it to LinkedIn’s own scheduler, driven by a real browser on a worker; southleft/linkedin-mcp registers a schedule tool on the same session layer its messaging runs on. No scheduling permission appears anywhere on LinkedIn’s self-serve access list, whose whole open set is sign-in, email and posting on your own behalf. If a schedule matters more than the automation does, LinkedIn’s own composer schedules a post with no tooling at all.

Is posting through the official API against LinkedIn’s terms?

No. It is the arrangement the permission exists for: Share on LinkedIn is self-serve precisely so that an application can publish on a member’s behalf, and an app publishing under a permission LinkedIn granted it is not a bot using an unauthorised automated method. The clause that catches everything else is Section 8.2. The agreement effective 3 November 2025 prohibits using bots or other automated methods to access the service, add or download contacts, send or redirect messages, or create, comment on, like, share or re-share posts. It separately prohibits software, scripts or robots used to scrape or copy the service, naming browser plugins and add-ons. What does not change between the two routes is authorship — the post carries your name whichever one sent it, so the question the official route settles is whether the account survives, not whether the post was worth publishing.

Is there a free LinkedIn MCP server for posting?

Several of these are free software, and free means two different things in this category. southleft/linkedin-mcp and linkedincli are MIT-licensed and cost nothing beyond the LinkedIn account behind them — though the first one’s research tools want a paid scraper subscription to be useful. LinkedGrow is AGPL-3.0 with every feature on when self-hosted, and then bills you in infrastructure: a Linux host, an AI provider key and one dedicated address per connected account. The hosted services are paid outright. Every price on a profile page here is the vendor’s own figure in the vendor’s own currency, and none of it is LinkedIn’s.

Do I need an MCP server to write LinkedIn posts with Claude?

No, and for most people the server is the wrong thing to reach for. Drafting has never needed a connection — the model has no LinkedIn data to fetch in order to write a post about your own work. A server earns its place only when something has to happen on LinkedIn without you: publishing on a schedule, reading back engagement, or working across more accounts than one person opens. If drafting is the whole job, the prompts and the content discipline on this site cost nothing to try and need no credential at all.

Where to next

Publish on a credential LinkedIn issued you

Share on LinkedIn is self-serve and capped at 150 requests per member per day. Of the 5 servers here with posting tools, 1 publishes through it — and everything you might want to read back afterwards is on the other side of the line.