MCP Server para contexto completo da biblioteca Whaileys (WhatsApp) - AST Types, Domain Knowledge, WAProto Parser, Code Examples, Guides. Auto-download do repositório na primeira execução.
This is a specialist domain tool server (Baileys/WhatsApp library documentation) with 20 tools. All tools have clear names starting with domain prefix 'whaileys_' and action verbs (extrair, buscar, listar, etc.). Descriptions are present for all tools and range 85-280 characters, meeting the 10-1024 baseline. Input schemas are consistently defined using Zod with proper type annotations. All tools are READ_ONLY and properly annotated with readOnlyHint. However, gaps exist: (1) Output schemas are not explicitly documented in the code, responses are free-form text rather than structured objects, violating the 'document output schema' pattern. (2) Parameter descriptions exist but some are vague (e.g., 'Limite de resultados (default: 20)' lacks explanation of why 20 is default or what 'results' means). (3) No error recovery guidance, tools return isError: true but provide no actionable next steps. (4) No pagination metadata, tools that list items (e.g., whaileys_examples, whaileys_socket_methods) accept limit but return no total_count or next_cursor. (5) Many tools accept optional filters but do not document what happens when both are omitted. Strengths: consistent naming, comprehensive parameter coverage for a documentation server, proper Zod schema usage, and clear categorization of tool families (ast-tools, content-tools, domain-tools, etc.).
Busca contexto semântico no Whaileys/Baileys com ranking por nome, assinatura, docs e caminho do arquivo.
Busca tipos usando correspondência aproximada. Útil quando não sabe o nome exato.
Busca a definição de um tipo específico pelo nome. Retorna assinatura completa, propriedades, métodos e documentação.
Lista declarações de uma categoria específica (interfaces, types, enums, functions, classes, variables, namespaces).
Complete reference for chat operations: ChatModification types (archive, pin, mute, clear, star, markRead, delete, labels, contacts), WAPresence values (composing, recording, etc), and privacy settings.
Complete reference for connection management: SocketConfig fields (30+ fields with defaults), ConnectionState, DisconnectReason codes, AuthenticationState pattern (Redis+AES-256-GCM), QR code flow, and reconnection strategy (exponential backoff).
Output schemas not documented. All tools return free-form text (markdown strings) instead of structured JSON objects with typed fields. LLMs cannot infer field names or plan downstream operations. Example: whaileys_buscar_tipo returns { content: [{ type: 'text', text: '<markdown>' }] } with no schema definition of response structure.
No pagination metadata in list tools. Tools accepting limit parameter (whaileys_examples, whaileys_buscar_fuzzy, whaileys_buscar_contexto) do not return total_count, next_cursor, or offset. Agents cannot determine if results are complete or plan pagination loops.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 51 | - | v1 |
Lista todas as constantes e variáveis exportadas da biblioteca (configurações, defaults, etc).
Complete reference for all WhatsApp/Baileys events (BaileysEventMap). Lists all 24+ events with payload types, descriptions, and production patterns.
Search and retrieve production-ready code examples for Baileys/Whaileys. 36 examples covering: text, media, interactive (buttons, lists, carousel), advanced (polls, reactions, edit, delete), groups, and connection (auth, reconnect, Redis, events). Use search to find by keyword or id to get a specific example.
Extrai interfaces, types, enums, funções, classes, variáveis e namespaces exportados usando análise de AST. Economiza tokens mostrando apenas assinaturas.
Mostra a hierarquia de herança de um tipo (extends/implements, pais e filhos).
Detailed reference for WhatsApp interactive message types: buttons, lists, templates, carousel, native flow. Shows proto structures and production-tested sending patterns.
Complete reference for WhatsApp JID/LID formats, utility functions, special JIDs, and LID migration. Covers all identifier types used in WhatsApp.
Lista todos os exports públicos da biblioteca, agrupados por módulo e categoria.
Complete reference for all WhatsApp message content types (text, image, video, audio, buttons, lists, poll, etc). Lists types by category or shows detailed info for a specific type.
List and search WAProto message fields from proto.Message. Shows all 80+ message type fields categorized by type (text, media, interactive, system, payment, group, poll, contact, location, reaction, call, status, newsletter). Parsed directly from WAProto/index.d.ts.
Get the full definition of a specific WAProto message type. Shows all fields, enums, nested types, and oneof groups. Use for types like ButtonsMessage, ListMessage, InteractiveMessage, ImageMessage, etc.
Gera um resumo estruturado de um módulo do Whaileys com contagem por categoria, arquivos e principais símbolos.
Complete reference for all WASocket methods (65+ methods across 11 categories: messaging, groups, media, connection, presence, privacy, business, calls, profile, chat, history). Lists methods by category or shows detailed info for a specific method.
Mostra mapa de tópicos práticos do Whaileys/Baileys (auth, socket, mensagens, grupos, mídia) e faz descoberta guiada por tópico.
Error responses lack recovery guidance. When a tool returns isError: true (e.g., whaileys_buscar_tipo when type not found), it suggests alternatives but does not explicitly tell the LLM what action to take next. Guidance like 'Use whaileys_buscar_fuzzy() to search with approximation' would be more actionable.
Optional parameter behavior undocumented. Tools like whaileys_categorias accept optional 'modulo' filter. The code filters types when modulo is provided, but description does not state: 'If omitted, returns all modules' or 'If omitted, filters to most common modules'. LLMs guess whether omitting a filter returns all or defaults.
Some parameter descriptions are vague. E.g., whaileys_buscar_fuzzy limit parameter: 'Número máximo de resultados (default: 20)' does not explain why 20 is chosen or what 'results' means in this context. Clearer: 'Maximum types to return (1 - 100, default 20 to balance discovery vs token cost).'
whaileys_listar_exports has no input schema defined in code sample. The tool registration shows only 'annotations: { readOnlyHint: true }' with no inputSchema property. This is a critical gap, tools MUST declare their input contract.