Crispy

API do LinkedIn e servidor MCP hospedado para agentes de IA: leads, mensagens, caixa de entrada e campanhas, com limites de atividade integrados.

Servidor MCP hospedado

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

Instala no Claude Code, Codex, Cursor e outros

Documentação

Crispy — o servidor MCP do LinkedIn para agentes de IA

Acesso completo ao LinkedIn para qualquer agente de IA, via MCP. Conecte Claude, Cursor, Codex, VS Code, JetBrains, n8n ou qualquer coisa que fale MCP, e execute prospecção, mensagens e campanhas com limites de atividade integrados.

  • Site: https://crispy.sh
  • Endpoint MCP: https://crispy.sh/api/mcp (HTTP Streamable)
  • Autenticação: O endpoint remoto suporta OAuth diretamente. Clientes que enviam Authorization podem usar Bearer <your API key>.
  • Bridge local: npx crispy-mcp (stdio, para clientes que não conseguem enviar cabeçalhos)
  • Documentação e configuração por cliente: https://crispy.sh/integrations

Crispy é um serviço hospedado, então não há lógica do LinkedIn para executar localmente. Este repositório contém a configuração de conexão mais crispy-mcp, a bridge stdio oficial: um servidor MCP local leve que encaminha cada requisição para o endpoint hospedado com sua chave de API anexada.

Qual deles eu preciso?

Seu cliente MCPUse isto
Suporta servidores remotos com cabeçalhos personalizados (Claude Code, Cursor, VS Code, Windsurf, n8n)O endpoint remoto diretamente. Menos partes móveis, sem processo local.
Suporta apenas servidores locais command / args, ou não consegue definir cabeçalhosnpx crispy-mcp, a bridge stdio abaixo.

A bridge é um proxy transparente. Ela não define suas próprias ferramentas, então toda ferramenta que o Crispy oferece está disponível através dela no momento em que entra no ar.


O que você pode fazer

Uma chave de API dá a qualquer agente de IA a superfície completa do LinkedIn:

  • Encontre leads — pesquise pessoas e empresas, execute buscas salvas, enriqueça perfis.
  • Mensagens — envie solicitações de conexão, mensagens diretas e InMail; faça triagem e responda na sua caixa de entrada.
  • Execute campanhas — sequências de alcance em várias etapas com envio ritmado.
  • Gerencie conteúdo — rascunhe, agende e analise postagens; acompanhe o engajamento.

Toda conta recebe limites de atividade, além de aquecimento opcional quando ativado.


Início rápido

  1. Crie uma conta em https://crispy.sh e conecte seu LinkedIn.
  2. Gere uma chave de API no painel.
  3. Adicione Crispy ao seu cliente MCP usando uma das configurações abaixo. Substitua YOUR_API_KEY pela sua chave.

Claude Code

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

Claude Desktop

O Claude Desktop conecta servidores remotos através das configurações de Conectores: adicione um conector personalizado apontando para https://crispy.sh/api/mcp com o cabeçalho Authorization: Bearer YOUR_API_KEY.

Se sua versão não conseguir definir um cabeçalho, use a bridge stdio. 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. Adicione um nó MCP Client ao seu fluxo de trabalho.
  2. Defina a URL do servidor como https://crispy.sh/api/mcp.
  3. Adicione um cabeçalho: Authorization = Bearer YOUR_API_KEY.
  4. O nó descobre automaticamente todas as ferramentas disponíveis.

Qualquer cliente HTTP (verifique a conexão)

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"}'

Guias completos por cliente (incluindo JetBrains, Codex e outros) estão em https://crispy.sh/integrations.


A bridge stdio local: npx crispy-mcp

Alguns clientes MCP só conseguem iniciar um processo local e não podem anexar um cabeçalho Authorization a um servidor remoto. crispy-mcp preenche essa lacuna. Ela roda como um servidor MCP stdio local e encaminha cada requisição diretamente para https://crispy.sh/api/mcp, adicionando sua chave de API na saída.

CRISPY_API_KEY=YOUR_API_KEY npx -y crispy-mcp

Ela fala MCP em stdin e stdout, então normalmente você deixa seu cliente iniciá-la em vez de executá-la manualmente.

Configuração do cliente

Qualquer cliente que aceite um command e args usa o mesmo formato:

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

Claude Code, pela linha de comando:

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

O VS Code usa servers em vez de mcpServers, com as mesmas chaves command, args e env.

Opções

ConfiguraçãoComo passarPadrão
Chave de APIvariável de ambiente CRISPY_API_KEY, ou --api-key <key>obrigatória, sem padrão
Endpointvariável de ambiente CRISPY_MCP_URLhttps://crispy.sh/api/mcp
Detalhe de errovariável de ambiente CRISPY_MCP_UNSAFE_ERROR_DETAIL, exatamente 1desligado — veja abaixo

Requer Node 18 ou mais recente. Inicie sem chave e ela sai com código diferente de zero, nomeando as duas formas de fornecê-la e apontando para https://crispy.sh/dashboard/api-keys.

Sua chave é enviada ao Crispy e a nenhum outro lugar. Ela nunca é gravada em uma linha de log ou em uma mensagem de erro, mesmo que a resposta upstream a ecoe de volta.

O que uma mensagem de erro pode conter

Quando uma requisição falha, a bridge constrói a mensagem a partir de quatro coisas e nada mais:

  • o código de status HTTP numérico,
  • o comprimento em bytes do corpo da resposta,
  • seu próprio texto fixo,
  • o endpoint, reduzido à sua origem e à forma do seu caminho.

Então uma chamada falha lê Crispy returned HTTP 500: <54 bytes, not shown>.

Nem um byte do corpo da resposta ou da frase de motivo HTTP aparece, por mais inofensiva que pareça. Essas são strings que o servidor do outro lado escolhe, e qualquer string pode carregar uma credencial em alguma codificação imprimível — base64, hex, entidades &#65;. Filtrar pelas codificações que alguém imaginou é um jogo cujo outro jogador move por último. A bridge não joga isso: essas mensagens vão para stderr e de volta ao seu cliente MCP como um erro JSON-RPC, então ela diz apenas o que ela mesma compôs.

CRISPY_MCP_UNSAFE_ERROR_DETAIL

Isso custa um diagnóstico real. rate limit exceeded da própria API do Crispy se torna uma contagem de bytes, e um 400 que você está tentando depurar se torna um número. Defina CRISPY_MCP_UNSAFE_ERROR_DETAIL=1 para recuperá-lo:

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

UNSAFE não é decoração. Com ele ativado, o que quer que o upstream tenha colocado no corpo da resposta vai para stderr e para o campo de erro do seu cliente. Se esse servidor refletir sua chave de API de volta — um proxy registrando o cabeçalho Authorization, uma versão de depuração ecoando a requisição — sua chave vai parar onde seu cliente escreve seus erros. A bridge ainda subtrai a chave do texto em uma base de melhor esforço, e melhor esforço é a palavra honesta para isso: ela captura uma chave ecoada literalmente e é derrotada por qualquer codificação dela. Não trate isso como uma rede de segurança.

Apenas o valor exato 1 o ativa. true, yes, on e 0 o deixam desligado, então ele não pode ser ativado por uma string verdadeira colada em uma configuração. Ele não muda mais nada: o endpoint ainda é reduzido, a chave ainda nunca está em um despejo de cabeçalho, e todos os outros limites permanecem inalterados.

Por que é um proxy e não uma reimplementação

A bridge encaminha initialize, tools/list, tools/call e qualquer outro método intocados, e retorna a resposta intocada. Não há uma lista de ferramentas codificada que possa ficar desatualizada, então novas ferramentas do Crispy funcionam no dia em que são lançadas.


Por que Crispy

  • Servidor MCP nativo, API REST e CLI — não é uma extensão de navegador.
  • Funciona com qualquer agente de IA — Claude, Cursor, Codex, VS Code, JetBrains, n8n e qualquer coisa que fale MCP ou HTTP.
  • Limites de atividade, além de aquecimento opcional quando ativado.
  • Preço fixo por assento, todas as ferramentas incluídas — sem complementos, sem medição por ação.
  • Mais de 150 ferramentas do LinkedIn a partir de uma chave de API.

Links

Desenvolvimento

A bridge vive em src/, com testes que simulam o endpoint upstream e nunca tocam a rede.

npm install
npm run build
npm test

Aponte a bridge para um servidor de teste local com CRISPY_MCP_URL.

Licença

MIT. Veja LICENSE. Isso cobre a bridge crispy-mcp, a documentação e a configuração neste repositório; o serviço Crispy em si é proprietário.