About Linkedin MCP
Linkedin MCP is an MCP server published by agency42 in the Social category.
The repository has 35 stars and 14 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/agency42/linkedin-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Linkedin MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 2 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
1 check has not been run yet.
README
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/callback - Copy your Client ID and Client Secret into
.env
Setup
git clone <repo_url>
cd linkedin-mcp
npm install
Create 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/callback
Running
-
OAuth Callback Server (must stay running):
npm run dev:auth -
MCP Server:
- Via Claude Desktop:
claude-desktop - Or manually:
npm run dev - This starts stdio transport + HTTP+SSE server.
- Via Claude Desktop:
-
Inspector UI:
npm run build npx @modelcontextprotocol/inspector node build/server.js- Open 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:auth - Visit
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.
README fetched from the repository 2 days ago. The original is authoritative.