Crispy

API de LinkedIn y servidor MCP alojado para agentes de IA: clientes potenciales, mensajería, bandeja de entrada y campañas, con límites de actividad integrados.

Servidor MCP alojado

npx add-mcp 'https://crispy.sh/api/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Crispy — el servidor MCP de LinkedIn para agentes de IA

Acceso completo a LinkedIn para cualquier agente de IA, mediante MCP. Conecta Claude, Cursor, Codex, VS Code, JetBrains, n8n o cualquier cosa que hable MCP, y ejecuta prospección, mensajería y campañas con límites de actividad integrados.

  • Sitio web: https://crispy.sh
  • Endpoint MCP: https://crispy.sh/api/mcp (HTTP Streamable)
  • Autenticación: El endpoint remoto admite OAuth directamente. Los clientes que envían Authorization pueden usar Bearer <your API key>.
  • Puente local: npx crispy-mcp (stdio, para clientes que no pueden enviar cabeceras)
  • Documentación y configuración por cliente: https://crispy.sh/integrations

Crispy es un servicio alojado, por lo que no hay lógica de LinkedIn que ejecutar localmente. Este repositorio contiene la configuración de conexión más crispy-mcp, el puente stdio oficial: un servidor MCP local ligero que reenvía cada solicitud al endpoint alojado con tu clave API adjunta.

¿Cuál necesito?

Tu cliente MCPUsa esto
Admite servidores remotos con cabeceras personalizadas (Claude Code, Cursor, VS Code, Windsurf, n8n)El endpoint remoto directamente. Menos piezas móviles, sin proceso local.
Solo admite servidores command / args locales, o no puede establecer cabecerasnpx crispy-mcp, el puente stdio a continuación.

El puente es un proxy transparente. No define sus propias herramientas, por lo que cada herramienta que Crispy ofrece está disponible a través de él en cuanto se activa.


Lo que puedes hacer

Una clave API le da a cualquier agente de IA la superficie completa de LinkedIn:

  • Encuentra clientes potenciales — busca personas y empresas, ejecuta búsquedas guardadas, enriquece perfiles.
  • Mensajes — envía solicitudes de conexión, mensajes directos e InMail; clasifica y responde en tu bandeja de entrada.
  • Ejecuta campañas — secuencias de divulgación de varios pasos con envío espaciado.
  • Gestiona contenido — redacta, programa y analiza publicaciones; realiza seguimiento de la interacción.

Cada cuenta tiene límites de actividad, además de un calentamiento opcional cuando está habilitado.


Inicio rápido

  1. Crea una cuenta en https://crispy.sh y conecta tu LinkedIn.
  2. Genera una clave API en el panel de control.
  3. Añade Crispy a tu cliente MCP usando una de las configuraciones a continuación. Reemplaza YOUR_API_KEY con tu clave.

Claude Code

claude mcp add --transport http crispy https://crispy.sh/api/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Claude Desktop

Claude Desktop conecta servidores remotos a través de la configuración de Conectores: añade un conector personalizado apuntando a https://crispy.sh/api/mcp con la cabecera Authorization: Bearer YOUR_API_KEY.

Si tu compilación no puede establecer una cabecera, usa el puente stdio en su lugar. claude_desktop_config.json:

{
  "mcpServers": {
    "crispy": {
      "command": "npx",
      "args": ["-y", "crispy-mcp"],
      "env": {
        "CRISPY_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Cursor

~/.cursor/mcp.json

{
  "mcpServers": {
    "crispy": {
      "url": "https://crispy.sh/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

VS Code

{
  "servers": {
    "crispy": {
      "url": "https://crispy.sh/api/mcp",
      "type": "http",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "crispy": {
      "serverUrl": "https://crispy.sh/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

n8n

  1. Añade un nodo Cliente MCP a tu flujo de trabajo.
  2. Establece la URL del servidor en https://crispy.sh/api/mcp.
  3. Añade una cabecera: Authorization = Bearer YOUR_API_KEY.
  4. El nodo descubre automáticamente todas las herramientas disponibles.

Cualquier cliente HTTP (verifica la conexión)

curl -X POST https://crispy.sh/api/mcp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Guías completas por cliente (incluyendo JetBrains, Codex y más) en https://crispy.sh/integrations.


El puente stdio local: npx crispy-mcp

Algunos clientes MCP solo pueden lanzar un proceso local y no pueden adjuntar una cabecera Authorization a un servidor remoto. crispy-mcp cierra esa brecha. Se ejecuta como un servidor MCP stdio local y envía cada solicitud directamente a https://crispy.sh/api/mcp, añadiendo tu clave API en el camino.

CRISPY_API_KEY=YOUR_API_KEY npx -y crispy-mcp

Habla MCP en stdin y stdout, por lo que normalmente dejas que tu cliente lo inicie en lugar de ejecutarlo manualmente.

Configuración del cliente

Cualquier cliente que acepte un command y args usa la misma forma:

{
  "mcpServers": {
    "crispy": {
      "command": "npx",
      "args": ["-y", "crispy-mcp"],
      "env": {
        "CRISPY_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Claude Code, desde la línea de comandos:

claude mcp add crispy --env CRISPY_API_KEY=YOUR_API_KEY -- npx -y crispy-mcp

VS Code usa servers en lugar de mcpServers, con las mismas claves command, args y env.

Opciones

ConfiguraciónCómo pasarlaPredeterminado
Clave APIvariable de entorno CRISPY_API_KEY, o --api-key <key>requerida, sin predeterminado
Endpointvariable de entorno CRISPY_MCP_URLhttps://crispy.sh/api/mcp
Detalle de errorvariable de entorno CRISPY_MCP_UNSAFE_ERROR_DETAIL, exactamente 1desactivado — ver más abajo

Requiere Node 18 o más reciente. Inícialo sin clave y sale con código distinto de cero, nombrando ambas formas de proporcionarla y señalando a https://crispy.sh/dashboard/api-keys.

Tu clave se envía a Crispy y a ningún otro lugar. Nunca se escribe en una línea de registro ni en un mensaje de error, incluso si la respuesta ascendente la devuelve.

Lo que puede contener un mensaje de error

Cuando una solicitud falla, el puente construye el mensaje a partir de cuatro cosas y nada más:

  • el código de estado HTTP numérico,
  • la longitud en bytes del cuerpo de la respuesta,
  • su propio texto fijo,
  • el endpoint, reducido a su origen y la forma de su ruta.

Así, una llamada fallida se lee Crispy returned HTTP 500: <54 bytes, not shown>.

Ni un byte del cuerpo de la respuesta ni la frase de razón HTTP aparece, por inofensiva que parezca. Esas son cadenas que el servidor del otro extremo elige, y cualquier cadena puede llevar una credencial en alguna codificación imprimible — base64, hexadecimal, entidades &#65;. Filtrar las codificaciones que a alguien se le ocurrieron es un juego cuyo otro jugador mueve último. El puente no lo juega: estos mensajes van a stderr y de vuelta a tu cliente MCP como un error JSON-RPC, por lo que solo dice lo que él mismo compuso.

CRISPY_MCP_UNSAFE_ERROR_DETAIL

Eso te cuesta un diagnóstico real. rate limit exceeded de la propia API de Crispy se convierte en un recuento de bytes, y un 400 que intentas depurar se convierte en un número. Establece CRISPY_MCP_UNSAFE_ERROR_DETAIL=1 para recuperarlo:

{
  "mcpServers": {
    "crispy": {
      "command": "npx",
      "args": ["-y", "crispy-mcp"],
      "env": {
        "CRISPY_API_KEY": "YOUR_API_KEY",
        "CRISPY_MCP_UNSAFE_ERROR_DETAIL": "1"
      }
    }
  }
}

UNSAFE no es decoración. Con él activado, lo que el servidor ascendente puso en el cuerpo de la respuesta va a stderr y al campo de error de tu cliente. Si ese servidor refleja tu clave API — un proxy que registra la cabecera Authorization, una compilación de depuración que repite la solicitud — tu clave termina donde tu cliente escribe sus errores. El puente aún resta la clave del texto en base de mejor esfuerzo, y mejor esfuerzo es la palabra honesta para ello: atrapa una clave repetida textualmente y es derrotado por cualquier codificación de una. No lo trates como una red de seguridad.

Solo el valor exacto 1 lo activa. true, yes, on y 0 lo dejan desactivado, por lo que no puede habilitarse con una cadena verdadera pegada en una configuración. No cambia nada más: el endpoint sigue reducido, la clave nunca está en un volcado de cabeceras, y todos los demás límites no cambian.

Por qué es un proxy y no una reimplementación

El puente reenvía initialize, tools/list, tools/call y cualquier otro método sin cambios, y devuelve la respuesta sin cambios. No hay una lista de herramientas codificada que quede obsoleta, por lo que las nuevas herramientas de Crispy funcionan el día que se lanzan.


Por qué Crispy

  • Servidor MCP nativo, API REST y CLI — no una extensión de navegador.
  • Funciona con cualquier agente de IA — Claude, Cursor, Codex, VS Code, JetBrains, n8n y cualquier cosa que hable MCP o HTTP.
  • Límites de actividad, más calentamiento opcional cuando está habilitado.
  • Un precio plano por asiento, todas las herramientas incluidas — sin complementos, sin medición por acción.
  • Más de 150 herramientas de LinkedIn desde una clave API.

Enlaces

Desarrollo

El puente vive en src/, con pruebas que simulan el endpoint ascendente y nunca tocan la red.

npm install
npm run build
npm test

Apunta el puente a un servidor de prueba local con CRISPY_MCP_URL.

Licencia

MIT. Consulta LICENSE. Esto cubre el puente crispy-mcp, la documentación y la configuración en este repositorio; el servicio Crispy en sí es propietario.