Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Waha Mcp

    0 stars
    JavaScript
    Updated Oct 18, 2025

    Table of Contents

    • Features
    • Installation
    • Configuration
    • Development
    • Build the project
    • Run in development mode with auto-reload
    • Test with MCP Inspector
    • Run in production
    • Usage with Claude Desktop
    • Available Tools
    • Chat Management
    • Messaging
    • Groups
    • Contacts
    • Presence
    • MCP Resources
    • Available Resources
    • Project Structure
    • Chat ID Format
    • License

    Table of Contents

    • Features
    • Installation
    • Configuration
    • Development
    • Build the project
    • Run in development mode with auto-reload
    • Test with MCP Inspector
    • Run in production
    • Usage with Claude Desktop
    • Available Tools
    • Chat Management
    • Messaging
    • Groups
    • Contacts
    • Presence
    • MCP Resources
    • Available Resources
    • Project Structure
    • Chat ID Format
    • License

    Documentation

    WAHA MCP Server

    A Model Context Protocol (MCP) server that enables AI assistants to interact with WhatsApp through the WAHA (WhatsApp HTTP API) platform.

    Features

    • Chat Management: Get overview of recent WhatsApp chats
    • Message Operations: Retrieve, send, and mark messages as read
    • MCP Resources: Access WhatsApp data as context-aware resources with caching
    • MCP Integration: Full compatibility with MCP clients (stdio transport)

    Installation

    1. Clone this repository

    2. Install dependencies:

    bash
    npm install

    3. Configure your WAHA API connection:

    bash
    cp .env.example .env

    Then edit .env with your WAHA instance details.

    Configuration

    Required environment variables in .env:

    • WAHA_BASE_URL: Your WAHA server URL (e.g., http://localhost:3000)
    • WAHA_API_KEY: Your WAHA API key for authentication
    • WAHA_SESSION: WhatsApp session name (default: default)

    Development

    Build the project

    bash
    npm run build

    Run in development mode with auto-reload

    bash
    npm run dev

    Test with MCP Inspector

    The MCP Inspector is a web-based tool to test your MCP server interactively:

    bash
    npm run inspector

    This will:

    1. Start the WAHA MCP server

    2. Launch the MCP Inspector web UI

    3. Open your browser automatically

    Use the inspector to:

    • Test all tools interactively
    • View tool schemas
    • See request/response data
    • Debug tool calls

    Run in production

    bash
    npm start

    Usage with Claude Desktop

    Add this to your Claude Desktop MCP configuration:

    Windows:

    json
    {
      "mcpServers": {
        "waha": {
          "command": "node",
          "args": ["C:\\Users\\YourUsername\\path\\to\\waha\\dist\\index.js"],
          "env": {
            "WAHA_BASE_URL": "http://localhost:3000",
            "WAHA_API_KEY": "your-api-key-here",
            "WAHA_SESSION": "default"
          }
        }
      }
    }

    Mac/Linux:

    json
    {
      "mcpServers": {
        "waha": {
          "command": "node",
          "args": ["/absolute/path/to/waha-mcp-server/dist/index.js"],
          "env": {
            "WAHA_BASE_URL": "http://localhost:3000",
            "WAHA_API_KEY": "your-api-key-here",
            "WAHA_SESSION": "default"
          }
        }
      }
    }

    Note: Windows users should use double backslashes (\\) in paths.

    Available Tools

    Chat Management

    ToolDescription
    waha_get_chatsGet overview of recent WhatsApp chats
    waha_get_messagesGet messages from a specific chat
    waha_mark_chat_readMark messages in a chat as read
    waha_mark_chat_unreadMark a chat as unread
    waha_clear_chat_messagesClear all messages from a chat (destructive)
    waha_delete_chatDelete a chat completely (destructive)
    waha_archive_chatArchive a chat
    waha_unarchive_chatUnarchive a chat
    waha_get_chat_pictureGet the profile picture URL for a chat

    Messaging

    ToolDescription
    waha_send_messageSend a text message to a chat
    waha_send_mediaSend images, videos, or documents
    waha_send_audioSend audio/voice messages
    waha_send_locationSend location coordinates
    waha_send_contactSend contact card(s) using vCard format
    waha_edit_messageEdit a sent message (own messages only)
    waha_delete_messageDelete a specific message (destructive)
    waha_pin_messagePin a message in a chat
    waha_unpin_messageUnpin a message in a chat
    waha_react_to_messageAdd or remove an emoji reaction
    waha_star_messageStar or unstar a message

    Groups

    ToolDescription
    waha_get_groupsList all groups with filtering and pagination
    waha_get_groups_countGet total number of groups
    waha_get_group_infoGet detailed info about a specific group
    waha_get_group_pictureGet group profile picture URL
    waha_set_group_pictureSet or update group profile picture
    waha_delete_group_pictureRemove group profile picture
    waha_create_groupCreate a new WhatsApp group
    waha_update_group_subjectChange group name/subject
    waha_update_group_descriptionUpdate group description
    waha_leave_groupLeave a group
    waha_get_group_participantsList all members in a group
    waha_add_group_participantsAdd member(s) to a group (admin required)
    waha_remove_group_participantsRemove member(s) from a group (admin required)
    waha_promote_group_adminPromote participant(s) to admin (admin required)
    waha_demote_group_adminRemove admin privileges (admin required)
    waha_get_group_invite_codeGet group invite link
    waha_revoke_group_invite_codeRevoke invite link and generate a new one (admin required)
    waha_join_groupJoin a group using an invite code/link
    waha_get_group_join_infoGet group info from invite link without joining
    waha_set_group_messages_admin_onlyToggle admin-only messaging (admin required)
    waha_set_group_info_admin_onlyToggle admin-only group info editing (admin required)

    Contacts

    ToolDescription
    waha_get_contactGet contact information by ID
    waha_get_all_contactsList all contacts with pagination
    waha_check_contact_existsCheck if a phone number is registered on WhatsApp
    waha_get_contact_aboutGet contact's about/status text
    waha_get_contact_profile_pictureGet contact's profile picture URL
    waha_block_contactBlock a contact
    waha_unblock_contactUnblock a contact

    Presence

    ToolDescription
    waha_get_presenceGet online/offline/typing status for a chat
    waha_subscribe_presenceSubscribe to presence updates for a chat
    waha_get_all_presenceGet all subscribed presence information
    waha_set_presenceSet your own presence status (online, offline, typing, etc.)

    MCP Resources

    In addition to tools, the server exposes MCP Resources for context-aware data access:

    Available Resources

    • waha://chats/overview - Recent chats with last message previews
    • waha://chat/{chatId}/messages - Message history from a specific chat

    Resources support query parameters for filtering and pagination. Data is cached for 5 minutes for performance.

    Project Structure

    code
    waha-mcp-server/
    ├── src/
    │   ├── index.ts              # Server entry point
    │   ├── config.ts             # Configuration management
    │   ├── types/                # TypeScript type definitions
    │   ├── tools/                # MCP tool implementations
    │   ├── resources/            # MCP resource implementations
    │   │   ├── base/             # Base resource class
    │   │   ├── implementations/  # Concrete resources
    │   │   ├── cache/            # LRU caching layer
    │   │   └── manager/          # Resource registry
    │   └── client/               # WAHA API client
    ├── dist/                     # Built JavaScript output
    ├── .env                      # Your configuration (not in git)
    ├── .env.example              # Configuration template
    ├── package.json
    └── tsconfig.json

    Chat ID Format

    WhatsApp chat IDs have specific formats:

    • Individual chats: @c.us (e.g., 1234567890@c.us)
    • Group chats: @g.us (e.g., 123456789012345678@g.us)

    You can get chat IDs by using the waha_get_chats tool first.

    License

    ISC

    Similar MCP

    Based on tags & features

    • WI

      Wizzy Mcp Tmdb

      JavaScript00
    • RI

      Rijksmuseum Mcp

      JavaScript·
      59
    • MC

      Mcp Server Playwright

      JavaScript·
      262
    • CH

      Chuk Mcp Linkedin

      Python00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • WI

      Wizzy Mcp Tmdb

      JavaScript00
    • RI

      Rijksmuseum Mcp

      JavaScript·
      59
    • MC

      Mcp Server Playwright

      JavaScript·
      262
    • CH

      Chuk Mcp Linkedin

      Python00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k