linkedin-post-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@linkedin-post-mcpcheck my LinkedIn auth, then post: Just launched my new project!"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
linkedin-post-mcp
Minimal, auditable MCP server + one-command publisher for posting to LinkedIn
via the official REST API (POST https://api.linkedin.com/rest/posts).
No passwords, no browser automation, no third-party service. The only secret is a member access token that you generate and keep local.
What's here
File | Purpose |
| MCP (stdio) server. Tools: |
| Standalone token sanity check ( |
| Example post texts (one per project) — edit freely before publishing. |
| One command to publish them all ( |
Related MCP server: linkedin-mcp
Why YOU must supply the token
Posting acts as your identity. LinkedIn's official API only issues posting rights through OAuth to a LinkedIn Developer App that you own. There is no way — none — for me to obtain that on your behalf without your login, and automating your login would breach LinkedIn's User Agreement and risk your account. So this is the single step you do once; everything else is done.
One-time setup (about 5 minutes)
Go to https://www.linkedin.com/developers/apps → Create app (associate it with any LinkedIn Page you admin — you can create a throwaway one).
Products tab → request "Share on LinkedIn" (gives
w_member_social) and "Sign in with LinkedIn using OpenID Connect" (givesopenid profile). These are usually granted instantly.Auth tab → note Client ID and Client Secret. Add a redirect URL such as
http://localhost:8080/callback.Generate a member access token with scopes
openid profile w_member_social. Easiest: the "OAuth 2.0 tools" → Token generator in the app, or run the 3-legged OAuth flow. Token lifetime is ~60 days.Put it in
.envnext to this README:LINKEDIN_ACCESS_TOKEN=AQV...your.token.here
Use it
# 1. confirm the token works (read-only)
node check-auth.mjs
# 2. review exactly what will be posted (no network writes)
node publish-all.mjs --dry-run
# 3. publish all five
node publish-all.mjs --yes
# options
node publish-all.mjs --yes --only=shader-hero
node publish-all.mjs --yes --visibility=CONNECTIONSUse as an MCP server
Register index.mjs as a stdio MCP server in your agent's config (e.g. opencode.jsonc),
passing the token through the env var. Once set, ask the agent to call check_auth,
then create_post with any text.
{
"mcp": {
"linkedin": {
"type": "local",
"command": ["node", "C:\\path\\to\\linkedin-mcp\\index.mjs"],
"environment": { "LINKEDIN_ACCESS_TOKEN": "..." }
}
}
}API facts used
Endpoint:
POST /rest/posts; identity fromGET /v2/userinfo(sub→urn:li:person:<sub>).Required headers:
Authorization: Bearer,Linkedin-Version: YYYYMM,X-Restli-Protocol-Version: 2.0.0.Created post id comes back in the
x-restli-idresponse header.The Posts API supersedes the older
ugcPostsendpoint.
License
MIT © 2026 Omar Hindawy
This server cannot be deployed
Maintenance
Related MCP Connectors
LinkedIn API as MCP tools to retrieve profile data and publish content. Powered by HAPI MCP.
- linkedinOAuthio.reachium
LinkedIn campaigns, content, leads and inbox from your AI client. Scoped, revocable keys.
LinkedIn: The LinkedIn Data API offers access to detailed information on individuals, companies.
Draft LinkedIn posts in your voice, then schedule or publish them through LinkedIn's official API.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables posting content, sharing articles, and managing LinkedIn profile through natural language using the official LinkedIn REST API with OAuth 2.0.710 npmMIT
- AlicenseAqualityDmaintenanceEnables LinkedIn API integration for managing profiles, posts, feed, connections, and sending messages through MCP-compatible clients.104 npmMIT
- AlicenseAqualityBmaintenanceEnables local-only use of LinkedIn's official API to authenticate via OAuth, publish text posts, and read or reply to comments with explicit confirmation. Keeps access tokens in the OS keychain and avoids scraping or browser automation.4MIT
- AlicenseAqualityBmaintenanceEnables secure LinkedIn OAuth connection and publishing of text and single-image posts with explicit human approval before anything goes live.517 npmMIT