LinkedIn MCP server: let Claude or any agent post to your LinkedIn profile

The LinkedIn MCP server URL is https://postwire.io/api/mcp: add it to Claude, ChatGPT, Cursor or any MCP client, connect your LinkedIn profile once, and the agent publishes a text post, a post with 1 to 20 images or a PDF carousel with post_to_social, or queues it with schedule_post. PostWire posts through LinkedIn's official API with its own app, so you create no LinkedIn developer app and paste no cookie. The free plan includes LinkedIn and the MCP server: 1 business, 20 posts a month, 5 AI drafts a day, 2 networks per post, no card.

It publishes to your own LinkedIn profile, in your name. The text can be yours or written for LinkedIn by generate_posts: first person, the hook in the first two lines, short blocks, three hashtags at the end.

Updated . Written from PostWire's own code; vendor prices read on Oct 8, 2026. Live networks: TikTok, Instagram, YouTube, LinkedIn (personal profiles), Facebook Pages, Bluesky, Mastodon, Telegram, Discord, and X on paid plans.

Set it up and post, step by step

  1. Add PostWire's MCP server to your agent

    In Claude, open PostWire in the connector directory and press Connect. Anywhere else, add the remote server https://postwire.io/api/mcp (Streamable HTTP; OAuth sign-in or an API key) — in Claude Code: claude mcp add --transport http postwire https://postwire.io/api/mcp. Cursor, VS Code, Windsurf, Codex and Gemini CLI configs: MCP client configs.

  2. Sign in with your email

    The first time the agent uses a PostWire tool, a sign-in window asks for your email and a 6-digit code; that also creates a free PostWire account if you have none. No password and no card. Agents that cannot do OAuth send an API key instead (dashboard → API & MCP → Copy key).

  3. Connect your LinkedIn profile

    Ask "connect my LinkedIn". The agent calls create_connect_link and gives you a one-hour link; you sign in on LinkedIn's own page and allow PostWire to post for you (LinkedIn's w_member_social permission). PostWire never sees your password.

  4. Let PostWire write the post

    "Write a LinkedIn post about what we learned moving to usage-based pricing, and a Bluesky version." generate_posts returns one draft per network and publishes nothing. LinkedIn's draft is written in the first person with the hook in the first 210 characters — the part the feed shows before "see more" — short lines, an open question to close and 3 hashtags at the end. It keeps links out of the body.

  5. Add images or a PDF, if you want them

    Pass public https links in media: 1 to 20 images (each with its own alt text), or one item of type document — a PDF, PowerPoint or Word file that LinkedIn shows as a swipeable carousel, with a title of up to 200 characters. A file on your phone or laptop gets there through create_upload_link: a 24-hour page where you pick the file (up to 250 MB on the free plan and 1 GB on paid plans), then get_uploaded_file returns its media_url.

  6. Publish, or schedule it

    After you approve the draft, the agent calls post_to_social (or schedule_post with a run_at time, or "next_slot" for your next free queue slot). A PDF carousel looks like this:

    {
      "name": "post_to_social",
      "arguments": {
        "platforms": ["linkedin"],
        "per_platform": { "linkedin": { "text": "We moved to usage-based pricing in March.\n\nThree things we got wrong …\n\n#pricing #saas #b2b" } },
        "media": [
          { "url": "https://postwire.io/m/…/pricing-lessons.pdf", "type": "document", "title": "3 pricing lessons" }
        ]
      }
    }
  7. Open the post

    The result carries the post's link (https://www.linkedin.com/feed/update/…) and the profile it went to. list_scheduled_posts shows what is still queued and cancel_scheduled_post removes one before it goes out.

A link in the first comment instead of the body: the REST API takes "options": {"linkedin": {"first_comment": "Full write-up: https://…"}} on POST /api/post and POST /api/schedule, and a bulk_schedule CSV has a first_comment column. PostWire posts the comment as you, right after the post. See network options.

LinkedIn MCP servers, side by side

Each vendor's endpoint, sign-in and price, read on its own LinkedIn MCP or pricing page on Oct 8, 2026.

ServerEndpointSign-inFree to startCheapest paid planWrites the post
PostWirehttps://postwire.io/api/mcpOAuth 2.1 or API keyFree plan: 1 business, 20 posts a month, 5 AI drafts a day, 2 networks per post, no card$9/mo — 3 businesses, every network in each postYes — generate_posts writes the LinkedIn version and each other network's from one idea
Upload-Postmcp.upload-post.com/mcpOAuth or API keyFree plan: 2 profiles, 10 uploads a month$24/mo — 5 profilesNot listed
Blotatomcp.blotato.com/mcpOAuth (Claude) or API key headerNo — its 7-day trial excludes API and MCP access$29/mo — 20 accountsNot listed
Zerniomcp.zernio.com/mcpOAuth or API keyFirst 2 connected accounts free$6 per account a month after 2Not listed

Checked on Oct 8, 2026 (2026-10-08) on each vendor's own pricing or docs page, linked in the first column and below. Monthly billing in USD unless noted. "Not listed" means we could not find it on their page, not that it is missing.

Where PostWire is ahead

  • The post is written for LinkedIn, and so is every other network's version: generate_posts turns one idea into a first-person LinkedIn post, a Bluesky post and an Instagram caption in one call.
  • 20 posts a month on the free plan, without a card. Upload-Post's free plan has 10 uploads a month; Blotato's MCP access is not part of its 7-day trial.
  • Characters LinkedIn treats as markup are escaped for you, so a post with brackets, underscores or an @ arrives whole, and hashtags stay clickable.
  • LinkedIn plus nine more networks in the same call: TikTok, Instagram, YouTube, Facebook Pages, Bluesky, Mastodon, Telegram, Discord, and X on paid plans.
  • Approvals on every paid plan (from $9 a month): a post can wait until a person approves each network's version.
Sources, all read on Oct 8, 2026:

LinkedIn's rules the agent works within

  • Where it posts: your own LinkedIn profile, publicly. The post is yours — same as one typed on linkedin.com.
  • Text: up to 3,000 characters. LinkedIn's API reads ( ) [ ] { } < > @ | ~ _ * # as markup, and an unescaped one can cut a post short; PostWire escapes them and turns each #hashtag into a clickable LinkedIn hashtag.
  • Images: 1 to 20 in one post, up to 36 MB each, each with optional alt text.
  • Documents: one PDF, PowerPoint or Word file per post, up to 100 MB, on its own (no images next to it).
  • First comment: up to 1,250 characters. If LinkedIn has not indexed the new post yet, PostWire tries the comment again a few minutes later and never sends the post twice.
  • Sign-in lasts about 60 days: LinkedIn ends each connection after that. PostWire checks the connection and tells you to connect again (dashboard → Accounts) instead of failing silently.

Source: PostWire's LinkedIn publisher, read Oct 8, 2026. More on the API itself: Does LinkedIn have an API?

What it does not do

PostWire publishes and schedules posts on your personal profile. Company Pages are not connected today, and LinkedIn takes text, images and documents from PostWire, not video. It does not read your feed, search people, send connection requests or messages, or scrape profiles — nothing that goes around LinkedIn's API.

Questions people ask

What is the LinkedIn MCP server URL?

https://postwire.io/api/mcp. It is a hosted remote MCP server (Streamable HTTP) with OAuth sign-in or an API key; add it to Claude, ChatGPT, Cursor, VS Code or any MCP client and connect your LinkedIn profile once.

Is there an official LinkedIn MCP server?

PostWire is not made by LinkedIn. It is a hosted MCP server that publishes through LinkedIn's official API with LinkedIn's own sign-in and the w_member_social permission, so no cookie, password or browser automation is involved.

Does it work with Claude?

Yes. PostWire is in Claude's connector directory: press Connect, sign in with your email and ask Claude to connect your LinkedIn. Claude Code adds it with: claude mcp add --transport http postwire https://postwire.io/api/mcp.

Can it post to a LinkedIn company Page?

Not today. PostWire publishes to your personal LinkedIn profile; company Pages are not connected.

Can the agent post images, a PDF carousel or video?

Images and documents, yes: 1 to 20 images in one post, or one PDF, PowerPoint or Word file that LinkedIn shows as a swipeable carousel. PostWire does not send video to LinkedIn.

Will it publish without asking me?

Not in Claude: generate_posts only writes drafts, and the tools that publish ask for your confirmation. Every agent sees the exact text and networks before it calls post_to_social. On paid plans you can also make every post wait for a person's approval.

Why does LinkedIn ask me to connect again?

LinkedIn ends each sign-in after about 60 days. PostWire checks the connection and tells you when it has expired; connecting again takes one click on LinkedIn's page.

How much does it cost?

The free plan includes LinkedIn and the MCP server: 1 business, 20 posts a month, 5 AI drafts a day, 2 networks per post, no card. Starter is $9 a month for 3 businesses and Pro $29 for 10, with every network in each post; paid plans have a 14-day refund.