LinkedIn MCP Server
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 MCP ServerPost on LinkedIn: Excited to launch our new product!"
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
Full-stack MCP server that lets your AI agent (batabeto/OpenClaw) control LinkedIn as you — post, comment, like, manage your network.
Architecture
AI Agent (batabeto) ──MCP/HTTP──► LinkedIn MCP Server ──REST──► LinkedIn API
│
OAuth2 + Token Store
│
Dashboard UIRelated MCP server: LinkedIn MCP Server
Setup Guide
1. Create a LinkedIn App
Go to LinkedIn Developers
Click Create App
Fill in: App Name, LinkedIn Page, Logo
Under Auth tab → Add
Authorized redirect URLs:http://YOUR_EC2_IP:3000/auth/callback(or your domain if using nginx)
Under Products tab → Request:
Share on LinkedIn (gives
w_member_socialscope)Sign In with LinkedIn using OpenID Connect (gives
openid profile email)
Copy your Client ID and Client Secret
2. Install & Configure
git clone <your-repo> linkedin-mcp
cd linkedin-mcp
npm install
cp .env.example .env
nano .envFill in .env:
LINKEDIN_CLIENT_ID=your_client_id
LINKEDIN_CLIENT_SECRET=your_client_secret
BASE_URL=http://YOUR_EC2_IP:3000
PORT=3000
MCP_SECRET_KEY=$(openssl rand -hex 32)3. Run the Server
# Production
npm start
# Development (auto-restart)
npm run dev
# As a systemd service (recommended for EC2)
sudo nano /etc/systemd/system/linkedin-mcp.servicesystemd service file:
[Unit]
Description=LinkedIn MCP Server
After=network.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/linkedin-mcp
ExecStart=/usr/bin/node server.js
Restart=always
RestartSec=5
EnvironmentFile=/home/ubuntu/linkedin-mcp/.env
[Install]
WantedBy=multi-user.targetsudo systemctl enable linkedin-mcp
sudo systemctl start linkedin-mcp
sudo systemctl status linkedin-mcp4. Authenticate LinkedIn
Open:
http://YOUR_EC2_IP:3000Click Connect LinkedIn
Authorize the app on LinkedIn
You'll be redirected back — status shows ✅ Connected
5. Connect to Your AI Agent
For OpenClaw (batabeto):
Add to your agent's MCP config:
{
"mcpServers": {
"linkedin": {
"url": "http://YOUR_EC2_IP:3000/mcp",
"transport": "http",
"headers": {
"Authorization": "Bearer YOUR_MCP_SECRET_KEY"
}
}
}
}For Claude Desktop:
{
"mcpServers": {
"linkedin": {
"command": "npx",
"args": ["mcp-remote", "http://YOUR_EC2_IP:3000/mcp", "--header", "Authorization: Bearer YOUR_MCP_SECRET_KEY"]
}
}
}Available Tools
Tool | Description |
| Get your name, headline, email, photo |
| Post text, articles, links |
| List your recent posts |
| Delete a post by URN |
| Get likes/comments/shares |
| Like any post |
| Comment on a post |
| List your network |
| Search people by keywords |
| Check if authenticated |
Example Agent Prompts
"Post on LinkedIn: Excited to share that I just deployed a full Kubernetes cluster
with ArgoCD GitOps! #DevOps #Kubernetes"
"Get my last 5 LinkedIn posts"
"Delete my LinkedIn post with ID urn:li:ugcPost:1234567890"
"Comment 'Great insight!' on post urn:li:ugcPost:9876543210"
"Check my LinkedIn connection status"API Limitations (LinkedIn)
LinkedIn's public API is restricted. Here's what works vs what doesn't:
Feature | Status | Notes |
Create posts | ✅ Works | Text, articles, links |
Delete posts | ✅ Works | Your posts only |
Like posts | ✅ Works | Any visible post |
Comment | ✅ Works | Any visible post |
Get your posts | ✅ Works | Via UGC Posts API |
Get connections | ⚠️ Needs scope |
|
Search people | ❌ Restricted | Needs Partner API |
Send messages | ❌ Restricted | Needs Partner Program |
Image posts | 🔜 Possible | Needs media upload flow |
Security
The MCP endpoint is protected by
MCP_SECRET_KEY— keep it secretOAuth tokens are stored locally in
data/tokens.json— don't commit this fileLinkedIn tokens expire in 60 days; refresh tokens last 365 days
The server auto-refreshes tokens when < 5 days remain
Open EC2 Port
# In AWS Security Group, allow inbound:
# Port 3000, TCP, from your agent's IP (or 0.0.0.0/0 for testing)Or use nginx to proxy yourdomain.com/mcp → localhost:3000/mcp.
This server cannot be deployed
Related MCP Connectors
LinkedIn for AI agents: inbox, invitations, Sales Navigator search, posts. Quotas and webhooks.
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
Full LinkedIn access for AI agents: leads, messaging, and campaigns with safe limits built in.
Live LinkedIn data for AI agents: profiles, companies, jobs, posts, email finding. No account risk.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to manage professional networking on LinkedIn by providing tools for posting updates, searching for jobs, and analyzing profiles. It facilitates secure interaction with the LinkedIn platform through OAuth 2.0 authentication and the Model Context Protocol.1711MIT
- FlicenseAqualityDmaintenanceEnables LLMs and agents to interact with LinkedIn's REST API for managing profiles, creating posts, viewing connections, and overseeing organizations.52-
- AlicenseBqualityCmaintenanceEnables AI agents to manage LinkedIn profiles, posts, connections, skills, education, and certifications through the LinkedIn API.1817664MIT
- AlicenseBqualityAmaintenanceEnables AI agents with read/write access to LinkedIn API, including profile, posts, media, organizations, comments, reactions, and analytics.2011MIT