LinkedIn MCP Server
Servidor MCP de LinkedIn
Servidor MCP full-stack que permite a tu agente de IA (batabeto/OpenClaw) controlar LinkedIn como si fueras tú: publicar, comentar, dar 'me gusta' y gestionar tu red.
Arquitectura
AI Agent (batabeto) ──MCP/HTTP──► LinkedIn MCP Server ──REST──► LinkedIn API
│
OAuth2 + Token Store
│
Dashboard UIRelated MCP server: LinkedIn MCP Server
Guía de configuración
1. Crear una aplicación de LinkedIn
Ve a LinkedIn Developers
Haz clic en Create App (Crear aplicación)
Rellena: Nombre de la aplicación, página de LinkedIn, logotipo
En la pestaña Auth (Autenticación) → Añade
Authorized redirect URLs(URLs de redireccionamiento autorizadas):http://YOUR_EC2_IP:3000/auth/callback(o tu dominio si usas nginx)
En la pestaña Products (Productos) → Solicita:
Share on LinkedIn (otorga el alcance
w_member_social)Sign In with LinkedIn using OpenID Connect (otorga
openid profile email)
Copia tu Client ID y Client Secret
2. Instalación y configuración
git clone <your-repo> linkedin-mcp
cd linkedin-mcp
npm install
cp .env.example .env
nano .envRellena el archivo .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. Ejecutar el servidor
# Production
npm start
# Development (auto-restart)
npm run dev
# As a systemd service (recommended for EC2)
sudo nano /etc/systemd/system/linkedin-mcp.serviceArchivo de servicio systemd:
[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. Autenticar LinkedIn
Abre:
http://TU_IP_EC2:3000Haz clic en Connect LinkedIn (Conectar LinkedIn)
Autoriza la aplicación en LinkedIn
Serás redirigido de vuelta: el estado mostrará ✅ Connected (Conectado)
5. Conectar con tu agente de IA
Para OpenClaw (batabeto):
Añade a la configuración MCP de tu agente:
{
"mcpServers": {
"linkedin": {
"url": "http://YOUR_EC2_IP:3000/mcp",
"transport": "http",
"headers": {
"Authorization": "Bearer YOUR_MCP_SECRET_KEY"
}
}
}
}Para Claude Desktop:
{
"mcpServers": {
"linkedin": {
"command": "npx",
"args": ["mcp-remote", "http://YOUR_EC2_IP:3000/mcp", "--header", "Authorization: Bearer YOUR_MCP_SECRET_KEY"]
}
}
}Herramientas disponibles
Herramienta | Descripción |
| Obtener tu nombre, titular, correo electrónico, foto |
| Publicar texto, artículos, enlaces |
| Listar tus publicaciones recientes |
| Eliminar una publicación por URN |
| Obtener 'me gusta'/comentarios/compartidos |
| Dar 'me gusta' a cualquier publicación |
| Comentar en una publicación |
| Listar tu red |
| Buscar personas por palabras clave |
| Comprobar si está autenticado |
Ejemplos de prompts para el agente
"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"Limitaciones de la API (LinkedIn)
La API pública de LinkedIn está restringida. Aquí tienes lo que funciona y lo que no:
Función | Estado | Notas |
Crear publicaciones | ✅ Funciona | Texto, artículos, enlaces |
Eliminar publicaciones | ✅ Funciona | Solo tus publicaciones |
Dar 'me gusta' | ✅ Funciona | Cualquier publicación visible |
Comentar | ✅ Funciona | Cualquier publicación visible |
Obtener tus publicaciones | ✅ Funciona | Vía API de publicaciones UGC |
Obtener conexiones | ⚠️ Requiere alcance | Se requiere |
Buscar personas | ❌ Restringido | Requiere Partner API |
Enviar mensajes | ❌ Restringido | Requiere Partner Program |
Publicar imágenes | 🔜 Posible | Requiere flujo de carga de medios |
Seguridad
El endpoint MCP está protegido por
MCP_SECRET_KEY: mantenlo en secretoLos tokens OAuth se almacenan localmente en
data/tokens.json: no subas este archivo al repositorioLos tokens de LinkedIn caducan en 60 días; los tokens de actualización duran 365 días
El servidor actualiza automáticamente los tokens cuando quedan menos de 5 días
Abrir puerto EC2
# In AWS Security Group, allow inbound:
# Port 3000, TCP, from your agent's IP (or 0.0.0.0/0 for testing)O utiliza nginx para hacer proxy de tudominio.com/mcp a localhost:3000/mcp.
Related MCP Connectors
- mcpOAuthcom.curviate
LinkedIn actions for AI agents: search, messaging, posts and invites, as hosted MCP tools.
LinkedIn for AI agents: inbox, invitations, Sales Navigator search, posts, jobs, quotas, webhooks.
LinkedIn jobs, companies and people for AI agents, plus messages and invites via your own account.
1Schedule and publish LinkedIn posts to profiles and company pages from AI agents.
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.1733 PyPI12MIT
- AlicenseBqualityCmaintenanceEnables AI agents to manage LinkedIn profiles, posts, connections, skills, education, and certifications through the LinkedIn API.18176 npm64MIT
- AlicenseBqualityCmaintenanceEnables AI agents with read/write access to LinkedIn API, including profile, posts, media, organizations, comments, reactions, and analytics.2011 npmMIT
- AlicenseBqualityBmaintenanceEnables AI agents to manage LinkedIn profiles, posts, connections, skills, education, certifications, and other professional data through the LinkedIn API.19MIT