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 LinkedInBy the TimeToPost team. Last reviewed 2026-11-07.
Connect LinkedIn to your agent
- Add the TimeToPost MCP server to your client (the endpoint is below) and approve access in the browser.
- 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.
- 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
| Rule | |
|---|---|
| Text | 3,000 characters, checked when the post is created |
| Media per post | One image or one video |
| Images | JPEG, PNG or GIF, up to 10 MB |
| Video | MP4 only; uploaded in parts, then LinkedIn processes it before the post is created |
| Formatting | Plain text. @mentions are removed and the characters @ [ ] ( ) # * _ ~ are escaped, so Markdown shows as typed |
| Visibility | Public |
| Profiles per saved post | One. A second profile needs a second post |
| Token life | About 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.
| When | Message |
|---|---|
| Text over 3,000 characters | LinkedIn post is 3120 characters, 120 over the 3000 limit. Trim it and try again. |
| Two images on a profile post | Validation failed: Too many media files. Maximum allowed: 1 |
| A video that is not MP4 | Validation failed: Unsupported video format. Supported: mp4 |
| Video sent with publish now and no saved post | LinkedIn videos require a saved post so processing can resume. Use the post composer or scheduling endpoint. |
| Token expired | LinkedIn authorization expired. Reconnect your account. |
| LinkedIn did not confirm delivery | LinkedIn delivery could not be confirmed. Check your profile before retrying. |
More
- TimeToPost MCP server: every tool, setup and pricing.
- X MCP server
- Instagram MCP server
- TikTok MCP server
- Telegram MCP server
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