Skip to main content
Glama
yehudashtein

wa-bridge-mcp

by yehudashtein

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WHATSAPP_BRIDGE_URLNoBridge base URL (include /v1)https://api.api-supp.com/v1
WHATSAPP_BRIDGE_TOKENYesYour tenant bearer token (wat_…) — keep it secret
WHATSAPP_HTTP_TIMEOUTNoPer-request timeout (seconds)30

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_contactsC

Search WhatsApp contacts by name or phone number.

Args:
    query: Search term to match against contact names or phone numbers
list_messagesB

Get WhatsApp messages matching specified criteria with optional context.

Args:
    after: Optional ISO-8601 formatted string to only return messages after this date
    before: Optional ISO-8601 formatted string to only return messages before this date
    sender_phone_number: Optional phone number to filter messages by sender
    chat_jid: Optional chat JID to filter messages by chat
    query: Optional search term to filter messages by content
    limit: Maximum number of messages to return (default 20)
    page: Page number for pagination (default 0)
    include_context: Whether to include messages before and after matches (default True)
    context_before: Number of messages to include before each match (default 1)
    context_after: Number of messages to include after each match (default 1)
    include_groups: Whether to include group chat messages (default False)
list_chatsA

Get WhatsApp chats matching specified criteria.

Args:
    query: Optional search term to filter chats by name or JID
    limit: Maximum number of chats to return (default 20)
    page: Page number for pagination (default 0)
    include_last_message: Whether to include the last message in each chat (default True)
    sort_by: Field to sort results by, either "last_active" or "name" (default "last_active")
get_chatB

Get WhatsApp chat metadata by JID.

Args:
    chat_jid: The JID of the chat to retrieve
    include_last_message: Whether to include the last message (default True)
get_direct_chat_by_contactC

Get WhatsApp chat metadata by sender phone number.

Args:
    sender_phone_number: The phone number to search for
get_contact_chatsB

Get all WhatsApp chats involving the contact.

Args:
    jid: The contact's JID to search for
    limit: Maximum number of chats to return (default 20)
    page: Page number for pagination (default 0)
get_last_interactionC

Get most recent WhatsApp message involving the contact.

Args:
    jid: The JID of the contact to search for
get_message_contextA

Get context around a specific WhatsApp message.

Args:
    message_id: The ID of the message to get context for
    before: Number of messages to include before the target message (default 5)
    after: Number of messages to include after the target message (default 5)
send_messageA

Send a WhatsApp message to a person or group. For group chats use the JID.

Args:
    recipient: The recipient - either a phone number with country code but no + or other symbols,
             or a JID (e.g., "123456789@s.whatsapp.net" or a group JID like "123456789@g.us")
    message: The message text to send

Returns:
    A dictionary containing success status and a status message
send_fileB

Send a file such as a picture, raw audio, video or document via WhatsApp to the specified recipient. For group messages use the JID.

Args:
    recipient: The recipient - either a phone number with country code but no + or other symbols,
             or a JID (e.g., "123456789@s.whatsapp.net" or a group JID like "123456789@g.us")
    media_path: The absolute path to the media file to send (image, video, document)

Returns:
    A dictionary containing success status and a status message
send_audio_messageA

Send any audio file as a WhatsApp audio message to the specified recipient. For group messages use the JID. If it errors due to ffmpeg not being installed, use send_file instead.

Args:
    recipient: The recipient - either a phone number with country code but no + or other symbols,
             or a JID (e.g., "123456789@s.whatsapp.net" or a group JID like "123456789@g.us")
    media_path: The absolute path to the audio file to send (will be converted to Opus .ogg if it's not a .ogg file)

Returns:
    A dictionary containing success status and a status message
download_mediaC

Download media from a WhatsApp message and get the local file path.

Args:
    message_id: The ID of the message containing the media
    chat_jid: The JID of the chat containing the message

Returns:
    A dictionary containing success status, a status message, and the file path if successful
sync_historyA

Trigger a WhatsApp history sync to fetch missed messages from the server. Use this when messages appear to be missing or after a bridge restart.

Returns:
    A dictionary containing success status and a status message

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 13 tools

Disambiguation3/5

Most tools are distinct, but the read side has several overlapping lookups: get_chat vs. get_direct_chat_by_contact, get_last_interaction vs. list_messages (limit 1 filtered by contact), and get_message_context vs. list_messages with include_context all return similar data via different entry points. send_audio_message vs. send_file also overlap, though the description explicitly disambiguates them.

Naming Consistency4/5

All tools use snake_case with a verb_noun structure (search_contacts, list_messages, send_file, get_message_context), which is predictable and readable. Minor irregularity from compound names like get_direct_chat_by_contact, but the convention holds throughout.

Tool Count4/5

13 tools is a well-scoped count for a WhatsApp bridge covering read, send, media, and sync workflows. Slightly lean toward redundant read helpers (get_direct_chat_by_contact could fold into get_chat), but nothing is gratuitous.

Completeness4/5

Core lifecycle is covered: contacts, chats, messages, context, media download, history sync, and sending text/file/audio. Gaps exist for message deletion, forwarding, reactions, and read receipts, which agents may need but can work around.

Maintenance

ActivityMaintained
ResponsivenessNo issues