Skip to main content
Glama
kyle-nelson-berkeley

linkedin-mcp

linkedin-mcp

Servidor MCP para editar tu propio perfil de LinkedIn desde Claude Code, con una estricta separación de propuesta y aprobación: el modelo puede elaborar un borrador de un cambio y mostrarte el diff, pero solo una herramienta puede escribir, y actúa únicamente sobre una propuesta que hayas visto.

Restricción de socios: la API Profile Edit de LinkedIn está restringida a desarrolladores socios aprobados por LinkedIn (w_compliance es «un permiso privado y el acceso se concede a desarrolladores seleccionados» — ver docs/api-notes.md). Hasta que se conceda la aprobación de socio, apply_proposal devuelve un error de alcance no válido. Eso es lo esperado, no un defecto. Todo lo demás (OAuth, propuestas, diffs) funciona hoy.

Cómo funciona

Herramienta

Qué hace

¿Escribe en LinkedIn?

auth_start

Imprime la URL de OAuth de LinkedIn, captura la redirección localhost de un solo uso, intercambia el código y guarda los tokens.

no (solo OAuth)

auth_status

Informa si existe un token y cuándo expira.

no

get_profile

Obtiene tu perfil (GET /v2/me).

no

propose_edit

Construye la petición exacta a la API para un cambio (headline, summary, positions, skills, educations), la guarda como propuesta y devuelve un diff unificado + proposal_id.

nunca

list_proposals

Lista las propuestas guardadas.

no

discard_proposal

Elimina una propuesta guardada.

no

apply_proposal

Envía una única propuesta guardada a LinkedIn — la única herramienta de escritura. Con una confirmación impuesta por el código: rechaza la llamada salvo que se invoque con approval="approve <proposal_id>", una frase que solo se aporta después de que la persona haya revisado el diff en el chat.

Las propuestas se guardan en ~/.config/linkedin-mcp/proposals/, por lo que la aprobación puede ocurrir en una sesión posterior. Los tokens y las credenciales del cliente se guardan en ~/.config/linkedin-mcp/.env con permisos 600, introducidos por ti, nunca por un agente y nunca versionados (ver .env.example).

Related MCP server: kaushik-linkedin-mcp

Instalación

Requiere Python ≥ 3.11.

{
  "mcpServers": {
    "linkedin": {
      "command": "bash",
      "args": ["/path/to/linkedin-mcp/run.sh"]
    }
  }
}

run.sh crea .venv/ e instala las dependencias fijadas en el primer lanzamiento (controlado por una marca; toda la salida del bootstrap va a stderr, lo que mantiene limpio el canal stdio de MCP).

Configuración

Sigue docs/SETUP-KYLE.md, que guía en la creación de la aplicación de desarrollador de LinkedIn, el registro de la URL de redirección, el relleno de ~/.config/linkedin-mcp/.env, la ejecución de auth_start y la solicitud para el programa de socios.

Desarrollo

bash run.sh --help                                # bootstraps the venv (runtime deps only)
.venv/bin/pip install -r requirements-dev.txt     # adds pytest + coverage tooling
.venv/bin/python -m pytest                        # offline — every test runs against a mock transport

El conjunto de pruebas incluye un ctor de escritura permitida: un LinkedIn simulado donde cada endpoint de escritura documentado responde correctamente. Las pruebas comprueban que propose_edit deja cero peticiones no GET en el log registrado incluso cuando las escrituras tendrían éxito, y (control positivo) que apply_proposal sí registra la llamada de escritura documentada en el mismo ctor. --live-probe es un indicador de diagnóstico (una sola petición real; discrimina «el endpoint es correcto pero no se concedió el alcance» de «el endpoint es incorrecto»); no se ejecuta nunca en pruebas ni en CI, y requiere LINKEDIN_MCP_LIVE_PROBE=1.

La superficie de la API está fijada con extractos textuados y fechados de la documentación oficial en docs/api-notes.md.

Licencia

MIT — ver LICENSE.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/kyle-nelson-berkeley/linkedin-mcp'

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