LinkedIn MCP Server: Schedule Posts by AI Agent

Short answer: the TimeToPost MCP server lets an AI agent schedule and publish posts to your LinkedIn profile with one schedule_post call. You sign in to LinkedIn once in the browser; the agent never sees a LinkedIn token. Posts take up to 3,000 characters and one image or one MP4 video. It publishes, it does not read LinkedIn analytics.

Connect your agent to LinkedIn

By the TimeToPost team. Last reviewed 2026-11-07.

Connect LinkedIn to your agent

  1. Add the TimeToPost MCP server to your client (the endpoint is below) and approve access in the browser.
  2. Ask the agent to call connect_account_link with provider "linkedin". It returns a link; open it signed in to TimeToPost and approve LinkedIn. The scopes are openid, profile and w_member_social: read your name, post as you.
  3. Run list_integrations. Your profile shows with capabilities "post" and "video". Its id is what the agent passes in accountIds when you have more than one LinkedIn account.

The server URL is https://api.timetopost.co/mcp (Streamable HTTP, browser sign in). Client setup files: Claude Code, Cursor, Codex, ChatGPT, Gemini, n8n.

LinkedIn rules the server enforces

RuleLinkedIn
Text3,000 characters, checked when the post is created
Media per postOne image or one video
ImagesJPEG, PNG or GIF, up to 10 MB
VideoMP4 only; uploaded in parts, then LinkedIn processes it before the post is created
FormattingPlain text. @mentions are removed and the characters @ [ ] ( ) # * _ ~ are escaped, so Markdown shows as typed
VisibilityPublic
Profiles per saved postOne. A second profile needs a second post
Token lifeAbout 60 days

What your agent can do on LinkedIn

  • Schedule or publish text, image and video posts to your personal profile.
  • Queue a week of posts in one conversation, then list, reschedule or cancel them later (list_posts, update_post, cancel_post).
  • Draft posts for approval with create_drafts, so a person signs off before anything goes live.

What it cannot do

  • Read likes, comments or impressions: LinkedIn only gives that data to Marketing Developer Platform apps, so get_post_metrics returns nothing for LinkedIn.
  • Post documents (PDF carousels), polls or several images in one profile post.
  • Tag people: mentions are stripped from the text.

A real LinkedIn run, call by call

Prompt: “Schedule this launch note on my LinkedIn for Tuesday 08:30 Paris time, with the screenshot.”

1. list_integrations

Captured from our workspace on 7 November 2026 (id shortened). One profile, so no accountIds needed.

{}

Response:

{"provider":"linkedin","accounts":[{"id":"cmusla...","accountName":"Mel Maysson Owen","status":"connected","capabilities":["post","video"],"metadata":{"grantedScopes":"openid,profile,w_member_social"}}]}

2. schedule_post

The time needs an offset or Z. The image URL comes from prepare_media_upload and finalize_media_upload.

{"platforms":["linkedin"],"content":"We shipped approvals for clients today. Your client gets a link, taps approve, and the post goes out at the time you set.","mediaUrls":["https://media.timetopost.co/u/launch.png"],"scheduledAt":"2026-11-10T08:30:00+01:00"}

3. schedule_post

The same call with a long text: refused before anything is saved, with the exact overage so the agent can trim.

{"platforms":["linkedin"],"content":"<3,120 characters>","scheduledAt":"2026-11-10T08:30:00+01:00"}

Response:

{"error":"Character limit exceeded","message":"LinkedIn post is 3120 characters, 120 over the 3000 limit. Trim it and try again.","platform":"linkedin","limit":3000,"length":3120}

Why a LinkedIn MCP server can post but not report

Posting needs only the w_member_social scope, which any app can request. Post statistics for a member profile need LinkedIn Marketing Developer Platform access, which LinkedIn grants case by case. So a LinkedIn MCP server that claims to read your post analytics is either scraping or using an approved partner app. TimeToPost does neither: get_post_metrics returns no LinkedIn numbers, and the post itself is the only thing the agent writes.

Errors your agent will see on LinkedIn

These are the exact messages the server returns, so an agent can fix the call instead of guessing.

WhenMessage
Text over 3,000 charactersLinkedIn post is 3120 characters, 120 over the 3000 limit. Trim it and try again.
Two images on a profile postValidation failed: Too many media files. Maximum allowed: 1
A video that is not MP4Validation failed: Unsupported video format. Supported: mp4
Video sent with publish now and no saved postLinkedIn videos require a saved post so processing can resume. Use the post composer or scheduling endpoint.
Token expiredLinkedIn authorization expired. Reconnect your account.
LinkedIn did not confirm deliveryLinkedIn delivery could not be confirmed. Check your profile before retrying.

More

Checked against the TimeToPost server code on 2026-11-07.

Frequently asked questions

Is there an official LinkedIn MCP server?

LinkedIn does not publish one for posting. Third-party servers either use the LinkedIn API with your consent, as TimeToPost does, or automate a browser session, which LinkedIn terms do not allow.

Can the agent post to a LinkedIn company page?

Company Page posting is a separate connection that is not open to every workspace yet. Personal profile posting works on every plan today.

Can I approve LinkedIn posts before they go out?

Yes. Have the agent call create_drafts with platform "linkedin". The drafts wait in your approval queue and only publish when you approve them.

How long can a LinkedIn post be through the MCP server?

3,000 characters. Longer text is refused with the exact count over the limit, before the post is saved.

Connect your agent to LinkedIn through TimeToPost: the MCP server and its 76 tools are on every plan, from $12 a month. Your first post is free.

Start free