Skip to main content
Glama
@kemosoft/mcp-heymax-crm

@kemosoft/mcp-heymax-crm

@kemosoft/mcp-heymax-crm

CI

MCP server em TypeScript para a API de atendimento do HeyMax CRM hospedada em ms-crm-az.kemosoft.com.br.

Estado atual

Esta primeira versão expõe apenas ferramentas read-only. Foi uma decisão deliberada.

Revisão adversarial:

  • A OpenAPI da API está incompleta para operações de escrita.

  • Publicar tools destrutivas agora aumentaria risco operacional sem garantia de contrato estável.

  • O servidor já é útil para consulta, mas ainda não é um conector "completo" de CRM.

Related MCP server: pipedrive-pj

Fluxo

Cliente MCP
  -> Servidor (valida input com Zod)
  -> HeyMax CRM API (envia request com api-key)
  <- JSON ou erro HTTP
  -> Servidor (normaliza resposta/erro)
  -> Cliente (structuredContent + texto)

Para quem isso é utilizável

Hoje o servidor é utilizável por qualquer pessoa que tenha:

  • Node.js >= 22

  • acesso a um cliente MCP compatível com stdio

  • uma credencial válida em HEYMAX_CRM_API_KEY

Revisão adversarial:

  • Sem credencial válida, o pacote instala mas não entrega valor real.

  • Portanto o produto ainda não é "aberto para qualquer pessoa" no sentido de acesso irrestrito à API.

Requisitos

  • Node.js >= 22

  • npm

  • Credencial válida em HEYMAX_CRM_API_KEY

Variáveis de ambiente

Copie .env.example para .env ou exporte as variáveis no shell:

  • HEYMAX_CRM_API_KEY: obrigatório

  • HEYMAX_CRM_API_SOURCE: opcional nesta versão; será usado nas futuras operações de escrita

O timeout de request nao e configuravel pelo usuario. Ele e fixo em 30s. O host da API tambem nao e configuravel. O servidor so fala com https://ms-crm-az.kemosoft.com.br.

Guardrails de seguranca

  • respostas de erro upstream sao sanitizadas

  • payloads retornados ao modelo passam por redacao de campos sensiveis

  • conteudos potencialmente binarios ou base64 sao removidos do output

  • o markdown nao inclui mais dumps brutos de JSON

Instalação

Via npm local:

npm install
npm run build

Via npx depois da publicação no npm:

npx -y @kemosoft/mcp-heymax-crm

Execução

Modo local via stdio:

npm start

Desenvolvimento:

npm run dev

Pipeline de publicação

O release agora é automatizado pelo GitHub Actions depois que o CI passa em main.

  • fix: gera patch

  • feat: gera minor

  • feat!: ou BREAKING CHANGE gera major

  • commits que não alteram versão não disparam release

O fluxo faz:

  • o CI valida build, testes e smoke

  • semantic-release calcula a próxima versão

  • gera CHANGELOG.md

  • publica no npm como @kemosoft/mcp-heymax-crm

  • cria release no GitHub

  • commita os arquivos de release com [skip ci] para evitar loop

Secrets necessários no repositório:

  • NPM_TOKEN: token granular com permissão de publish no scope @kemosoft

  • GITHUB_TOKEN: o GitHub Actions fornece automaticamente

Para validar localmente antes de subir:

npm run prepack

Se você quiser publicar manualmente fora do pipeline, use o fluxo do semantic-release em vez de npm publish direto.

Tools disponíveis

  • heymax_crm_list_active_pipelines

  • heymax_crm_list_lost_reasons

  • heymax_crm_list_events

  • heymax_crm_list_tags

  • heymax_crm_validate_phone

  • heymax_crm_search_address_by_cep

  • heymax_crm_find_services_by_phone

  • heymax_crm_get_pipeline_flow

  • heymax_crm_get_service_status_by_id

  • heymax_crm_get_service_status_by_funnel_and_cpf

Exemplo de configuração em cliente MCP

Exemplo genérico de comando:

{
  "command": "node",
  "args": ["C:/caminho/para/mcp-heymax-crm/dist/index.js"],
  "env": {
    "HEYMAX_CRM_API_KEY": "sua-chave"
  }
}

Claude Desktop

{
  "mcpServers": {
    "heymax-crm": {
      "command": "npx",
      "args": ["-y", "@kemosoft/mcp-heymax-crm"],
      "env": {
        "HEYMAX_CRM_API_KEY": "sua-chave"
      }
    }
  }
}

Codex

{
  "mcpServers": {
    "heymax-crm": {
      "command": "npx",
      "args": ["-y", "@kemosoft/mcp-heymax-crm"],
      "env": {
        "HEYMAX_CRM_API_KEY": "sua-chave"
      }
    }
  }
}

Cursor

{
  "mcpServers": {
    "heymax-crm": {
      "command": "node",
      "args": ["/caminho/para/mcp-heymax-crm/dist/index.js"],
      "env": {
        "HEYMAX_CRM_API_KEY": "sua-chave"
      }
    }
  }
}

Estrutura do projeto

src/
  api-client.ts
  config.ts
  constants.ts
  format.ts
  index.ts
  schemas.ts
  tools.ts
  types.ts

Verificação

npm run build
npm run typecheck
npm run smoke

Limitações atuais

  • Sem tools de escrita

  • Sem transporte HTTP

  • Sem paginação real no backend; o limite atual corta o array retornado pela API

  • Alguns endpoints da API não possuem schema de resposta confiável na documentação

  • A utilidade prática ainda depende de distribuição controlada de HEYMAX_CRM_API_KEY

Available Tools

10 tools
heymax_crm_find_services_by_phoneFind Services by PhoneB
Read-onlyIdempotent

Find existing customer service records by phone number, grouped by CPF in the HeyMax CRM API.

Inputs: phone (required), limit, response_format. Returns: count, items, truncated, total_count

heymax_crm_get_pipeline_flowGet Pipeline FlowB
Read-onlyIdempotent

Fetch workspace and flow data for a given HeyMax CRM funnel or pipeline slug.

Inputs: funnel (required), include_images, response_format. Returns: funnel, result, include_images

heymax_crm_get_service_status_by_funnel_and_cpfGet Service Status by Funnel and CPFB
Read-onlyIdempotent

Fetch the current status of a customer service record by funnel slug and CPF.

Inputs: cpf (required), funnel (required), response_format, include_customer_data. Returns: status

heymax_crm_get_service_status_by_idGet Service Status by IDB
Read-onlyIdempotent

Fetch the current status of a customer service record by atendimento ID.

Inputs: service_id (required), response_format, include_customer_data. Returns: status

heymax_crm_list_active_pipelinesList Active PipelinesB
Read-onlyIdempotent

List active customer service funnels/pipelines configured in the HeyMax CRM API.

Inputs: limit, response_format. Returns: count, items, truncated, total_count

heymax_crm_list_eventsList EventsB
Read-onlyIdempotent

List customer service events available in the HeyMax CRM API.

Inputs: limit, response_format. Returns: count, items, truncated, total_count

heymax_crm_list_lost_reasonsList Lost ReasonsB
Read-onlyIdempotent

List available lost or closing reasons for customer service records in the HeyMax CRM API.

Inputs: limit, response_format. Returns: count, items, truncated, total_count

heymax_crm_list_tagsList TagsB
Read-onlyIdempotent

List customer service tags configured in the HeyMax CRM API.

Inputs: limit, response_format. Returns: count, items, truncated, total_count

heymax_crm_search_address_by_cepSearch Address by CEPC
Read-onlyIdempotent

Resolve a CEP into address data using the HeyMax CRM API.

Inputs: cep (required), response_format. Returns: input, result

heymax_crm_validate_phoneValidate PhoneB
Read-onlyIdempotent

Validate whether a phone number exists on WhatsApp according to the HeyMax CRM API.

Inputs: phone (required), response_format. Returns: input, result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 10 tools

    Disambiguation4/5

    Each tool targets a distinct action or resource, but two tools retrieve pipeline data (list_active_pipelines vs get_pipeline_flow) and two fetch service status by different keys, which could cause slight confusion. The descriptions help differentiate them, so the overlap is minor.

    Naming Consistency5/5

    All tools share the 'heymax_crm_' prefix and follow a consistent snake_case verb_noun pattern (e.g., list_, get_, find_, validate_). The verb variations are appropriate to each action, maintaining predictable naming throughout.

    Tool Count5/5

    With 10 tools, the set is well-scoped for a CRM integration, covering metadata listing, validation, lookup, and status retrieval without bloat. Each tool appears to earn its place.

    Completeness3/5

    The surface is largely read-only: it can list metadata, validate phone numbers, search addresses, and fetch service status, but lacks operations to create, update, or delete service records, tags, or pipelines. This leaves notable gaps for a CRM integration, though core read workflows are covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Read-only MCP server that exposes the Poli Júnior Pipedrive CRM to Claude as composable tools.
      -
    • A
      license
      A
      quality
      D
      maintenance
      A read-only MCP server that exposes HubSpot CRM data (contacts, deals, companies, quotes) to AI agents, enabling natural language queries.
      9
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      MCP server to query Microsoft Dynamics 365 CRM records and support workflows using streamable HTTP transport.
      -