GTM API: LinkedIn MCP Server
Servidor MCP gestionado de LinkedIn para agentes de IA: busca, conecta, envía mensajes y enriquece en LinkedIn desde Claude, ChatGPT o Cursor. Más de 20,000 cuentas con menos del 1% de baneo.
Documentación
gtm-api: Servidor MCP de LinkedIn
gtm-api es un servidor MCP de LinkedIn gestionado. Proporciona a un agente de IA un endpoint, tres herramientas MCP y más de 160 acciones tipadas de LinkedIn a través del Protocolo de Contexto de Modelo, de modo que Claude, ChatGPT o Cursor puedan buscar, conectar, enviar mensajes y enriquecer en una cuenta de LinkedIn que tú poseas, con la seguridad de la cuenta aplicada en el lado del servidor.
Este repositorio contiene la interfaz pública: qué expone el servidor, cómo conectar un cliente y cómo funciona la capa de seguridad.
¿Qué es un servidor MCP de LinkedIn?
Un servidor MCP de LinkedIn expone acciones de LinkedIn como herramientas del Protocolo de Contexto de Modelo, de modo que un agente de IA las invoque directamente, de la misma manera en que una persona haría clic en la interfaz. LinkedIn no publica una API oficial para invitaciones, mensajes entre miembros o búsqueda abierta de perfiles, por lo que un servidor MCP de LinkedIn funciona a través de una cuenta que tú poseas, en lugar de hacerlo mediante la plataforma para desarrolladores de LinkedIn.
Hoy existen dos formatos. Los servidores de código abierto basados en cookies ejecutan una sesión de navegador con tu propia cookie y sin ritmo controlado. Los servidores gestionados ejecutan cada cuenta en infraestructura aislada con límites aplicados antes de cada acción. gtm-api es del segundo tipo.
Con qué clientes funciona
Cualquier cliente compatible con MCP:
- Claude (Desktop, Code y la API)
- Cursor
- ChatGPT (mediante conectores)
- LangChain, n8n y tiempos de ejecución de agentes personalizados
¿No usas MCP? Cada herramienta también es un endpoint REST tipado con webhooks. Un solo esquema genera las tres superficies.
Inicio rápido
1. Regístrate. Crea una cuenta en app.gtm-api.com (plan gratuito para siempre, sin tarjeta) y conecta una cuenta de LinkedIn. Se abre en un navegador en la nube antidetección dedicado con su propio proxy.
2. Añade el servidor a tu cliente MCP. Para Claude Desktop, edita claude_desktop_config.json (ejemplo en examples/):
{
"mcpServers": {
"gtm-api": {
"url": "https://mcp.gtm-api.com/mcp"
}
}
}
No hay ninguna clave que pegar. El endpoint autentica con OAuth: tu cliente recibe un desafío WWW-Authenticate en la primera llamada, se registra ante el servidor de autorización (registro dinámico de clientes) y abre una página de consentimiento en tu navegador.
Los clientes sin interfaz gráfica pueden omitir el navegador. La misma clave de API (gtm_live_...) que autentica la API REST también funciona en este endpoint como un token portador simple, lo que permite usarlo desde CI y servidores:
claude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp --header "Authorization: Bearer gtm_live_..."
Para clientes que lanzan comandos, el lanzador siguiente lee la clave de GTM_API_KEY en su lugar (versión 1.3.0 o posterior; las versiones anteriores la ignoran y solo usan OAuth). Elige un modo por conexión: con una clave adjunta, el flujo OAuth nunca se inicia. Los clientes interactivos, como los conectores de claude.ai, no tienen campo de cabecera y siempre usan OAuth. Matriz completa: docs.gtm-api.com/mcp/connect.
¿El cliente solo puede lanzar un comando y no abrir una URL? El lanzador @gtm-api/linkedin-mcp conecta clientes stdio al mismo endpoint y ejecuta el mismo flujo OAuth (configuración en examples/):
{
"mcpServers": {
"gtm-api": {
"command": "npx",
"args": ["-y", "@gtm-api/linkedin-mcp"]
}
}
}
Para Claude Code es una sola línea: claude mcp add --transport http gtm-api https://mcp.gtm-api.com/mcp.
El mismo lanzador también se distribuye como imagen Docker, gtmapi/linkedin-mcp (configuración en examples/). Monta un volumen en la caché de tokens para que el paso de consentimiento se ejecute una sola vez y no en cada contenedor:
{
"mcpServers": {
"gtm-api": {
"command": "docker",
"args": ["run", "-i", "--rm", "-v", "gtm-mcp-auth:/home/node/.mcp-auth", "gtmapi/linkedin-mcp"]
}
}
}
3. Reinicia el cliente y escribe instrucciones en lenguaje natural:
"Cada mañana, acepta nuevas invitaciones de conexión de fundadores, responde con un breve saludo y añade a cualquiera que contrate SDR a una lista de contactos cálidos."
El agente descubre las acciones y las encadena: obtiene las invitaciones de conexión más recientes, acepta las que coinciden y envía a cada nuevo contacto un mensaje breve. Cada acción hacia el exterior ejecuta un paso de vista previa y confirmación, además de una verificación de límite diario en el lado del servidor, antes de llegar a LinkedIn.
Herramientas MCP
El servidor expone exactamente tres herramientas MCP. El descubrimiento es progresivo: un agente lista los conjuntos de herramientas, inspecciona uno y luego invoca una acción. Las más de 160 acciones de LinkedIn nunca se cargan a la vez en el contexto del modelo, por lo que la huella del esquema se mantiene en torno a 400 tokens.
[
{
"name": "list_toolsets",
"description": "List the available toolsets (domains) on this server. Each toolset groups related tools (e.g. linkedin.messaging, id.billing). Start here, then get_toolset_tools to inspect one, then call_tool to run a tool. Requires OAuth authorization (Bearer token).",
"input_schema": { "type": "object", "properties": {} }
},
{
"name": "get_toolset_tools",
"description": "List the tools in a toolset. Default (lite) returns name + title + one-line summary; pass verbose:true for full descriptions, safety flags, and parameter names. Run one via call_tool.",
"input_schema": {
"type": "object",
"properties": {
"toolset": { "type": "string", "description": "Toolset id from list_toolsets, e.g. \"linkedin.messaging\"." },
"verbose": { "type": "boolean", "description": "Include full descriptions + parameter names." }
},
"required": ["toolset"]
}
},
{
"name": "call_tool",
"description": "Invoke a tool by name (discovered via get_toolset_tools) with its arguments object. Behaves exactly like calling the tool on its domain mount. Dangerous tools still require the two-step preview→confirm (pass commit_token inside arguments on the confirm call).",
"input_schema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "Exact tool name." },
"arguments": { "type": "object", "description": "The tool's arguments object." }
},
"required": ["name"]
}
}
]
call_tool valida los argumentos contra el esquema de entrada de la acción objetivo, de modo que la vista previa y confirmación, los límites de velocidad y los errores tipados se aplican exactamente como si la acción estuviera montada directamente.
Qué puede hacer el agente
Más de 160 acciones tipadas en 11 conjuntos de herramientas de LinkedIn, agrupadas aquí en siete áreas:
| Conjunto de herramientas | Qué cubre |
|---|---|
| Mensajería | mensajes entre miembros, notas de voz, InMail, chats de Sales Navigator, búsqueda y sincronización de la bandeja de entrada |
| Red | solicitudes de conexión, aceptar o ignorar invitaciones, retirar, conexiones y seguidores |
| Contenido | seguimiento de publicaciones y métricas, comentar, reaccionar, obtener quienes interactúan y comentan |
| Enriquecimiento | perfil ligero y completo, experiencia, habilidades, educación, datos de empresa |
| Búsqueda | búsqueda de personas, empresas y publicaciones, perfiles similares, empleados, tomadores de decisiones, búsquedas guardadas |
| Salud de la cuenta | límites inteligentes, instantáneas de salud, límite alcanzado, bloqueos y registros de actividad |
| Infraestructura | navegadores en la nube antidetección, proxies dedicados, webhooks |
El mismo endpoint también sirve los conjuntos de herramientas de cuenta, facturación y orquestación, con más de 250 acciones tipadas en total. Este repositorio documenta la parte de LinkedIn.
LinkedIn es el canal activo hoy. El correo electrónico (Gmail, Outlook, IMAP), los mensajeros (WhatsApp, Telegram, Instagram DMs) y los calendarios (Google, Microsoft) están en la hoja de ruta bajo el mismo contrato tipado.
¿Es seguro para mi cuenta de LinkedIn?
La seguridad la aplica el propio servidor, bajo cada llamada de herramienta. Seis mecanismos:
- Cuentas propias. El agente actúa a través de una cuenta que tú conectaste y controlas. No hay un grupo de cuentas compartido.
- Aislamiento de sesión. Cada cuenta se ejecuta en su propio navegador en la nube antidetección con un proxy dedicado. Una cuenta, una sesión, una firma de dispositivo.
- Calentamiento. Una cuenta nueva comienza con una fracción del máximo de la plataforma, y su asignación aumenta de forma programática a medida que la cuenta envejece y acumula historial.
- Límites en el lado del servidor. Los presupuestos diarios por acción se verifican antes del envío, en 16 categorías de acciones.
- Ritmo aleatorizado. El trabajo masivo se distribuye con intervalos aleatorios entre cada acción, porque una cadencia fija es en sí misma un patrón detectable.
- Vista previa y confirmación. Las acciones hacia el exterior devuelven una vista previa y requieren confirmación, de modo que un agente demasiado entusiasta no pueda quemar una cuenta.
Con esta configuración, gtm-api reporta más de 20 000 cuentas de LinkedIn con una tasa de bloqueo inferior al 1 %. Método completo: gtm-api.com/safe-linkedin-automation.
Comparación con los servidores MCP de LinkedIn de código abierto
Los servidores basados en cookies, como stickerdaniel/linkedin-mcp-server, ejecutan una sesión de navegador con tu propia cookie de LinkedIn y te dejan a ti el ritmo: el README del proyecto documenta el flujo de inicio de sesión con cookie y no enumera límites de velocidad. Los actores de LinkedIn de Apify tienen otra forma: scrapers alojados con precio por resultado y centrados en extraer datos.
| gtm-api (gestionado) | Código abierto basado en cookies | |
|---|---|---|
| Modelo de cuenta | Propia, calentada, aislada | Tu sesión de cookie en vivo |
| Capa de seguridad | Navegador antidetección, proxy dedicado, límites | No integrada |
| Aplicación de límites | Lado del servidor, antes de cada acción | La construyes tú |
| Envíos (conectar, mensaje, InMail) | Sí, con vista previa y confirmación | Parcial o ninguno |
| Tasa de bloqueo publicada | Autoinformada: inferior al 1 % en más de 20 000 cuentas | No publicada |
| Soporte | Gestionado | Comunidad |
| Precio | Desde 39 $ por cuenta conectada al mes, 10 $ a volumen | Gratis, ejecútalo tú mismo |
| Código autohospedado y auditable | No, servicio gestionado | Sí |
Precios
Precio por volumen por cuenta conectada al mes, desde 10 $/cuenta a escala, con llamadas de API ilimitadas y sin tarifas por acción. Plan gratuito para siempre, sin tarjeta: gtm-api.com/pricing.
Una nota sobre los términos de LinkedIn
El Acuerdo de Usuario de LinkedIn no permite la automatización de terceros, por lo que toda herramienta en este espacio conlleva riesgo y ningún proveedor puede prometer honestamente lo contrario. gtm-api reduce ese riesgo actuando solo sobre cuentas que tú poseas, con calentamiento, ritmo similar al humano y límites aplicados, razón por la cual la tasa de bloqueo reportada es inferior al 1 %. Esto no es asesoramiento legal.
Enlaces
- Regístrate (plan gratuito para siempre): app.gtm-api.com
- Conexión de cualquier cliente, paso a paso: docs.gtm-api.com/mcp/connect
- Cómo funciona un servidor MCP de LinkedIn: gtm-api.com/linkedin-mcp-server
- El método de seguridad en detalle: gtm-api.com/safe-linkedin-automation
- Lanzador npm: npmjs.com/package/@gtm-api/linkedin-mcp
- Imagen Docker: hub.docker.com/r/gtmapi/linkedin-mcp
- Protocolo de Contexto de Modelo: modelcontextprotocol.io
gtm-api.com, la API de LinkedIn y el servidor MCP para agentes de IA.