linkedin-post-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage LinkedIn messages, connections, posts, and profile data through Linked API.
LinkedIn API as MCP tools to retrieve profile data and publish content. Powered by HAPI MCP.
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.
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.74 npmMIT
- AlicenseAqualityDmaintenanceEnables LinkedIn API integration for managing profiles, posts, feed, connections, and sending messages through MCP-compatible clients.107 npmMIT
- AlicenseAqualityCmaintenanceEnables 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
- AlicenseAqualityCmaintenanceEnables secure LinkedIn OAuth connection and publishing of text and single-image posts with explicit human approval before anything goes live.526 npmMIT