add_members
Add one or more users to a group chat. The bot must be an admin of the chat. Provide user_ids to add.
Run a MAX messenger bot from the model: read a chat's history, post text or media, pin and edit messages, add or remove members and admins, and poll for the direct messages the chat list never shows.
LABSCO SUMMARY
get_chats returns group chats only, so the chat_id for a personal dialog turns up nowhere except get_updates — which is also where button presses arrive, and answer_callback has to respond within 30 seconds of the press. The admin tools carry a caveat the description states outright: remove_admin can return success while the rights stay in place, and only the chat owner can reliably revoke them in the app. Removing a member is not always reversible either, since a user with privacy mode on cannot be re-added by the bot.
A bot front end for the MAX messenger API, 21 tools covering chats, messages, media, membership and event polling.
The MAX_TOKEN environment variable holding the bot's token, and the bot already added to the chats you want to reach. Editing a chat, pinning, adding or removing members and changing admin rights all need it to be an admin there.
One command — npx -y @woyax/mcp-max-messenger
USE CASES
Poll for events, since a personal dialog's chat_id appears nowhere else, read the message that arrived and answer the person directly.
Find the chat, show the typing indicator so the post does not appear from nowhere, send it, and pin it until it is stale.
Pick the callback event out of the update stream and answer it inside the 30-second window, either by rewriting the original message or with a popup.
Check the chat and who is already in it, add the user, and grant admin rights only where they are needed.
Hand over the file URL and let the tool fetch the upload URL, push the file and attach it to the message in one call.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_membersAdd one or more users to a group chat. The bot must be an admin of the chat. Provide user_ids to add.
answer_callbackRespond to an inline button click (callback event from get_updates). You can update the original message text and/or show a notification popup to the user. Must be called within 30 seconds of the button press.
delete_messageDelete a message sent by the bot. Requires the message_id.
edit_chatRename a chat, change its description, or update its icon. The bot must be an admin of the chat.
edit_messageEdit the text of an existing message sent by the bot. Optionally update attachments (inline keyboard buttons). Requires the message_id.
get_adminsGet the list of administrators in a group chat. Returns user_id, name, username, and permissions for each admin.
get_bot_infoGet information about the MAX bot: name, username, user_id, description. Use this to verify the bot is connected and working.
get_chatGet full details of a specific chat by its ID: title, description, participant count, icon, pinned message, link.
get_chat_membersGet the list of participants in a group chat. Returns user_id, name, username for each member.
get_chatsGet the list of all group chats where the bot is a participant. Returns chat_id, title, type, participant count, and last activity time. Use chat_id from results to read or send messages. NOTE: Only group chats are returned. Personal dialogs (type: dialog) are NOT included here — use get_updates to discover their chat_id.
get_messageGet a single message by its ID. Returns full message details including text, sender, attachments.
get_messagesRead messages from a MAX chat. Use either chat_id OR message_ids — they are mutually exclusive. With chat_id: returns recent messages from that chat (use count/from/to to filter). With message_ids: returns those specific messages only (do NOT provide chat_id).
get_updatesGet incoming events: new messages, button clicks, user joins/leaves, etc. This is the ONLY way to get chat_id for personal dialogs (type: dialog). Use the returned marker in the next call to get only new events. Set timeout=0 for instant response, timeout>0 for long polling (waits up to N seconds for new events). Event types: message_created, message_edited, message_removed, message_callback, bot_started, bot_added, bot_removed, user_added, user_removed, message_chat_created. NOTE: Designed for development and manual polling only. For production bots use webhooks (POST /subscriptions) — in production the update queue accumulates quickly without continuous processing.
pin_messagePin a message in a group chat. The bot must have admin rights in the chat.
remove_adminRevoke admin rights from a chat member. They remain a regular member. The bot must be an admin or owner of the chat. KNOWN MAX API BUG: The API returns success:true but rights may not actually be revoked. This is a confirmed issue on the MAX side — only the chat owner can reliably remove admin rights manually in the app.
remove_memberRemove a user from a group chat. The bot must be an admin of the chat. Optionally block the user from rejoining. WARNING: If the user has privacy mode enabled in MAX settings, the bot will not be able to re-add them after removal — confirm with the user before proceeding.
send_actionShow a typing indicator or other status to chat members. Use before sending a message to improve UX. Actions: typing_on, sending_photo, sending_video, sending_audio, sending_file, mark_seen.
send_mediaUpload a file (image/video/audio/file) from a URL and send it as a message. The tool handles the full two-step upload process automatically: 1) get MAX upload URL, 2) upload file, 3) send message with attachment. Provide either chat_id or user_id.
send_messageSend a text message to a MAX chat or user. Provide either chat_id (group chats/channels) or user_id (direct messages), not both. Supports markdown and HTML formatting. Use attachments to add inline keyboard buttons or media (use tokens from send_media).
set_adminGrant admin rights to a chat member. The bot must be an admin or owner of the chat.
unpin_messageUnpin the currently pinned message in a group chat. The bot must have admin rights.
BEFORE YOU INSTALL
21 tools when we connected.
CONTEXT COST
Rated by the size of the 21 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"max-messenger": {
"command": "npx",
"args": [
"-y",
"@woyax/mcp-max-messenger"
],
"env": {
"MAX_TOKEN": "<YOUR_MAX_TOKEN>"
}
}
}
}npx -y @woyax/mcp-max-messenger