LinkedIn MCP Server
Click on "Install 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 MCP ServerShare a post on LinkedIn about our new feature release"
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 MCP Server
A Model Context Protocol (MCP) server using the TypeScript SDK for LinkedIn integration. Allows an AI agent (e.g. Claude) to authenticate with LinkedIn and share posts or links.
Prerequisites
Node.js (>=14) and npm
LinkedIn Developer App:
Create an app at https://www.linkedin.com/developers/apps
Under "Products", add Sign In with LinkedIn (OpenID Connect) and Share on LinkedIn
Authorized Redirect URI must match
.env:http://localhost:8000/auth/linkedin/callbackCopy your Client ID and Client Secret into
.env
Related MCP server: LinkedIn MCP Server
Setup
git clone <repo_url>
cd linkedin-mcp
npm installCreate a .env in project root with:
SESSION_SECRET=your-session-secret
AUTH_PORT=8000 # OAuth callback server port
HTTP_PORT=8001 # HTTP/SSE server port
LINKEDIN_CLIENT_ID=your-client-id
LINKEDIN_CLIENT_SECRET=your-client-secret
LINKEDIN_REDIRECT_URI=http://localhost:8000/auth/linkedin/callbackRunning
OAuth Callback Server (must stay running):
npm run dev:authMCP Server:
Via Claude Desktop:
claude-desktopOr manually:
npm run devThis starts stdio transport + HTTP+SSE server.
Inspector UI:
npm run build npx @modelcontextprotocol/inspector node build/server.jsOpen the Inspector in browser → Tools
Use
linkedin-share-postorlinkedin-share-linktools.
Testing
Visit
http://localhost:8000/auth/linkedinin browser → complete LinkedIn login.Confirm “Authentication successful!”.
In Inspector, run sample post/link tools.
Verify content on your LinkedIn profile.
Claude Desktop Integration
Run
npm run dev:authVisit
http://localhost:8000/auth/linkedinin browser → complete LinkedIn login.Confirm “Authentication successful!”. A token file should be generated. Do not close this terminal.
Open Claude Desktop and verify the tools are listed
Configure your claude_desktop_config.json file:
{
"mcpServers": {
"linkedin": {
"command": "node",
"args": ["/Users/ken/Desktop/lab/linkedin-mcp/build/server.js"],
"transport": "http",
"url": "http://localhost:8001",
"sseEndpoint": "/stream",
"httpEndpoint": "/message",
"env": {
"SESSION_SECRET": "your-session-secret",
"AUTH_PORT": "8000",
"HTTP_PORT": "8001",
"LINKEDIN_CLIENT_ID": "your-client-id",
"LINKEDIN_CLIENT_SECRET": "your-client-secret",
"LINKEDIN_REDIRECT_URI": "http://localhost:8000/auth/linkedin/callback"
}
}
},
"globalShortcut": "Ctrl+Space"
}(You can find this file from Claude Desktop by going to settings > developer > edit config)
Save and restart Claude Desktop to apply changes.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sandeepramdas/Linked-In-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server