Trusted by 2,000+ users

LinkedIn MCP Server for Claude, Cursor, and Any AI Agent

Give your agent a LinkedIn MCP server that already has API access. Connect a LinkedIn profile once, and Claude, Cursor, Codex, or any MCP client can write, schedule, and publish LinkedIn posts from the conversation.

No credit card required

Connect LinkedIn

Paste this into your agent

or add the MCP yourself
  • OAuth 2.1 sign-in, no API key to paste
  • Scheduling and a posting queue built in
  • Text, images, video, and PDF document posts

What Your Agent Gets

LinkedIn tools, ready to call

Every PostZen API endpoint is an MCP tool. These are the ones that matter for LinkedIn.

createPost

Publish or schedule LinkedIn posts

Text, a link, up to 20 images, a video, or a PDF document post. Publish now, set scheduledFor, or drop it into the queue.

settings.reshareUrl

Quote-reshare a post

Pass a LinkedIn post URL and PostZen publishes a quote reshare with your commentary on top.

settings.visibility · settings.disableLinkPreview

Audience and link previews

Post publicly or to connections only, and turn off the link card when the text should stand on its own.

createMediaPresign

Upload media from the agent

The agent asks for an upload URL, sends the file, and references it in the post. No LinkedIn asset registration.

previewQueue · getNextQueueSlot

Fill the posting queue

The agent sees the next open slots and books posts into them instead of guessing times.

getPost · updatePost · deletePost

Check, edit, and cancel

Every target reports status, the live post URL, and any error. Scheduled posts can be changed until they go out.

Example Prompts

What to say to your agent

Prompt

Post this to my LinkedIn profile tomorrow at 9am: "We just shipped scheduled publishing for every platform..."

What happens

The agent calls createPost with your LinkedIn account, the text, and scheduledFor set to 9:00 in your timezone, then confirms the scheduled post ID.

Prompt

Share this article on LinkedIn for my connections only, without the link preview.

What happens

The agent calls createPost with settings.visibility set to "CONNECTIONS" and settings.disableLinkPreview set to true, so the link stays in the text without a card.

Prompt

Turn this PDF into a LinkedIn document post titled "Q3 recap".

What happens

The agent uploads the PDF through createMediaPresign, attaches it, and sets settings.documentTitle. LinkedIn renders it as a swipeable document.

Prompt

Add my three drafts to the LinkedIn queue and tell me when they will go out.

What happens

The agent reads the next open slots with previewQueue, creates one post per draft into the queue, and reports the dates.

WHY POSTZEN?

PostZen vs. building it yourself

Build a LinkedIn MCP server yourself and you own the auth, the media pipeline, and every LinkedIn API change. Connect PostZen and your agent gets the tools today.

PostZen

2.3M+ posts

2,000+ users
  • One hosted MCP endpoint; the client signs in with OAuth 2.1 and nothing runs on your machine
  • LinkedIn profile posting already approved on PostZen: connect an account in a browser tab and post
  • The same createPost tool for LinkedIn and the other nine platforms
  • Scheduling, queues, retries, and media hosting handled server-side
  • Scoped, revocable access: read-only or read-and-write keys minted at consent

Build a LinkedIn MCP server yourself

  • Apply for LinkedIn API access and wait for approval before a third-party app can post
  • OAuth 2.0 with 60-day access tokens you have to refresh and store
  • Multi-step media upload: register the asset, PUT the bytes, reference the URN
  • A versioned REST API with a LinkedIn-Version header that needs a yearly bump
  • A tool schema, auth layer, and hosting for the MCP server itself, then again for every other platform

Any MCP Client

Connect from the client you already use

Each page has the exact command for that client, the sign-in step, and a way to check the tools are live.

For AI Agents

Send your agent this page

Tell your agent to set up PostZen from postzen.dev/mcp/linkedin. It reads the block below, registers the server, connects LinkedIn, and reports back.

postzen.dev/mcp/linkedin
## For AI agents reading this page

You are reading https://postzen.dev/mcp/linkedin. PostZen is a social media API with a hosted MCP server. Once connected, you can publish and schedule posts to the user's personal LinkedIn profile. Posting as a company page is not available yet. The same tools cover the user's other social accounts (Instagram, X, LinkedIn, Facebook, Threads, YouTube, TikTok, Pinterest, Bluesky, Telegram).

1. Register the MCP server in the client you are running in. The endpoint is https://mcp.postzen.dev/mcp (streamable HTTP). Interactive clients sign in with OAuth 2.1; headless clients send a PostZen API key as "Authorization: Bearer pzn_live_...". Exact commands per client: Claude Code https://postzen.dev/claude · Cursor https://postzen.dev/cursor · Codex https://postzen.dev/codex · OpenClaw https://postzen.dev/openclaw · GrokBot https://postzen.dev/grok-bot · Hermes https://postzen.dev/hermes · any other MCP client https://postzen.dev/agents.

2. Sign in. When the client opens the PostZen consent screen, ask the user before approving access or completing a signup on their behalf, and never enter their credentials for them. Approving mints a scoped, revocable key for this client.

3. Connect LinkedIn. Call listAccounts. If no account with platform "linkedin" is listed, call createConnectUrl with platform "linkedin" and give the user the URL; they authorize LinkedIn in their browser. Do not try to log in to LinkedIn yourself.

4. Verify before you continue. Call listAccounts again and confirm a "linkedin" account shows as connected. If it does not, stop and tell the user what failed. Do not carry on as if the account were there.

5. Report back. Tell the user which LinkedIn account is connected and what you can now do with it, then ask what they want first. Prefer scheduling (scheduledFor, or the queue) over publishing immediately unless the user asks for "now".

## LinkedIn on createPost

- Target the account with platforms: [{ platform: "linkedin", accountId, settings: { ... } }]. content is the shared text; customContent on the target overrides it for LinkedIn only.
- settings.visibility: "PUBLIC" (default) or "CONNECTIONS".
- settings.disableLinkPreview: true suppresses the link card; settings.reshareUrl: quote-reshare an existing LinkedIn post.
- Company pages (settings.organizationUrn) and first comments (settings.firstComment) are not available on LinkedIn yet; they are waiting on LinkedIn's approval. Do not offer them.
- Media per post: up to 20 images, or one video (settings.videoTitle), or one PDF document post (settings.documentTitle).
- Analytics: LinkedIn metrics are not available through getAnalytics yet; do not promise them.
- Media: pass public URLs in mediaItems, or call createMediaPresign to get an upload URL, PUT the file, then reference the returned media in the post.
- Check results with getPost: each platform target reports status, the live post URL, and any error.

## Reference

- MCP endpoint: https://mcp.postzen.dev/mcp (streamable HTTP, OAuth 2.1)
- MCP docs: https://docs.postzen.dev/mcp
- Create post reference: https://docs.postzen.dev/api-reference/posts/create-post
- Full API summary for models: https://postzen.dev/llms.txt
- API keys: https://app.postzen.dev/api-keys

Frequently asked questions

Still have questions?

What is a LinkedIn MCP server?

MCP (Model Context Protocol) is the standard AI clients use to call external tools. A LinkedIn MCP server exposes LinkedIn actions as tools, so an agent such as Claude or Cursor can publish a post instead of just drafting it. PostZen hosts one for you: it holds the LinkedIn API access and OAuth, and your client connects to a single endpoint.

Do I need LinkedIn API approval?

No. PostZen already has LinkedIn access for personal profiles, so you connect a profile through the dashboard and the agent posts through PostZen. There is no LinkedIn developer app, partner program application, or token refresh on your side.

Can the agent post as a company page?

Not yet. Company-page posting is built and waiting on LinkedIn's approval of PostZen's Community Management API access. Once it lands, the agent will pass the page URN in settings.organizationUrn and the post will publish as the page.

Which LinkedIn post types work?

Text and link posts, up to 20 images, video, PDF document posts (the swipeable carousels), and quote reshares of existing posts. That is the same set the PostZen REST API supports; the MCP tools are generated from the same spec.

Can the agent read LinkedIn analytics?

Not for LinkedIn yet. The analytics tools (getAnalytics, getDailyMetrics, getFollowerStats, getBestTimeToPost) already cover Instagram, X, Facebook, Threads, YouTube, TikTok, Pinterest, and Bluesky, and will return LinkedIn metrics through the same tools once LinkedIn approves the member analytics scopes.

Which AI clients can use it?

Any client that supports remote MCP servers: Claude (claude.ai, Claude Desktop, Claude Code), Cursor, Codex, OpenClaw, GrokBot, Hermes, and others. Interactive clients sign in with OAuth 2.1; headless ones send a PostZen API key in the Authorization header. Each client has its own setup page with the exact command.

What can the agent access once connected?

Only what you approve on the consent screen: read-only or read-and-write access, scoped to the profile you pick. Approving creates a named, revocable API key, so you can cut a client off from the dashboard at any time. Ask the agent to schedule rather than publish immediately if you want to review posts before they go out.

How much does the MCP server cost?

The MCP server is included on every PostZen plan, including Free, which covers 2 connected accounts and 20 posts a month. Paid plans start at $19 per month with unlimited posts.

LEARN MORE

Give your agent LinkedIn

Your agent already writes the post. PostZen lets it publish there.