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
Authorizationpueden usarBearer <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 MCP | Usa 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 cabeceras | npx 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
- Crea una cuenta en https://crispy.sh y conecta tu LinkedIn.
- Genera una clave API en el panel de control.
- Añade Crispy a tu cliente MCP usando una de las configuraciones a continuación. Reemplaza
YOUR_API_KEYcon 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
- Añade un nodo Cliente MCP a tu flujo de trabajo.
- Establece la URL del servidor en
https://crispy.sh/api/mcp. - Añade una cabecera:
Authorization=Bearer YOUR_API_KEY. - 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ón | Cómo pasarla | Predeterminado |
|---|---|---|
| Clave API | variable de entorno CRISPY_API_KEY, o --api-key <key> | requerida, sin predeterminado |
| Endpoint | variable de entorno CRISPY_MCP_URL | https://crispy.sh/api/mcp |
| Detalle de error | variable de entorno CRISPY_MCP_UNSAFE_ERROR_DETAIL, exactamente 1 | desactivado — 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 A. 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
- Página de inicio: https://crispy.sh
- Resumen del servidor MCP: https://crispy.sh/linkedin-mcp-server
- API REST: https://crispy.sh/linkedin-api
- Guías de integración y configuración: https://crispy.sh/integrations
- Referencias de divulgación: https://crispy.sh/linkedin-outreach-benchmarks
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.