Token导航 LogoToken导航TokenDH.com
MCP Whaileys logo
开发工具未说明官方级别未说明来源级核验

MCP Whaileys

MCP Server

MCP Whaileys是一款提供WhatsApp/Baileys库完整上下文分析的服务器,结合AST分析和领域知识库,支持开发者高效开发。

工具数

32

提示词数

0

GitHub Stars

3

资源数

0
代码分析TypeScript开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jobasfernandes

提供方

jobasfernandes

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP Whaileys Context

Servidor MCP (Model Context Protocol) para fornecer contexto completo da biblioteca Whaileys (WhatsApp) ao assistente de IA.

O repositório whaileys é baixado automaticamente na primeira execução.

Funcionalidades

Este servidor combina análise de AST com knowledge base de domínio para fornecer contexto completo sobre WhatsApp/Baileys:

Análise de AST (ts-morph)

  • Interfaces - com propriedades, métodos, call signatures e index signatures
  • Type Aliases - com type parameters e definições completas
  • Enumerations - com todos os valores
  • Functions - com parâmetros, tipos de retorno e documentação
  • Classes - com métodos públicos, propriedades e herança
  • Variables/Constants - configurações e defaults exportados
  • Namespaces - estrutura de namespaces exportados
  • Re-exports - análise de re-exportações entre módulos

Domain Knowledge (v2.0)

  • 12 knowledge bases curadas com referência completa de tipos, métodos e padrões
  • WAProto parser para navegação dinâmica de 80+ tipos protobuf
  • 36 code examples prontos para copiar/colar
  • Guides para media, groups, calls, chat e connection

Ferramentas Disponíveis (30 tools)

Ferramentas de AST

FerramentaDescrição
whaileys_estruturaLista a estrutura de arquivos do projeto
whaileys_ler_arquivoLê conteúdo de arquivo específico
whaileys_extrair_tiposExtrai todas as declarações via AST
whaileys_buscar_tipoBusca definição de tipo por nome exato
whaileys_buscar_fuzzyBusca com correspondência aproximada
whaileys_buscar_contextoBusca semântica por tópico/domínio com ranking
whaileys_listar_exportsLista todos os exports agrupados
whaileys_resumo_moduloResume um módulo com arquivos, categorias e símbolos-chave
whaileys_topicosMapa de tópicos práticos (auth, socket, message, media, etc.)

Ferramentas por Categoria

FerramentaDescrição
whaileys_categoriasLista declarações de categoria específica
whaileys_interfacesLista todas as interfaces
whaileys_funcoesLista todas as funções
whaileys_enumsLista todas as enumerações
whaileys_constantesLista constantes e variáveis

Ferramentas de Análise

FerramentaDescrição
whaileys_estatisticasEstatísticas detalhadas da biblioteca
whaileys_hierarquiaMostra herança (extends/implements)
whaileys_dependenciasAnalisa dependências entre módulos

Ferramentas de Domínio

FerramentaDescrição
whaileys_messagesReferência completa de todos os tipos de mensagem (text, image, buttons, poll, etc.)
whaileys_interactiveEstruturas de mensagens interativas (buttons, lists, templates, carousel, native flow)
whaileys_jidFormatos JID/LID, JIDs especiais, funções utilitárias e migração LID
whaileys_eventsReferência completa do BaileysEventMap com payloads e categorias

Ferramentas de Referência

FerramentaDescrição
whaileys_socket_methodsMétodos do WASocket organizados por categoria (messaging, groups, media, etc.)
whaileys_chatOperações de chat (modifications, presence, privacy, labels)
whaileys_connectionReferência de conexão/autenticação (config, states, auth, reconnect)
whaileys_guidesGuias completos para media, groups, calls e mappings

Ferramentas WAProto & Examples

FerramentaDescrição
whaileys_protoLista/busca campos de proto.Message (80+ tipos em 14 categorias)
whaileys_proto_typeDefinição completa de um tipo proto (fields, enums, oneofs, nested types)
whaileys_examples36 code examples prontos para copiar (text, media, interactive, groups, connection)

Ferramentas de Auto-Update

FerramentaDescrição
whaileys_check_updatesVerifica se há atualizações disponíveis no GitHub
whaileys_updateAtualiza o repositório local para a versão mais recente
whaileys_statusMostra status atual do repositório (commits, sincronização)
whaileys_self_updateVerifica/atualiza o pacote mcp-whaileys no npm

Categorias Suportadas

interface   - Interfaces TypeScript
type        - Type Aliases
enum        - Enumerations
function    - Funções exportadas
class       - Classes exportadas
variable    - Constantes e variáveis
namespace   - Namespaces
re-export   - Re-exportações

Instalação

Opção 1: Via npx (recomendado)

Sem instalação prévia, use diretamente no VSCode:

{
  "servers": {
    "whaileys-context": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-whaileys"]
    }
  }
}

Opção 2: Instalação global

npm install -g mcp-whaileys
{
  "servers": {
    "whaileys-context": {
      "type": "stdio",
      "command": "mcp-whaileys"
    }
  }
}

Opção 3: Repositório local

git clone https://github.com/SEU_USUARIO/mcp-whaileys.git
cd mcp-whaileys
npm install
npm run build
{
  "servers": {
    "whaileys-context": {
      "type": "stdio",
      "command": "node",
      "args": ["d:/caminho/para/mcp-whaileys/dist/index.js"]
    }
  }
}

Onde fica o repositório Whaileys?

Na primeira execução, o MCP baixa automaticamente o repositório para:

  • Windows: C:\Users\SEU_USUARIO\.mcp-whaileys\whaileys
  • Linux/Mac: ~/.mcp-whaileys/whaileys

Para usar um caminho personalizado, defina WHAILEYS_PATH:

{
  "servers": {
    "whaileys-context": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-whaileys"],
      "env": {
        "WHAILEYS_PATH": "d:/meu/caminho/whaileys/src"
      }
    }
  }
}

Variáveis de Ambiente

VariávelDescriçãoDefault
WHAILEYS_PATHCaminho para o diretório src/ do WhaileysAuto-download em ~/.mcp-whaileys/
AUTO_UPDATE_ENABLEDHabilita verificação automática de atualizaçõestrue
AUTO_UPDATE_INTERVALIntervalo de verificação em ms3600000 (1 hora)
GITHUB_TOKENToken do GitHub para evitar rate limiting-

Exemplos de Configuração

Configuração mínima (usa auto-download)

{
  "whaileys-context": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "mcp-whaileys"]
  }
}

Configuração com path local existente

{
  "whaileys-context": {
    "type": "stdio",
    "command": "node",
    "args": ["/caminho/para/mcp-whaileys/dist/index.js"],
    "env": {
      "WHAILEYS_PATH": "/caminho/para/whaileys/src"
    }
  }
}

Configuração completa

{
  "whaileys-context": {
    "type": "stdio",
    "command": "npx",
    "args": ["-y", "mcp-whaileys"],
    "env": {
      "AUTO_UPDATE_ENABLED": "true",
        "AUTO_UPDATE_INTERVAL": "3600000"
      }
    }
  }
}

Exemplos de Uso

Extrair todos os tipos do módulo Types

whaileys_extrair_tipos({ modulo: "Types" })

Filtrar apenas interfaces do módulo Types

whaileys_extrair_tipos({ modulo: "Types", apenas_kind: "interface" })

Buscar tipo específico

whaileys_buscar_tipo({ nome: "WAMessage" })

Busca fuzzy quando não sabe o nome exato

whaileys_buscar_fuzzy({ query: "message send auth" })

Busca contextual por domínio

whaileys_buscar_contexto({ query: "auth state", modulo: "Utils", limite: 10 })

Resumo orientado de módulo

whaileys_resumo_modulo({ modulo: "Socket", destaque: 15 })

Descoberta por tópicos

whaileys_topicos({ topico: "media" })

Consultar tipos de mensagem

whaileys_messages()
whaileys_messages({ type: "buttons" })
whaileys_messages({ category: "interactive" })

Consultar mensagens interativas

whaileys_interactive({ type: "carousel" })

Referência de eventos

whaileys_events()
whaileys_events({ event: "messages.upsert" })
whaileys_events({ category: "messaging" })

Referência JID/LID

whaileys_jid()
whaileys_jid({ topic: "lid" })

Métodos do WASocket

whaileys_socket_methods()
whaileys_socket_methods({ category: "groups" })
whaileys_socket_methods({ method: "sendMessage" })

Guias de referência

whaileys_guides({ topic: "media" })
whaileys_guides({ topic: "groups" })
whaileys_connection({ topic: "config" })
whaileys_chat({ topic: "modifications" })

Navegar WAProto

whaileys_proto()
whaileys_proto({ category: "interactive" })
whaileys_proto({ search: "poll" })
whaileys_proto_type({ name: "ButtonsMessage" })
whaileys_proto_type({ name: "InteractiveMessage" })

Code examples prontos

whaileys_examples()
whaileys_examples({ id: "send-carousel" })
whaileys_examples({ search: "poll" })
whaileys_examples({ tag: "connection" })

Ver todas as funções do módulo Utils

whaileys_funcoes({ modulo: "Utils" })

Listar constantes de configuração

whaileys_constantes({ modulo: "Defaults" })

Ver hierarquia de um tipo

whaileys_hierarquia({ nome: "BaileysEventEmitter" })

Estatísticas completas da biblioteca

whaileys_estatisticas()

Análise de dependências

whaileys_dependencias()

Estrutura de Dados

ExtractedType

interface ExtractedType {
  name: string              // Nome da declaração
  kind: ExtractedKind       // Tipo (interface, type, enum, etc.)
  exported: boolean         // Se é exportado
  file: string              // Arquivo fonte
  module: string            // Módulo (Types, Socket, Utils, etc.)
  signature: string         // Assinatura TypeScript
  fullSignature?: string    // Assinatura completa (para types)
  properties?: PropertyInfo[] // Propriedades (interfaces/classes)
  methods?: PropertyInfo[]  // Métodos (interfaces/classes)
  members?: string[]        // Membros (enums/namespaces)
  typeParameters?: TypeParameter[] // Generics
  extends?: string[]        // Herança
  implements?: string[]     // Implementações
  docs?: string             // Documentação JSDoc
  value?: string            // Valor (variáveis)
  lineNumber?: number       // Linha no arquivo
}

PropertyInfo

interface PropertyInfo {
  name: string
  type: string
  optional: boolean
  readonly: boolean
  docs?: string
  isMethod: boolean
  isCallSignature: boolean
  isIndexSignature: boolean
  parameters?: string[]
  returnType?: string
}

Estatísticas da Biblioteca

O servidor pode gerar estatísticas detalhadas incluindo:

  • Total de declarações por categoria
  • Contagem por módulo (Types, Socket, Utils, etc.)
  • Top interfaces, types e funções
  • Percentuais de distribuição

Recursos Disponíveis

O servidor também expõe recursos via MCP Resources:

URIDescrição
whaileys://readmeREADME da biblioteca
whaileys://types-indexIndex de tipos exportados
whaileys://statisticsEstatísticas da biblioteca

Tecnologias

  • @modelcontextprotocol/sdk v1.26.0 - SDK oficial do MCP
  • ts-morph v27.0.2 - Parser de AST para TypeScript
  • zod v4.1.13 - Validação de schemas

Sistema de Auto-Update

O MCP Whaileys possui um sistema integrado de auto-atualização que monitora o repositório oficial canove/whaileys no GitHub.

Como funciona

  1. Na inicialização: O servidor verifica se há atualizações disponíveis
  2. Periodicamente: A cada intervalo configurado (default: 1 hora), verifica novos commits
  3. Automaticamente: Quando detecta uma atualização, executa git pull automaticamente
  4. Cache de SHA: Mantém um registro do último commit verificado para otimizar chamadas à API

Fluxo de atualização

flowchart TD
    A[GitHub API
/repos/canove/whaileys/commits] --> B[Compara SHA
Local vs Remoto]
    B --> C{SHA diferente?}
    C -->|Sim| D[git pull]
    C -->|Não| E[OK - Sem alterações]
    D --> F[Atualiza contexto]
    F --> G[Salva novo SHA no cache]

Comandos manuais

// Verificar se há atualizações (sem aplicar)
whaileys_check_updates()

// Aplicar atualizações disponíveis
whaileys_update()

// Ver status atual do repositório
whaileys_status()

Logs

O servidor emite logs durante o processo de atualização:

[INFO] Auto-update habilitado (intervalo: 60 min)
[INFO] Verificando atualizações...
[OK] Atualizado para: ea7f714
      Commit: Merge pull request #56 from canove/develop

Rate Limiting do GitHub

A API do GitHub possui limites de requisições:

  • Sem token: 60 requests/hora
  • Com token: 5000 requests/hora

Para ambientes de produção, configure GITHUB_TOKEN para evitar rate limiting.

目录标签

目录标签

代码分析TypeScript开发工具AST分析本地部署领域知识库WhatsApp开发开发者工具

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

32

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP