MCP

Integrate MAX Messenger with MCP

MCP server that connects Claude and other MCP clients to MAX Messenger, Russia's national messenger, with 21 tools covering the full Bot API.

Works with vk

96
Spark score
out of 100
Status Verified
Updated 3 months ago
Version 1.2.2

Add to Favorites

Why it matters

Connect your MAX Messenger (VK) to the MCP server, enabling advanced messaging features and member management directly within your existing communication channels.

Outcomes

What it gets done

01

Send and read messages with HTML formatting.

02

Utilize buttons and media within messages.

03

Manage members and handle incoming events.

04

Securely manage API keys and credentials.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/mcp-max-messenger | bash

Capabilities

Tools your agent gets

send_message

Send a message via MAX messenger (VK)

read_messages

Read messages from MAX messenger (VK)

format_html

Apply HTML formatting to messages

add_buttons

Add interactive buttons to messages

send_media

Send media files via MAX messenger

manage_members

Manage group members in MAX messenger

handle_incoming_events

Handle and process incoming events from MAX messenger

Overview

MCP MAX Messenger

What it does

Connects Claude Desktop, Cursor, n8n, or any MCP-compatible client to MAX Messenger, Russia's national messenger, through 21 tools covering messages, media, chats, members, and inline-button events.

How it connects

Use it to have an AI agent send or read MAX Messenger messages, manage group chats and admins, send media, or respond to button presses on behalf of a bot. Requires a MAX bot token created at max.ru.

Source README

mcp-max-messenger

npm version
License: MIT + Commons Clause

The first MCP server for MAX Messenger - Russia's national messenger by VK (75M+ users).

Connect AI clients (Claude Desktop, Cursor, n8n, and any MCP-compatible app) to MAX: send and read messages, manage chats and members, send media, handle button presses, format with HTML/Markdown - all through the open Model Context Protocol standard.

21 tools with full coverage of MAX Bot API.


Why MAX?

  • ๐Ÿ‡ท๐Ÿ‡บ National messenger mandated for pre-installation on all smartphones in Russia (September 2025)
  • ๐Ÿ“ฑ 75M+ registered users
  • ๐Ÿข Recommended by the Ministry of Digital Development for government agencies and large enterprises
  • ๐Ÿค– Full Bot API with official SDKs: TypeScript, Python, Go, Java, PHP

Quick Start

Prerequisites

  • Node.js 18+
  • A MAX bot token (create a bot at max.ru)

Claude Desktop / Cursor (stdio mode)

Add to your Claude Desktop config:

Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "max-messenger": {
      "command": "npx",
      "args": ["-y", "@woyax/mcp-max-messenger"],
      "env": {
        "MAX_TOKEN": "YOUR_BOT_TOKEN"
      }
    }
  }
}

Restart Claude Desktop. The MAX tools will appear automatically.

Remote / Hosted mode (HTTP)

MAX_TOKEN=YOUR_BOT_TOKEN MCP_TRANSPORT=http MCP_PORT=3000 npx @woyax/mcp-max-messenger

Connect any MCP client to http://your-server:3000/mcp.


Available Tools (21)

Messages

Tool Description
get_messages Read messages from a chat (by chat_id or message_ids)
send_message Send a message with text, HTML/Markdown, inline keyboard, media attachments
edit_message Edit message text and attachments
delete_message Delete a message
pin_message Pin a message in a chat
unpin_message Unpin the currently pinned message

Media

Tool Description
send_media Upload and send photo, video, audio, or file by URL
send_action Show typing indicator, "sending photo/video/audio/file", mark as read

Chats

Tool Description
get_bot_info Bot info: name, ID, username, description
get_chats List all group chats the bot participates in
get_chat Full chat details: participants, pinned message, owner
edit_chat Rename chat, change description or icon

Members

Tool Description
get_chat_members List chat members with roles
get_admins List chat administrators with permissions
set_admin Grant admin rights to a member
remove_admin Revoke admin rights
add_members Add users to a group chat
remove_member Remove a user from a group chat

Events

Tool Description
get_updates Incoming events: messages, button presses, new dialogs (long polling)
answer_callback Respond to inline button press: show notification or update message

Buttons (via send_message attachments)

5 button types supported: callback, link, message, request_contact, request_geo_location.


Usage Examples

Once connected to Claude Desktop, use natural language:

"Send a message to chat 123456789: 'The meeting starts in 10 minutes'"

"Send an approval request with Approve/Reject buttons to the team chat"

"Show me the last 10 messages from the announcements chat"

"Send this photo to the chat: https://example.com/image.jpg"

"Who are the members of the sales group? Make Alex an admin."

"Check for new incoming messages and button presses"


Configuration

Environment Variables

Variable Required Default Description
MAX_TOKEN โœ… - Your MAX bot token
MCP_TRANSPORT โŒ stdio Transport: stdio or http
MCP_PORT โŒ 3000 Port for HTTP mode

Command-line Flags

# Local stdio mode (default)
npx @woyax/mcp-max-messenger

# Remote HTTP mode
npx @woyax/mcp-max-messenger --transport http --port 3000

Architecture

Two independent layers - tools work identically in both modes:

src/
โ”œโ”€โ”€ core/               # Business logic - shared between modes
โ”‚   โ”œโ”€โ”€ max-client.ts   # MAX API HTTP client
โ”‚   โ”œโ”€โ”€ types.ts        # TypeScript types for MAX API
โ”‚   โ””โ”€โ”€ tools/
โ”‚       โ”œโ”€โ”€ bot.ts      # get_bot_info
โ”‚       โ”œโ”€โ”€ chats.ts    # get_chats, get_chat, edit_chat, send_action
โ”‚       โ”œโ”€โ”€ messages.ts # send/get/edit/delete/pin/unpin, send_media
โ”‚       โ”œโ”€โ”€ members.ts  # get_chat_members, get_admins, set/remove_admin, add/remove_members
โ”‚       โ””โ”€โ”€ updates.ts  # get_updates, answer_callback
โ”œโ”€โ”€ transports/         # Transport layer - selected at runtime
โ”‚   โ”œโ”€โ”€ stdio.ts        # Local mode (Claude Desktop, Cursor)
โ”‚   โ””โ”€โ”€ http.ts         # Remote mode (Streamable HTTP)
โ””โ”€โ”€ index.ts            # Entry point: transport selection

MAX API Notes

  • Authorization: Token passed as Authorization: <token> - no Bearer prefix
  • Base URL: https://platform-api.max.ru
  • Rate limit: 30 requests/second
  • Group chats: GET /chats returns group chats only
  • Personal dialogs: Accessible via get_updates - use the returned chat_id with all standard tools
  • Media upload: Two-step process (upload โ†’ send). Audio/video tokens come from the upload step, not the file transfer
  • HTTP transport: Uses Streamable HTTP (SSE deprecated since MCP SDK 1.10.0)

Known MAX API Issues

  • remove_admin may return success: true without actually revoking rights - confirmed bug on MAX side
  • open_app button type returns "Field 'webApp' cannot be null" - MAX API bug
  • add_members may fail with add.participant.privacy if the user has privacy mode enabled

Roadmap

  • HTTP mode testing on VPS with n8n integration
  • Hosted MCP service (connect by URL, no local install)
  • Webhook support for real-time event handling
  • answer_callback testing via n8n webhook workflow

Links


Author & Support

Built by Oleg Alekseev - ERP/AI integration architect.

Need help integrating AI agents with your ERP, CRM, or MAX? Custom MCP servers, n8n workflows, AI automation - contact me.


Trust

How it checks out

Official By maintainer
Downloads 0

Discussion

Questions & comments ยท 0

Sign In Sign in to leave a comment.