Skip to main content
Glama
Raffaele86

LinkedIn Post MCP

by Raffaele86

LinkedIn Post MCP

An MCP (Model Context Protocol) server that lets an MCP client (e.g. Claude) publish posts to a LinkedIn profile via the official LinkedIn API.

How it works

  • 3-legged OAuth (member token) against LinkedIn (openid profile w_member_social) — the member authorizes once, the resulting access/refresh token is persisted locally and refreshed automatically.

  • FastMCP server, HTTP transport on /sse. Authentication towards the MCP client is expected to be handled upstream (e.g. by an MCP gateway); here OAuth is only towards LinkedIn.

  • Tools: import an existing token, run the interactive OAuth flow, post a text post (supports markdown formatting → LinkedIn richtext), inspect token state.

Setup

See SETUP.md for the full LinkedIn app configuration (credentials, redirect URI, scopes) and server deployment.

Quick start

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env   # then fill in LINKEDIN_CLIENT_ID / LINKEDIN_CLIENT_SECRET
python oauth_cli.py auth   # interactive 3-legged OAuth
python server.py            # start the MCP server

Configuration

All settings come from environment variables (see .env.example):

Variable

Description

LINKEDIN_CLIENT_ID / LINKEDIN_CLIENT_SECRET

LinkedIn app credentials

LINKEDIN_REDIRECT_URI

Must match an authorized redirect URL in the LinkedIn app

LINKEDIN_SCOPES

openid profile w_member_social

LINKEDIN_VERSION

LinkedIn API version (YYYYMM)

BASE_URL / PORT

Where the server listens

TOKEN_PATH

Where the persisted member token is stored (perm 600)

License

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Raffaele86/linkedin-post-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server