Pinlyx CRM MCP Server

Servidor MCP remoto para o Pinlyx CRM: 76 ferramentas, 21 recursos e 15 prompts para que Claude, Cursor, VS Code ou ChatGPT possam pesquisar contatos, ler a caixa de entrada omnichannel (Telegram, WhatsApp, Instagram, X, e-mail), redigir respostas, mover negócios e executar sequências de prospecção por meio de um endpoint HTTP Streamable autenticado.

Servidor MCP hospedado

npx add-mcp 'https://api.pinlyx.com/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

O servidor MCP de CRM que permite a um assistente de IA gerenciar seu pipeline

Conecte Claude, Cursor, VS Code, Windsurf ou qualquer cliente do Model Context Protocol ao Pinlyx e seu assistente para de apenas descrever seu CRM e começa a usá-lo de verdade. 76 ferramentas, 21 recursos e 15 prompts em um único endpoint autenticado, com cada chamada limitada pelos escopos da chave que você emitiu.

Plano gratuito para sempre · Sem necessidade de cartão de crédito · Cancele quando quiser

76

Ferramentas

Cada uma declara seu escopo obrigatório

21

Recursos

Leituras de contexto pré-carregadas por URI

15

Prompts

Fluxos de trabalho nomeados que uma pessoa escolhe

2025-06-18

Revisão do protocolo

JSON-RPC 2.0, Streamable HTTP

Definição

O Model Context Protocol (MCP) é um padrão aberto que permite a um assistente de IA chamar outro software por meio de um conjunto descrito de ferramentas, recursos e prompts, em vez de adivinhar a partir de texto colado.

Um servidor MCP de CRM é esse padrão colocado na frente de um CRM: ele publica contatos, conversas, negócios, tarefas, faturas e campanhas como operações que um assistente pode chamar, para que o assistente possa ler seu pipeline e alterá-lo dentro das permissões que você concedeu.

O Pinlyx executa um em https://api.pinlyx.com/mcp. Ele fala a revisão do protocolo 2025-06-18 via JSON-RPC 2.0, autentica com uma chave de API bearer que você mesmo emite e cobre treze áreas de capacidade em doze canais de mensagens.

Treze áreas de capacidade, um único endpoint

As 76 ferramentas não são uma pilha aleatória de endpoints. Elas se agrupam em treze áreas que espelham como um time de receita realmente trabalha, e cada área mapeia seus próprios escopos de leitura e escrita.

Contatos

Pesquise, abra e enriqueça um registro de pessoa: crm_search_contacts, crm_get_contact, crm_get_contact_activity, além de escritas como crm_tag_contact e crm_set_lead_score.

Conversas

Leia a thread antes de respondê-la. crm_list_recent_conversations mostra quem está esperando, crm_get_conversation percorre o histórico, crm_send_telegram_message enfileira a resposta.

Caixa de entrada e e-mail

crm_search_email_threads e crm_get_email_thread leem a caixa de entrada compartilhada. crm_set_email_thread_status e crm_assign_email_thread direcionam o trabalho sem enviar e-mail.

Negócios

crm_list_deals e crm_get_deal respondem o que está no pipeline. crm_create_deal e crm_update_deal_stage movem oportunidades, com a transição "Ganho" deliberadamente reservada para o painel.

Tarefas

crm_list_tasks responde o que está pendente e o que está atrasado. crm_create_task agenda o acompanhamento, crm_complete_task encerra e registra o horário de conclusão.

Pipelines

crm_list_pipelines e crm_get_pipeline expõem cada quadro com seus estágios ordenados e contagens por estágio em tempo real, para que um assistente aprenda o formato do seu funil antes de tocá-lo.

Finanças

crm_finance_summary, crm_list_transactions, crm_list_invoices e crm_revenue_sources_summary relatam o razão. Todos os quatro são apenas de relatório: nada aqui movimenta dinheiro.

Sequências

crm_list_sequences e crm_get_sequence_status relatam o progresso da campanha. crm_pause_sequence e crm_resume_sequence são os dois controles com os quais um assistente é confiável.

Webhooks

crm_list_webhooks e crm_list_webhook_deliveries respondem por que um endpoint não está disparando. crm_create_webhook registra um e retorna seu segredo de assinatura exatamente uma vez.

Agentes e trabalhos

crm_list_agents relata o que está automatizando respostas, crm_run_agent testa um sem entregar nada, crm_list_jobs e crm_get_job mostram se um envio realmente saiu.

Google Ads

crm_google_ads_summary, crm_google_ads_campaigns e crm_google_ads_breakdown relatam até o termo de pesquisa. crm_update_google_ads_budget, crm_update_google_ads_bidding e crm_set_google_ads_status alteram uma conta ativa, e crm_publish_ad_draft envia um rascunho aprovado do Ads Studio pausado.

O que é o Model Context Protocol?

O Model Context Protocol é um padrão aberto para conectar um assistente de IA a software externo por meio de uma interface autodescritiva. Um servidor publica o que pode fazer, um cliente pede essa lista e o modelo escolhe a partir dela. Nada sobre o pareamento é codificado de forma fixa em nenhum dos lados, que é exatamente o ponto: o assistente aprende seu CRM em tempo de execução, em vez de vir com uma ideia embutida do que é um CRM.

Antes de existir um padrão, cada combinação de assistente e ferramenta de negócios precisava de sua própria integração sob medida. Dez assistentes e dez ferramentas significavam cem adaptadores, cada um mantido por alguém que se importava apenas com um lado da equação. O MCP inverte a aritmética. O CRM se descreve uma vez, e qualquer cliente compatível pode usá-lo. O mesmo argumento venceu para o Language Server Protocol em editores de código: um servidor, muitos editores, ninguém escrevendo o mesmo mecanismo de conclusão dez vezes.

O protocolo tem três primitivas, e a diferença entre elas é sobre quem está no controle:

  • Ferramentas são ações que o modelo decide chamar. Cada uma carrega um nome, uma descrição e um JSON Schema para sua entrada, para que o modelo saiba quais argumentos são válidos antes de tentar. No Pinlyx, crm_search_contacts e crm_create_task são ferramentas.
  • Recursos são contextos legíveis endereçados por URI, que o cliente anexa à conversa. Eles existem para que um assistente possa começar uma conversa já sabendo algo, em vez de gastar uma chamada de ferramenta em uma pergunta que fará toda vez. O Pinlyx expõe 21 deles, incluindo crm://social/inbox e crm://deals/pipeline.
  • Prompts são fluxos de trabalho nomeados e parametrizados que uma pessoa escolhe deliberadamente. Não são algo que o modelo invoca por capricho. O Pinlyx oferece 15, incluindo daily-briefing, pipeline-review e social-inbox-triage.

Essa divisão tripla importa mais em um CRM do que em quase qualquer outro lugar, porque um CRM é um sistema de registro. Ferramentas são o modelo agindo. Recursos são o cliente decidindo qual contexto carregar. Prompts são um humano dizendo: execute essa jogada específica, agora, neste registro específico. Qualquer produto que colapse os três em uma pilha indiferenciada de funções dificultou seu raciocínio sobre o que seu assistente pode fazer sozinho.

O MCP é agnóstico em relação ao transporte. Um servidor que roda como processo local comunica-se por entrada e saída padrão. Um servidor que vive na internet, como um CRM hospedado, usa HTTP. O Pinlyx é do segundo tipo, então tudo abaixo descreve o caminho remoto.

Por que o MCP importa especificamente para um CRM

Um CRM é o sistema onde um assistente que não pode agir é menos útil, porque quase toda pergunta valiosa sobre CRM termina em uma mudança. A quem devo responder primeiro termina em uma resposta. Quais negócios estão parados termina em uma tarefa. O que combinamos com este cliente termina em uma nota que alguém precisa escrever. Um assistente que só pode falar sobre seu pipeline deixa o último e mais tedioso passo para você, toda vez.

A lacuna é mais fácil de ver no loop de copiar e colar em que a maioria dos times vive hoje. Você exporta uma visão para CSV ou tira um print de um quadro, cola em uma janela de chat, recebe uma análise genuinamente boa e depois digita o resultado de volta no CRM manualmente. Três problemas se acumulam. Os dados estavam desatualizados no momento em que saíram do sistema. A análise está desconectada dos registros que descreve, então nada se vincula de volta. E a escrita de volta é manual, o que significa que em um dia corrido ela simplesmente não acontece e seu CRM apodrece silenciosamente.

Uma conexão MCP remove os três. A leitura é ao vivo, porque a chamada de ferramenta atinge o banco de dados no momento da pergunta. O resultado carrega identificadores de registro, então a ação de acompanhamento mira a linha certa. E a escrita é mais uma chamada de ferramenta, que é a diferença entre um insight e uma mudança.

O que o MCP substitui

Copiar e colar e prints. O fluxo de trabalho mais comum de CRM e IA em 2026 ainda é um humano agindo como barramento de dados entre duas abas do navegador. O MCP elimina esse papel. Você deixa de ser a integração.

Troca de abas. Um representante respondendo a um DM verifica o registro de contato, a última thread de e-mail, o negócio aberto e a tarefa atrasada, em quatro lugares. Com o MCP, o assistente monta esse quadro em uma única rodada, porque crm_get_contact já retorna as últimas dez mensagens e crm_get_contact_activity retorna a linha do tempo por trás delas.

Automações no-code frágeis. Um zap codifica uma decisão no momento da construção: quando este gatilho disparar, sempre faça aquilo. Funciona lindamente para encanamento determinístico e mal para julgamento. Um assistente com acesso MCP decide no momento da chamada, com a thread real à sua frente. Os dois são complementos, não rivais, e trabalhamos exatamente onde cada um vence na comparação MCP versus API REST versus ferramentas de automação.

Há mais um motivo pelo qual um CRM é o lugar certo para anexar um assistente. É onde o contexto multicanal já vive. O Pinlyx unifica DMs de Telegram, WhatsApp, Instagram, Facebook, X, LinkedIn, TikTok, YouTube, Threads, Pinterest, Reddit e Bluesky, além de e-mail e chat ao vivo, em uma caixa de entrada unificada. Um assistente conectado a essa caixa de entrada pode responder a uma pergunta como qual cliente está esperando há mais tempo em todos os canais, algo que nenhuma ferramenta de canal único consegue responder.

Como o servidor MCP do Pinlyx é construído

O servidor é um endpoint remoto do Model Context Protocol em https://api.pinlyx.com/mcp, falando JSON-RPC 2.0 sobre o transporte Streamable HTTP na revisão do protocolo 2025-06-18, e autenticado com uma chave de API bearer. Cada elemento dessa frase tem uma consequência prática, então aqui está cada um em linguagem simples, seguido pelo detalhe exato do wire.

JSON-RPC 2.0 é o formato de mensagem

Em linguagem simples: toda mensagem é um pequeno envelope JSON com um nome de método, alguns parâmetros e um id, e toda resposta volta correspondendo a esse id. É uma ideia chata, de quarenta anos, e isso é uma vantagem. Não há enquadramento personalizado para aprender e nenhuma ambiguidade sobre qual resposta pertence a qual solicitação.

No wire: um corpo de solicitação parece {"jsonrpc":"2.0","id":1,"method":"tools/list"}. Erros são retornados como um objeto de erro JSON-RPC em vez de um status HTTP onde o protocolo pede, que é por que um escopo ausente aparece como código de erro -32002 no corpo em vez de um HTTP 403.

Streamable HTTP é o transporte

Em linguagem simples: uma única URL lida com tudo, e a conexão faz upgrade para um stream apenas quando há algo para transmitir. Você não mantém um socket de longa duração apenas para fazer uma pergunta.

No wire, os três verbos têm cada um um trabalho:

  • POST envia uma solicitação ou notificação JSON-RPC. É assim que initialize, tools/list, tools/call, resources/read e prompts/get todos viajam. O cliente deve enviar Accept: application/json, text/event-stream para que o servidor possa responder com um único corpo JSON ou um stream de eventos.
  • GET abre o stream de eventos enviados pelo servidor, que é como o servidor envia mensagens que o cliente não pediu. Um cliente que só faz chamadas de solicitação e resposta nunca precisa abri-lo.
  • DELETE encerra uma sessão explicitamente. É a maneira educada de desligar, e libera a sessão imediatamente em vez de esperar um timeout.

Sessões, e por que stateless ainda funciona

Em linguagem simples: o servidor pode lembrar de você entre chamadas, mas não precisa. Isso importa para qualquer pessoa executando o assistente dentro de uma função serverless ou um trabalho de CI, onde o mesmo processo pode nunca lidar com duas solicitações seguidas.

No wire: a resposta a initialize carrega um cabeçalho Mcp-Session-Id. Um cliente que mantém uma sessão ecoa esse valor em solicitações posteriores e o derruba com um DELETE. Um cliente que não envia cabeçalho de sessão ainda recebe respostas, porque chamadas stateless são suportadas: a autenticação vem da chave em cada solicitação, não da sessão. A sessão é uma otimização, nunca o limite de segurança.

Autenticação bearer e o documento de descoberta

Em linguagem simples: você cria uma chave no painel, o cliente a envia em cada requisição, e não há fluxo de login. Um documento de descoberta informa a clientes que entendem padrões como o endpoint espera ser autenticado.

Na prática: envie Authorization: Bearer csk_live_... com cada requisição. As chaves são criadas no painel em Configurações, depois Desenvolvedores, depois chaves de API, e o token completo é exibido uma única vez. O endpoint publica um documento de recurso protegido RFC 9728 em GET /.well-known/oauth-protected-resource, que anuncia autenticação por chave de API do tipo bearer. Seu array authorization_servers está atualmente vazio, e esse único detalhe explica toda uma classe de falhas de conexão: clientes que só se conectam por meio de um fluxo de servidor de autorização, em vez de um cabeçalho estático, não conseguem usar uma chave diretamente. É por isso que os conectores do Claude Desktop e os conectores personalizados do ChatGPT precisam de um caminho de configuração diferente do Claude Code ou do Cursor, que detalhamos na página conecte o Claude ao seu CRM.

Saída em camelCase

Em linguagem simples: se você analisa os resultados das ferramentas MCP no seu próprio código, espere contactId e não ContactId.

Na prática: as respostas MCP usam camelCase em todo lugar, enquanto a API REST v1 retorna propriedades em PascalCase. As duas superfícies se baseiam nos mesmos dados e no mesmo modelo de permissões, mas foram moldadas para consumidores diferentes, e misturar os formatos de capitalização é a causa mais comum de um campo nulo quando um desenvolvedor move um script de um para o outro. Dentro do MCP, a convenção é consistente em todas as 76 ferramentas, então você aprende uma vez só.

Resumo técnico. Endpoint https://api.pinlyx.com/mcp. Transporte Streamable HTTP. Protocolo 2025-06-18. Formato JSON-RPC 2.0. Autenticação Authorization: Bearer csk_live_.... Cabeçalho de sessão Mcp-Session-Id, opcional. Falha de escopo -32002. Limite de taxa 60 requisições por minuto por padrão, teto de 300 no Business. Descoberta /.well-known/oauth-protected-resource.

O que as 76 ferramentas, 21 recursos e 15 prompts cobrem

A superfície cobre treze áreas de capacidade: contatos, conversas, caixa de entrada e e-mail, negócios, tarefas, pipelines, finanças, sequências, DMs sociais, posts sociais, webhooks, agentes e jobs, e Google Ads. Atravessando todas elas, há três ferramentas de análise, crm_dashboard_summary, crm_messaging_stats e crm_top_contacts, que respondem às perguntas de "como estou indo" sem pertencer a nenhuma área específica. O que segue é um parágrafo por área com nomes de ferramentas representativos. A referência completa, com cada ferramenta, seu escopo obrigatório e se ela lê ou escreve, está na referência de ferramentas MCP.

Contatos

Oito ferramentas de leitura e sete de escrita, a maior área de longe. crm_search_contacts encontra uma pessoa por nome, nome de usuário ou telefone e retorna até 25 resultados ordenados pelos contatos mais recentes. crm_get_contact abre um registro e inclui as últimas dez mensagens trocadas, o que geralmente é contexto suficiente para uma resposta sem uma segunda chamada. No lado da escrita, crm_tag_contact, crm_set_lead_score e crm_assign_contact registram cada uma uma entrada na linha do tempo de atividades, para que a alteração seja atribuível depois. Uma ressalva honesta que vale saber antes de soltar um assistente: crm_add_contact_note anexa a um campo de 500 caracteres, e quando ele fica cheio, o texto mais antigo é descartado do início para abrir espaço.

Conversas

crm_list_recent_conversations é a ferramenta que a maioria dos assistentes procura primeiro, porque responde quem precisa de resposta com uma prévia da última mensagem por contato. crm_get_conversation navega para trás em uma conversa cinquenta mensagens por vez. O envio é deliberadamente dividido por canal e por escopo: crm_send_telegram_message exige telegram:send e enfileira de forma assíncrona, enquanto crm_send_twitter_dm exige twitter:send e sai pela sessão X conectada. crm_list_accounts é a chamada que diz ao assistente de qual ID de conta ele pode enviar, e pular essa etapa é o motivo usual de uma falha de envio na primeira tentativa.

Caixa de entrada e e-mail

Duas ferramentas de leitura e duas de escrita, e o detalhe importante é o que as ferramentas de escrita deliberadamente não fazem. crm_search_email_threads e crm_get_email_thread leem a caixa de entrada compartilhada, a segunda retornando mensagens em texto puro das mais antigas para as mais recentes, junto com qualquer resumo de IA e pontuação de lead. crm_set_email_thread_status e crm_assign_email_thread movem uma conversa entre aberto, pendente e fechado, ou a entregam a um colega. Nenhuma envia e-mail. Um assistente com email:read e email:write pode fazer sua triagem sem nunca conseguir enviar e-mail a um cliente, que é exatamente o formato que a maioria das equipes de suporte quer primeiro.

Negócios

crm_list_deals retorna o pipeline ordenado por etapa e depois por valor, com contagens de tarefas abertas anexadas, então uma pergunta de previsão precisa de uma única chamada. crm_get_deal abre um com suas tarefas vinculadas e o nome do contato resolvido. crm_create_deal e crm_update_deal_stage lidam com as escritas, e ambos param na mesma linha: um negócio pode se mover entre lead, qualificado, proposta, negociação e perdido, mas não pode ser movido para ganho pelo MCP, porque ganho registra uma entrada de receita no livro-razão. Fechar um negócio continua sendo uma ação humana no painel.

Tarefas

crm_list_tasks ordena por data de vencimento e depois por prioridade, o que torna o que está atrasado e o que vence hoje uma única chamada. crm_create_task agenda um acompanhamento e pode vinculá-lo a um contato e a um negócio ao mesmo tempo, então o lembrete carrega seu próprio contexto. crm_complete_task marca uma como concluída e registra o horário de conclusão, ou a reabre passando um status explícito. Esta é a menor área do servidor e, na prática, a que muda o comportamento diário mais rápido, porque é onde um assistente transforma uma conclusão em uma obrigação.

Pipelines

crm_list_pipelines e crm_get_pipeline são somente leitura e existem para ensinar a um assistente o formato do seu CRM antes que ele edite qualquer coisa. Elas retornam cada quadro com suas colunas de etapas ordenadas e uma contagem de contatos ao vivo por etapa. Um assistente bem-comportado chama uma delas antes de tentar mover um contato, porque os nomes das etapas são seus, não nossos, e adivinhá-los é como um assistente produz uma resposta confiante e errada.

Finanças

Quatro ferramentas, todas somente leitura, todas de relatório. crm_finance_summary retorna receita realizada, despesa e líquido por moeda em um período, além de totais pendentes e as principais categorias de despesa. crm_list_transactions lista entradas do livro-razão das mais recentes para as mais antigas. crm_list_invoices resume o que ainda é devido por moeda. crm_revenue_sources_summary relata os feeds de receita conectados com seu último status de sincronização e nunca retorna as credenciais por trás deles. Nenhuma dessas quatro pode criar, editar, reembolsar, liquidar ou pagar nada. Um assistente de finanças neste servidor pode te dizer o número e não pode alterá-lo.

Sequências

crm_list_sequences responde quais campanhas estão em execução, com status e progresso da meta. crm_get_sequence_status aprofunda em uma, retornando contagens de processadas, bem-sucedidas e com falha, junto com as etapas de mensagem e atividade recente de jobs. O lado da escrita é intencionalmente dois controles em vez de um editor completo: crm_pause_sequence e crm_resume_sequence, ambos idempotentes. Um assistente pode parar uma campanha que está falhando às três da manhã. Ele não pode reescrever seu texto de divulgação enquanto você dorme. Construir a campanha em si continua no construtor de sequências.

DMs sociais

Cinco ferramentas de leitura e duas de escrita abrangendo todas as redes conectadas. crm_social_inbox_summary é o primeiro movimento para triagem: uma chamada retorna totais de conversas e não lidas no geral e por rede, além das conversas ainda aguardando resposta, das mais antigas para as mais recentes. crm_list_social_messages navega por uma conversa e carrega transcrições para notas de voz e ambas as redações para mensagens traduzidas. crm_send_social_message é a que alcança uma pessoa real: ela entrega pela conta que possui a conversa, pausa a resposta automática de IA para aquele contato para que dois robôs não respondam ao mesmo tempo, e registra o envio na linha do tempo do CRM. As janelas de plataforma ainda se aplicam, e o WhatsApp só permite respostas de forma livre dentro de 24 horas da última mensagem do cliente. O fluxo social completo tem sua própria página: gerenciamento de mídias sociais via MCP.

Posts sociais

Três ferramentas de leitura e três de escrita. crm_list_social_posts mostra o que está agendado e o que foi publicado, incluindo qualquer motivo de falha. crm_schedule_social_post agenda conteúdo em uma ou mais contas conectadas, criando um post por conta de destino, e aplica regras por plataforma no momento da chamada: TikTok e YouTube precisam de vídeo, Instagram precisa de mídia, X limita a 280 caracteres. crm_update_social_post e crm_cancel_social_post só tocam em posts que ainda estão pendentes. Qualquer coisa já publicada, em andamento, com falha ou cancelada é rejeitada, o que significa que um assistente não pode reescrever silenciosamente o histórico.

Webhooks

crm_list_webhooks e crm_list_webhook_deliveries existem principalmente para responder a uma pergunta: por que meu endpoint não está disparando. A ferramenta de entrega retorna tentativas recentes com status, contagem de tentativas, último código de resposta e último erro, das mais recentes para as mais antigas, o que geralmente é suficiente para diagnosticar sem abrir o painel. Segredos de assinatura nunca são retornados pela ferramenta de listagem, apenas uma prévia curta. crm_create_webhook registra um endpoint HTTPS e retorna seu segredo de assinatura exatamente uma vez, então armazene-o imediatamente. crm_delete_webhook é a única exclusão definitiva em todo o servidor e é anotada como destrutiva.

Agentes e jobs

crm_list_agents relata os agentes de IA atualmente automatizando respostas, com status, canais, modo de resposta, modelo e uma contagem de execuções nas últimas 24 horas. crm_run_agent é um playground: ele executa um agente contra uma mensagem de entrada de amostra e retorna a resposta que ele teria enviado, sem entregar nada e sem criar, alterar ou excluir um único registro do CRM. Ele é marcado como uma ferramenta não somente leitura puramente porque cada execução chama um provedor de modelo externo e gasta créditos de IA. crm_list_jobs e crm_get_job fecham o ciclo no envio de saída, mostrando se uma mensagem enfileirada realmente saiu e, se não saiu, o erro exato.

Google Ads

Onze ferramentas, seis de leitura e cinco de escrita, sob ads:read e ads:write. crm_google_ads_summary responde como a conta se saiu em um período, crm_google_ads_campaigns classifica campanhas por gasto, e crm_google_ads_breakdown desce para grupos de anúncios, anúncios, palavras-chave ou termos de pesquisa, que é onde o gasto desperdiçado se torna visível. crm_google_ads_campaign_settings é a leitura que você faz antes de qualquer alteração. No lado da escrita, crm_set_google_ads_status pausa ou ativa uma entidade, crm_update_google_ads_budget e crm_update_google_ads_bidding mudam o que a conta gasta e como ela faz lances, e crm_dry_run_ad_draft e depois crm_publish_ad_draft validam e enviam um rascunho construído no Ads Studio, sempre pausado. As chamadas são executadas no lado do servidor contra a API do Google Ads com sua própria concessão OAuth, então o modelo nunca vê uma credencial do Google. O passo a passo completo está na página servidor MCP do Google Ads.

Recursos e prompts

Junto com as ferramentas, 21 recursos dão a um cliente algo para carregar antes que a primeira pergunta seja feita. crm://me carrega identidade e plano. crm://social/inbox carrega totais de não lidas por rede e as vinte conversas de DM mais recentemente ativas. crm://tasks/overdue carrega apenas tarefas cuja data de vencimento já passou, que é uma lista diferente de crm://tasks/today e vale manter separada. Os 15 prompts são os fluxos de trabalho que uma pessoa aciona de propósito: daily-briefing, triage-inbox, pipeline-review, weekly-finance-report, lost-deal-postmortem, dm-reply-draft e mais nove.

Configuração em cinco minutos

Três etapas: crie uma chave com escopo, adicione o servidor ao seu cliente, verifique com uma pergunta que tenha uma resposta verificável. O detalhe por cliente difere mais do que você esperaria, porque cada fornecedor inventou seu próprio formato de arquivo de configuração, então a forma exata para Claude Code, Claude Desktop, Cursor, VS Code e Windsurf está na página conecte o Claude ao seu CRM. O que segue é o resumo mais dois trechos corretos.

Etapa 1: crie uma chave com escopo

No painel, abra Configurações, depois Desenvolvedores, depois Chaves de API, e crie uma chave. Escolha apenas os escopos que este assistente precisa. Um assistente de relatórios funciona bem com contacts:read, deals:read, pipelines:read e analytics:read. O token completo começa com csk_live_ e é mostrado apenas uma vez, então copie-o para uma variável de ambiente imediatamente e nunca para um repositório.

Etapa 2: adicionar o servidor

No Claude Code, um único comando resolve. A flag -s escolhe onde a entrada é armazenada: local apenas para você neste projeto, project para um .mcp.json versionado, user para todos os projetos na sua máquina.

claude mcp add --transport http pinlyx https://api.pinlyx.com/mcp \
  --header "Authorization: Bearer csk_live_YOUR_KEY" \
  -s user

Se você preferir um arquivo que acompanha o repositório, este é o formato .mcp.json correto. O campo type não é opcional: uma entrada url sem "type": "http" é interpretada como um comando stdio local e a conexão falha com uma lista de ferramentas vazia, em vez de um erro útil.

{
  "mcpServers": {
    "pinlyx": {
      "type": "http",
      "url": "https://api.pinlyx.com/mcp",
      "headers": {
        "Authorization": "Bearer csk_live_YOUR_KEY"
      }
    }
  }
}

Para ver o protocolo bruto antes de confiar em um cliente, pergunte ao servidor o que ele pode fazer com um único POST. O cabeçalho Accept carrega ambos os tipos de conteúdo porque um servidor Streamable HTTP pode responder com qualquer um deles.

curl -X POST https://api.pinlyx.com/mcp \
  -H "Authorization: Bearer csk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Um handshake completo começa com initialize, que é onde a revisão do protocolo é negociada e onde a resposta carrega o cabeçalho Mcp-Session-Id se você quiser manter uma sessão:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-06-18",
    "capabilities": {},
    "clientInfo": { "name": "my-client", "version": "1.0.0" }
  }
}

Etapa 3: verifique com uma pergunta real

Não verifique perguntando se a conexão funciona. Pergunte algo que apenas seu CRM possa responder e depois confira. Boas primeiras perguntas: quais conversas sociais ainda aguardam resposta, quantos negócios estão em cada etapa do funil, quais tarefas estão atrasadas agora. O assistente deve chamar crm_social_inbox_summary, crm_list_deals ou crm_list_tasks, e os números devem corresponder ao painel. Se a resposta for vaga ou evasiva, a lista de ferramentas provavelmente está vazia e o assistente está improvisando.

O modelo de segurança, em profundidade

O modelo de segurança se apoia em cinco coisas: uma lista de escopos por chave verificada em cada chamada de ferramenta, uma superfície de escrita que deliberadamente não chega a ações irreversíveis, um limite de taxa por chave, rotação de chaves que você controla e isolamento de tenant aplicado no nível da consulta, e não no prompt do modelo. Nada disso depende de o assistente se comportar bem, que é a única maneira sensata de projetar permissões para um sistema onde quem chama é um modelo de linguagem.

Escopos: as strings exatas

Cada ferramenta declara o único escopo que exige. Estas são as strings de escopo que uma chave pode carregar, e a contagem é o número de ferramentas que cada uma desbloqueia na versão atual:

  • Contatos e conversas: contacts:read (8 ferramentas), contacts:write (7), telegram:read, telegram:send (1), twitter:send (1).
  • Social: social:read (5), social:write (2), posts:read (3), posts:write (3).
  • Vendas: deals:read (2), deals:write (2), tasks:read (1), tasks:write (2), pipelines:read (2).
  • Caixa de entrada: email:read (3), email:write (4).
  • Operações: sequences:read (2), sequences:write (2), jobs:read (2), webhooks:read (2), webhooks:write (2), agents:read (1), agents:run (1).
  • Relatórios: analytics:read (3), finance:read (4).
  • Publicidade: ads:read (6), ads:write (5).
  • Avançado, oferecido mas desmarcado por padrão: finance:write, email:send, keys:manage. Se você se pegar recorrendo a um desses para um assistente de chat, pare e pergunte o que você está realmente tentando automatizar.

Observe a pontuação, porque é uma fonte comum de falha na primeira chamada: o recurso vem primeiro e o verbo depois. É contacts:read, nunca read:contacts. Quando falta um escopo a uma chave, a chamada falha com o erro JSON-RPC -32002 e um objeto data carregando requiredScope e granted, para que o assistente possa dizer exatamente qual permissão adicionar em vez de relatar uma falha genérica.

Três receitas de privilégio mínimo

A proliferação de escopos acontece quando uma chave é criada para tudo e depois reutilizada. A alternativa é uma chave por persona de assistente. Estas três cobrem a maioria das equipes:

  1. O analista de relatórios. Escopos: contacts:read, deals:read, pipelines:read, tasks:read, analytics:read, finance:read. Ele responde perguntas de previsão, carga de trabalho e receita e não pode alterar um único registro. Esta é a chave que você compartilha mais amplamente, e a que menos custa se vazar.
  2. O copiloto da caixa de entrada. Escopos: contacts:read, contacts:write, social:read, email:read, email:write, tasks:read, tasks:write, agents:read, agents:run. Ele tria, etiqueta, pontua, atribui, rascunha e agenda acompanhamentos. Como nem email:write nem social:read podem entregar uma mensagem, essa persona pode executar todo o seu ciclo de triagem sem nunca alcançar um cliente. Cada mudança que ela faz é reversível e fica registrada na linha do tempo de atividades.
  3. O operador de alcance. Tudo o que o copiloto tem, mais social:write, telegram:send, twitter:send, posts:read, posts:write, sequences:read, sequences:write, jobs:read. Esta é a única persona que pode alcançar uma pessoa real, então deve ser a que tem um dono nomeado, o menor intervalo de rotação e a revisão mais rigorosa.

O limite de escrita segura

As ferramentas de escrita deliberadamente param antes de ações irreversíveis de dinheiro e identidade. Isso é uma decisão de design, não um descuido, e vale a pena explicitar exatamente onde fica a linha:

  • Sem escritas no razão. Todas as quatro ferramentas financeiras são apenas de relatório. Nada na superfície MCP cria uma transação, edita uma, emite um reembolso ou liquida algo.
  • Sem pagamento de faturas. crm_list_invoices relata o que está pendente e não retorna nenhum link de pagamento. Não existe ferramenta que envie, anule ou pague uma fatura.
  • Sem forçar um negócio para ganho. crm_update_deal_stage aceita lead, qualificado, proposta, negociação e perdido, e rejeita ganho, porque ganho registra receita. Essa transição continua sendo uma decisão humana no painel.
  • Execuções de agente nunca entregam. crm_run_agent retorna a resposta que um agente teria enviado. A resposta nunca é entregue a nenhum contato e nenhum registro de CRM é criado, alterado ou excluído pela execução.
  • Uma exclusão definitiva, claramente rotulada. crm_delete_webhook remove permanentemente um endpoint que você registrou. É a única operação destrutiva no servidor e carrega a anotação destrutiva para que um cliente possa exigir confirmação.
  • Segredos nunca voltam para fora. crm_list_webhooks retorna uma prévia curta de um segredo de assinatura, nunca o segredo. crm_create_webhook retorna o segredo uma vez na criação. crm_revenue_sources_summary nunca retorna as credenciais de um feed de receita conectado.

Duas ferramentas de escrita alcançam o mundo exterior e merecem reflexão deliberada antes de você concedê-las. crm_send_social_message entrega a uma pessoa real imediatamente. crm_schedule_social_post publica para um público real imediatamente quando publishNow está definido. Todo o resto na superfície de escrita altera um registro que você pode reverter.

Limites de taxa

O limite padrão é de 60 requisições por minuto por chave, e um workspace Business pode elevar uma chave até um teto de 300 por minuto. Exceder retorna HTTP 429 com um cabeçalho Retry-After informando o número de segundos para esperar. O limite é aplicado por chave, e não por workspace, que é a parte importante: um assistente preso em um loop de repetição limita apenas a si mesmo e não pode sufocar seu painel de relatórios ou seu processador de webhooks. Se você está executando vários assistentes, dê a cada um sua própria chave apenas por esse motivo, independentemente do argumento de escopo.

Rotação e revogação

A chave é validada em cada requisição, em vez de ser trocada por um token de sessão, então a revogação tem efeito na próxima chamada. Não há período de carência em que um cliente já conectado continue funcionando, nem sessão em cache para expirar. Isso torna o procedimento de rotação simples e sem tempo de inatividade se você fizer nesta ordem: crie a chave substituta com os mesmos escopos, atualize a configuração do cliente e confirme que ela lista ferramentas, depois revogue a chave antiga. Ambas as chaves são válidas durante a sobreposição, então nada falha no meio da troca.

Rode em um cronograma qualquer chave que carregue um escopo de envio, e rode imediatamente sempre que uma chave tiver sido colada em uma janela de chat, um ticket, uma captura de tela ou um repositório. Como as chaves são por assistente na receita acima, rodar uma nunca perturba as outras.

Como é a trilha de auditoria

A trilha de auditoria é a própria linha do tempo de atividades do CRM, que é um lugar melhor para ela do que um log separado que ninguém abre. As ferramentas de escrita registram o que fizeram no registro que tocaram: crm_tag_contact registra uma entrada TagAdded, crm_untag_contact registra TagRemoved, crm_set_lead_score registra ScoreChanged e marca a pontuação como uma substituição manual em vez de uma de IA, crm_assign_contact registra Assigned ou Unassigned, crm_add_contact_note anexa uma nota com carimbo de data/hora, e crm_send_social_message registra o envio na linha do tempo. Leia de volta com crm_get_contact_activity, do mais novo para o mais antigo, ou abra o contato no painel e veja as mesmas entradas. No lado da entrega, crm_list_jobs e crm_get_job mostram cada envio de saída com seu status e seu último erro.

Isolamento de tenant

Uma chave de API identifica exatamente um usuário do workspace, e toda ferramenta resolve sua consulta contra esse id de usuário autenticado antes de tocar no banco de dados. Não há parâmetro de ferramenta que nomeie uma conta, workspace ou tenant diferente, então não há nada para um modelo preencher errado e nada para uma injeção de prompt mirar. Isso importa especificamente em um contexto MCP: quem chama é um modelo de linguagem que pode ser influenciado pelo conteúdo que lê, então o isolamento não pode viver em uma instrução dizendo ao modelo para ficar na sua faixa. Ele vive na consulta.

O mesmo raciocínio se aplica à verificação de escopo. Ela roda no servidor antes de o corpo da ferramenta executar, não na descrição da ferramenta que o modelo lê. Um modelo que foi convencido a querer enviar uma mensagem ainda não pode enviar uma com uma chave que não tenha social:write.

Quatro casos de uso trabalhados, antes e depois

1. Triagem matinal do representante de vendas

Antes. Abrir o CRM, abrir a caixa de entrada social, abrir o e-mail, examinar três listas em busca de qualquer coisa sem resposta, adivinhar a prioridade pelo que está visível na primeira tela e começar a digitar. Vinte minutos, a maior parte gastos decidindo em vez de fazendo, e o tópico sem resposta mais antigo é frequentemente aquele para o qual ninguém rolou.

Depois. Pergunte: quem está esperando uma resposta em todos os canais, classificados por quanto tempo esperaram e quão valioso é o relacionamento, e me diga o que cada um quer. O assistente chama crm_social_inbox_summary para os tópicos em espera do mais antigo para o mais novo, crm_list_recent_conversations para os canais diretos, crm_search_email_threads para a caixa de correio e crm_get_contact nos primeiros para contexto. Você recebe uma lista classificada com um motivo de uma linha para cada um. Continue com: rascunhe uma resposta para os três primeiros e agende uma tarefa para eu ligar para o segundo amanhã. Isso é crm_get_social_conversation para o histórico do tópico e crm_create_task para o lembrete.

2. Transferência de suporte

Antes. Um colega entra em férias e seus tópicos abertos são reatribuídos arrastando linhas em uma lista, sem entendimento compartilhado do que cada um realmente é. O agente receptor lê cada tópico do zero e o cliente se repete. Depois. Pergunte: resuma todos os threads de e-mail abertos atribuídos a essa pessoa, diga-me quais estão bloqueados conosco e reatribua-os para mim. O assistente chama crm_search_email_threads para puxar os threads abertos, crm_get_email_thread em cada um para ler as mensagens e qualquer resumo de IA, e então crm_assign_email_thread para mover os bloqueados. Ele pode adicionar crm_add_contact_note para que o contexto da transferência fique no contato, em vez de em um registro de chat que desaparece. Todo o loop precisa de email:read, email:write e contacts:write, e não pode enviar um único e-mail.

3. Revisão financeira

Antes. Exporte o razão, monte uma tabela dinâmica, reconcilie moedas manualmente e produza um número no qual você confia pela metade duas horas depois.

Depois. Pergunte: como foi o desempenho do negócio nos últimos 30 dias por moeda, o que ainda está pendente e quais categorias de despesa mudaram mais. O assistente chama crm_finance_summary para renda realizada, despesa e líquido por moeda, crm_list_invoices para o que é devido e crm_list_transactions para examinar os lançamentos por trás de uma anomalia. O prompt weekly-finance-report empacota a mesma coisa como um fluxo de trabalho semanal repetível. Isso roda apenas com finance:read, o que significa que o assistente que produz sua revisão financeira não pode tocar no seu razão, mesmo que seja solicitado. Combine com o módulo financeiro do CRM para a visão em painel.

4. Higiene semanal do funil

Antes. Um bloco recorrente na agenda chamado revisão do funil que é ignorado, seguido de uma correria no fim do trimestre para descobrir quais negócios eram reais.

Depois. Pergunte: mostre-me negócios abertos por etapa com valor e probabilidade, sinalize qualquer um sem atividade em duas semanas e agende uma tarefa para cada um. O assistente chama crm_list_deals e crm_list_pipelines para obter o formato do quadro, crm_get_contact_activity para verificar movimentação recente, depois crm_create_task para cada negócio parado e crm_update_deal_stage quando um negócio realmente regrediu. O prompt pipeline-review faz a análise pela metade como um fluxo de trabalho de um clique, e lost-deal-postmortem lida com os que não avançaram. Lembre-se de que mover um negócio para ganho não está disponível aqui por design: o assistente pode limpar o quadro, e você fecha o negócio.

Planos e custo

O acesso MCP faz parte do plano Business. Uma chave criada em um workspace Free ou Pro autentica corretamente e ainda responde com HTTP 402 em cada solicitação MCP, porque a elegibilidade é verificada separadamente da autenticação. Essa separação é deliberada e tem um efeito colateral útil: um 402 indica que a chave em si está ok, então você está diante de uma questão de plano, não de credencial.

O MCP vem com o plano, em vez de ser um complemento medido, e o limite de taxa é a fronteira de uso justo: 60 solicitações por minuto por chave por padrão, até um teto de 300 por minuto no Business. Como a verificação de elegibilidade roda em cada solicitação, em vez de no momento da conexão, o upgrade entra em vigor na chave que você já tem: sem nova emissão, sem reconfiguração do cliente. Os detalhes atuais do plano estão na página de preços.

Um custo que vale a pena mencionar porque é fácil de passar despercebido: crm_run_agent chama um provedor de modelo externo a cada execução e gasta créditos de IA do seu workspace. É a única ferramenta no servidor que faz isso, e é exatamente por isso que é anotada como uma ferramenta de escrita, apesar de não alterar nada.

Solução de problemas

Quase toda primeira conexão que falha é uma de seis coisas. A resposta em si geralmente indica qual:

O que você vêO que significaO que fazer
HTTP 401A chave é inválida, revogada ou nunca chegou intacta.Confirme que o token começa com csk_live_ e que o cabeçalho é exatamente Authorization: Bearer <token>. Se a chave funciona no curl, mas não no seu cliente, suspeite de um cabeçalho truncado, abaixo.
HTTP 402A chave é válida, mas o workspace está no Free ou Pro. MCP é um recurso do plano Business.Faça upgrade do workspace. A mesma chave começa a funcionar imediatamente, sem nova emissão e sem mudança no cliente.
Erro JSON-RPC -32002A chave não carrega o escopo que esta ferramenta exige. O objeto de erro data o nomeia.Leia data.requiredScope e compare com data.granted. Adicione o escopo, ou emita uma segunda chave para essa persona, em vez de ampliar a primeira.
HTTP 429 com Retry-AfterMais de 60 solicitações em um minuto nesta chave, ou mais que o teto de 300 se foi elevado.Aguarde o número de segundos em Retry-After. Se acontecer repetidamente, o assistente provavelmente está em loop: dê a ele sua própria chave para que ele limite apenas a si mesmo.
Lista de ferramentas vazia após conectarO cliente interpretou a entrada como um comando stdio local, ou a configuração usou o nome de chave errado para aquele cliente.Em um .mcp.json, adicione "type": "http". Os formatos de cliente diferem: os formulários por cliente estão na página de configuração do Claude.
401 silencioso de apenas um clienteO cliente não escapou o espaço dentro de Authorization: Bearer ... quando foi passado como um único argumento, então o cabeçalho chegou truncado.Divida. Passe --header "Authorization:${AUTH_HEADER}" com o valor completo de Bearer csk_live_... em uma variável de ambiente.

Mais um diagnóstico que vale saber: se uma chamada de ferramenta retorna dados, mas os campos que você esperava estão todos nulos, verifique a capitalização. Os resultados MCP estão em camelCase e a API REST v1 está em PascalCase, e um script movido de um para o outro fará o parse corretamente e silenciosamente não encontrará nada.

Limites honestos

Coisas que este servidor não faz, declaradas claramente para que você não as descubra no momento errado:

  • É apenas para o plano Business. Free e Pro recebem HTTP 402 mesmo com uma chave perfeitamente válida.
  • Chaves estáticas, não um fluxo de servidor de autorização. O documento de recurso protegido anuncia autenticação por chave de API bearer e sua lista authorization_servers está atualmente vazia. Clientes cujo único caminho de conector exige um servidor de autorização não podem usar uma chave estática diretamente e precisam de um processo de ponte.
  • Finanças são somente leitura aqui. Relatórios funcionam bem; o servidor não moverá dinheiro, liquidará uma fatura ou lançará receita para você.
  • Negócios não podem ser fechados como ganhos via MCP. Isso é proposital, e continuará sendo proposital.
  • Envios do Telegram são assíncronos. crm_send_telegram_message enfileira um trabalho. Confirme a entrega com crm_list_jobs ou crm_get_job em vez de assumir que uma chamada de ferramenta bem-sucedida significa mensagem entregue.
  • As regras da plataforma ainda se aplicam. O WhatsApp só permite respostas de forma livre dentro de 24 horas após a última mensagem do cliente, o X limita uma postagem a 280 caracteres, TikTok e YouTube exigem vídeo. O servidor aplica isso no momento da chamada, o que significa que o assistente receberá um não, em vez de produzir silenciosamente uma postagem quebrada.
  • O campo de nota do contato tem 500 caracteres. Quando está cheio, crm_add_contact_note remove o texto mais antigo do início para abrir espaço, então pode apagar texto de nota anterior. Use para fatos duráveis, não para um registro contínuo.
  • Sequências podem ser pausadas, não criadas. Montar uma campanha continua sendo uma tarefa do painel.

Se você precisar de algo nesta lista, a API REST v1 cobre uma superfície maior para código que você mesmo escreve, e o guia de integração de API e MCP aborda webhooks, verificação de assinatura e as partes da plataforma que são melhor dirigidas por um serviço do que por um assistente.

“A coisa mais útil que um assistente pode fazer com um CRM não é resumi-lo. É alterar um registro corretamente, recusar a alteração que não deveria fazer e deixar um rastro que você possa ler depois.”

Pinlyx engineering

Sobre o design das ferramentas de escrita do MCP

Três personas de assistente, três chaves, três raios de impacto

A decisão de segurança mais valiosa não é quais ferramentas existem. É quais escopos a chave de cada assistente carrega. Comece com a receita mais à esquerda e amplie apenas quando um trabalho específico precisar.

CapacidadeAnalista de relatóriosRecomendadoCopiloto de caixa de entradaOperador de divulgação
Lendo o CRM

Pesquisar contatos e ler conversas

contacts:read

Ler a caixa de entrada social

social:read

Ler negócios, funis e tarefas

deals:read, pipelines:read, tasks:read

Ler o razão e as faturas

finance:read

Alterando o CRM

Escrever notas, tags e pontuações de leads

contacts:write

Criar e concluir tarefas

tasks:write

Roteirizar conversas de e-mail sem enviar mensagens

email:write

Mover um negócio entre etapas abertas

deals:write

Alcançando uma pessoa real

Responder a uma mensagem direta social

social:write

Enfileirar uma mensagem do Telegram

telegram:send

Publicar ou agendar uma postagem

posts:write

Pausar ou retomar uma campanha

sequences:write

Raio de impacto se a chave vazar

Poderia contatar um cliente

Sim

Poderia alterar um registro

Reversível

Reversível

Poderia mover dinheiro

Nenhuma persona pode mover dinheiro: todas as quatro ferramentas financeiras são somente de leitura e finance:write é um escopo avançado que vem desmarcado por padrão. Reversível significa que a alteração aparece na linha do tempo de atividades do contato e pode ser desfeita pelo painel.

Princípios de design

Seis regras que o servidor segue

Um assistente de IA é um chamador com quem se pode discutir. As permissões precisam viver em um lugar que ele não possa alcançar.

A verificação de escopo é executada antes do corpo da ferramenta

Não na descrição da ferramenta que o modelo lê. Um modelo que foi convencido de que deveria enviar uma mensagem ainda não consegue, se a chave não tiver social:write.

O isolamento vive na consulta, não no prompt

Toda ferramenta filtra pelo id de usuário autenticado da chave. Nenhuma ferramenta aceita parâmetro de workspace ou tenant, então não há nada para uma instrução injetada mirar.

Ações com dinheiro permanecem humanas

Sem criação de transação, sem pagamento de fatura, sem forçar um negócio para ganho. O servidor reporta sobre o razão e se recusa a alterá-lo.

Os limites são por chave, não por workspace

60 requisições por minuto por padrão e um teto de 300 no plano Business, então um assistente em loop se limita sozinho em vez de esgotar seus dashboards.

Toda escrita deixa uma entrada na linha do tempo

Tags, pontuações, atribuições, notas e envios registram atividade no contato, legível de volta via crm_get_contact_activity ou no painel.

Um endpoint, sem instalação local

Um servidor remoto Streamable HTTP significa nada para instalar, nada para manter atualizado, e uma URL mais um cabeçalho para configurar.

Sua primeira hora, em ordem

Faça estas etapas em sequência e você nunca depurará dois problemas ao mesmo tempo.

  • Confirme que o workspace está no plano Business, porque uma chave Free ou Pro responde 402 não importa o que mais esteja certo.
  • Crie primeiro uma chave somente de leitura: contacts:read, deals:read, pipelines:read, analytics:read.
  • Prove o endpoint com um único curl para tools/list antes de tocar em qualquer configuração de cliente.
  • Adicione o servidor a apenas um cliente, com o tipo de transporte correto para esse cliente.
  • Faça uma pergunta cuja resposta você possa verificar no painel, como a contagem de negócios por etapa.
  • Crie uma segunda chave com escopos de escrita somente depois que o caminho de leitura estiver comprovado, e dê a ela um proprietário nomeado.
  • Armazene ambos os tokens em variáveis de ambiente e confirme que nenhum está em um repositório.
  • Anote qual escopo cada chave carrega em algum lugar que sua equipe possa encontrar na hora da rotação.

FAQ do servidor MCP do CRM

As perguntas que as equipes fazem na primeira hora, respondidas com os números reais.

Um servidor MCP do CRM é uma implementação do Model Context Protocol que fica na frente de um CRM e publica seus registros como operações chamáveis. Em vez de colar uma lista de contatos em uma janela de chat, um assistente de IA chama uma ferramenta nomeada como crm_search_contacts, recebe JSON estruturado de volta e pode chamar uma ferramenta de escrita para registrar o resultado. A Pinlyx executa um em https://api.pinlyx.com/mcp com 76 ferramentas, 21 recursos e 15 prompts.

Revisão do protocolo 2025-06-18, transportada sobre JSON-RPC 2.0 no transporte Streamable HTTP. Clientes enviam requisições JSON-RPC POST para o endpoint, abrem um GET para o fluxo de eventos enviados pelo servidor quando querem mensagens iniciadas pelo servidor, e DELETE para encerrar uma sessão. Qualquer cliente que fale essa revisão pode se conectar sem um adaptador específico do fornecedor.

Não. O servidor é remoto e fala Streamable HTTP, então um cliente que suporta servidores MCP remotos se conecta com uma URL e um cabeçalho Authorization. Nada roda na sua máquina e não há nada para manter atualizado. Clientes cujo arquivo de configuração só entende processos locais stdio precisam da ponte mcp-remote para traduzir, que é o único caso em que um processo local está envolvido.

O servidor MCP está disponível no plano Business. Uma chave criada no Free ou Pro autentica, mas toda requisição MCP responde HTTP 402, porque a elegibilidade é verificada separadamente da autenticação. Atualizar o workspace habilita a mesma chave imediatamente: você não precisa criar uma nova depois de mudar de plano.

Cada ferramenta declara o único escopo que exige, por exemplo contacts:read para crm_search_contacts ou social:write para crm_send_social_message. Se a chave chamadora não tiver esse escopo, a chamada falha com o erro JSON-RPC -32002 e um objeto de dados contendo requiredScope e granted. O assistente vê exatamente qual permissão está faltando, o que transforma uma falha silenciosa em uma mensagem acionável.

As ferramentas de escrita param antes de operações destrutivas. Não há ferramenta que exclua um contato, um negócio, uma tarefa, uma mensagem ou uma entrada do razão. A única exclusão definitiva em toda a superfície é crm_delete_webhook, que remove um endpoint que você mesmo registrou e é anotada como destrutiva para que um cliente possa pedir confirmação antes de executá-la.

Somente se você conceder um escopo de envio. crm_send_social_message precisa de social:write, crm_send_telegram_message precisa de telegram:send e crm_send_twitter_dm precisa de twitter:send. Uma chave sem esses escopos pode ler todas as conversas e rascunhar respostas no chat, mas não pode entregar nada. A maioria das equipes começa com uma chave somente de leitura e adiciona escopos de envio a uma segunda chave depois.

O padrão é 60 requisições por minuto por chave, e um workspace Business pode elevar uma chave a um teto de 300 por minuto. Exceder o limite retorna HTTP 429 com um cabeçalho Retry-After informando os segundos de espera. O limite é por chave em vez de por workspace, então um assistente descontrolado se limita sozinho sem esgotar suas outras integrações.

Não. Os resultados das ferramentas MCP estão em camelCase, enquanto a API REST v1 retorna propriedades em PascalCase. Essa diferença importa se você estiver analisando a saída da ferramenta no seu próprio código em vez de deixar um modelo lê-la. Dentro do MCP, a capitalização é consistente em todas as 76 ferramentas, então um cliente só precisa aprendê-la uma vez.

A chave de API identifica exatamente um usuário do workspace, e toda ferramenta resolve sua consulta contra esse id de usuário autenticado antes de tocar no banco de dados. Não há parâmetro de ferramenta que permita a um chamador nomear uma conta diferente, então uma chave válida para um workspace não pode ler ou escrever em outro workspace, independentemente do que o modelo pedir.

A revogação tem efeito na próxima requisição. A chave é validada em toda chamada em vez de ser trocada por um token de sessão, então não há janela em que um cliente já conectado continue funcionando. O cliente reportará um 401 e parará de listar ferramentas. Rode criando a substituição primeiro, atualizando a configuração do cliente e depois revogando a chave antiga.

Sim, no próprio CRM. Ferramentas de escrita registram na linha do tempo de atividades do contato: crm_tag_contact registra uma entrada TagAdded, crm_set_lead_score registra ScoreChanged, crm_assign_contact registra Assigned, e crm_send_social_message registra o envio. Você pode ler esse histórico de volta com crm_get_contact_activity ou abrir o contato no painel e ver as mesmas entradas.

Sim. crm_schedule_social_post cria uma postagem por conta de destino e aplica as regras por plataforma no momento da chamada: TikTok e YouTube exigem vídeo, Instagram exige mídia, X limita texto a 280 caracteres. crm_update_social_post e crm_cancel_social_post podem alterar ou interromper qualquer coisa ainda pendente, embora uma postagem já publicada não possa ser retirada via MCP. Mint a key carrying only read scopes such as contacts:read, deals:read and analytics:read, connect it, and ask the assistant a question with a verifiable answer, for example how many deals sit in each stage. Compare the answer with the panel. Once the read path is proven, mint a second key with the write scopes that specific assistant needs.

Aprofunde-se

Cinco páginas complementares sobre a superfície MCP, além dos recursos da plataforma que um assistente irá chamar.

Conecte o Claude ao seu CRM

Configuração por cliente para Claude Code, Claude Desktop, Cursor, VS Code e Windsurf, incluindo os formatos de configuração que realmente diferem.

Referência de ferramentas MCP

Todas as 76 ferramentas, 21 recursos e 15 prompts com o escopo que cada um exige e se ele lê ou grava.

[

Leia DMs, rascunhe respostas e agende publicações em doze redes a partir de uma única conversa com o assistente.

](https://pinlyx.com/mcp/social-media)

MCP vs API REST vs ferramentas de automação

Quando um assistente deve chamar uma ferramenta, quando escrever código contra a API e quando um gatilho sem código é suficiente.

Google Ads via MCP

Onze ferramentas para relatórios em todos os níveis que o Google reporta, além de alterações protegidas de orçamento, lances e status.

API REST pública

A API v1 por trás dos mesmos dados, para as integrações que você mesmo escreve em vez de entregar a um assistente.

Guia de integração de API e MCP

Passo a passo para desenvolvedores cobrindo chaves com escopo, webhooks, verificação de assinatura e backoff de limite de taxa.

Nó n8n

O mesmo CRM em um fluxo de trabalho em vez de uma conversa: contatos, negócios e conversas como operações do n8n.

Agentes de IA

Os agentes de resposta automática que crm_list_agents reporta e que crm_run_agent permite testar com segurança.

Caixa de entrada unificada

A caixa de entrada de doze canais da qual as ferramentas sociais e de conversa leem e na qual escrevem.

Integrações

Tudo o mais que o Pinlyx conecta, para as partes da sua stack que ficam fora do assistente.

Preços

Comparação de planos, incluindo o plano Business que inclui acesso MCP e o teto de 300 por minuto.

Listado em

Pronto para enviar

Dê ao seu assistente um CRM real para trabalhar

76 ferramentas, 21 recursos e 15 prompts atrás de um único endpoint autenticado. Crie uma chave somente leitura, conecte um cliente e pergunte algo que apenas o seu CRM pode responder.

Plano gratuito para sempre · Pronto para GDPR · Sem cartão de crédito necessário