Getting started

    MCP server

    Connect Claude, Cursor and other AI assistants to your WhatsApp inbox.

    BatZap exposes a remote Model Context Protocol server, so an AI assistant can read conversations, reply to customers, tag, assign and resolve chats, and invite people to groups. It uses the same API key, scopes and rate limits as the REST API.

    Endpoint
    https://api.batzap.com/v1/mcp

    Connect a client

    Any client that speaks Streamable HTTP can connect directly. Clients that only speak stdio can go through the mcp-remote proxy.

    mcp.json
    {
      "mcpServers": {
        "batzap": {
          "type": "http",
          "url": "https://api.batzap.com/v1/mcp",
          "headers": { "Authorization": "bzp_live_YOUR_API_KEY" }
        }
      }
    }
    Claude Code
    claude mcp add --transport http batzap https://api.batzap.com/v1/mcp \
      --header "Authorization: bzp_live_YOUR_API_KEY"

    Tools

    The tool list is filtered by the key's scopes: a tool the key cannot use is not even announced. Start with a read-only key to try it safely.

    ToolScopeWhat it does
    batzap_list_numbersanyConnected numbers and their integration_id.
    batzap_list_chatschats:readConversations, filtered by status, tag, agent, number or search.
    batzap_get_chatchats:readDetails of one conversation.
    batzap_read_messageschats:readMessage history of a contact or group.
    batzap_search_contactschats:readName or phone to contact.
    batzap_list_tagschats:readThe organization's tags.
    batzap_create_tagtags:writeCreate a tag.
    batzap_tag_chat / batzap_untag_chatchats:writeAdd or remove a tag on a conversation.
    batzap_assign_chatchats:writeAssign a conversation to an agent.
    batzap_resolve_chatchats:writeMark a conversation as resolved.
    batzap_add_notechats:writePrivate note, visible only to the team.
    batzap_reply / batzap_send_messagemessages:sendSend a WhatsApp message. Needs confirm: true.
    batzap_create_groupgroups:writeCreate a WhatsApp group. Needs confirm: true.
    batzap_invite_to_groupgroups:writeAdd people to a group, or send them the invite link. Needs confirm: true.
    batzap_get_group_invite_linkgroups:readThe group's invite link.

    Guardrails

    • Confirmation. Anything that reaches a person requires confirm: true. Without it the server returns the exact text and recipient, so a human can approve before it is sent.
    • Recipient cap. At most 5 recipients per call: an assistant cannot turn a request into a mass send.
    • No media in context. Images and audio come back as a placeholder, not base64.
    • No deleting messages. It is irreversible, so it is not exposed.

    These rules run on the server, so they cannot be loosened from the client. The transport is stateless: no session id and no server push; GET answers 405.