Max Messenger

io.github.woyaxnini由 GitHub 帳號 woyaxnini 發布v1.2.2更新於 Oct 24, 2026

MCP server for MAX Messenger by VK. 21 tools: messages, media, buttons, members, events.

已驗證STDIO僅桌面效率與工作流溝通與協作

概覽

AI 產生的概覽

針對 MAX Messenger(VK)的本機 MCP 伺服器,讓助理透過 MAX 機器人收發、編輯與管理訊息、媒體、群組聊天和成員。

可以做什麼
讀取、傳送、編輯、刪除、置頂與取消置頂訊息,支援 HTML/Markdown 文字與內嵌按鈕,並可依網址傳送圖片、影片、音訊或檔案,以及透過 send_action 顯示輸入中、已讀等狀態。列出群組聊天、取得聊天詳情,並重新命名聊天或變更其描述與圖示。列出成員與管理員,授予或撤銷管理員權限,新增或移除群組成員。輪詢接收訊息與按鈕點擊等事件,並回應內嵌按鈕回呼。
適用情境
當助理需要在 MAX Messenger 聊天中工作時使用:發布公告或帶按鈕的審批請求、讀取近期訊息、傳送媒體,或管理群組成員與管理員。
執行需求
需要 Node.js 18+,透過 npx 執行本機 npm 套件。需要於 max.ru 建立的 MAX 機器人權杖,放在 MAX_TOKEN 環境變數中。託管 HTTP 模式可選用 MCP_TRANSPORT(stdio 或 http)與 MCP_PORT。需要連線至 MAX API 的網路存取。
安裝前請注意
MAX_TOKEN 機器人權杖屬於機密,會以不帶 Bearer 前綴的 Authorization 標頭直接送出。許多工具會寫入或變更資料:傳送、編輯與刪除訊息,重新命名聊天,授予或撤銷管理員權限,新增或移除成員。README 指出 remove_admin 可能回報成功但實際未撤銷權限。HTTP 模式會在連接埠上暴露此伺服器。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Max Messenger,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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

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)

bash
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

ToolDescription
get_messagesRead messages from a chat (by chat_id or message_ids)
send_messageSend a message with text, HTML/Markdown, inline keyboard, media attachments
edit_messageEdit message text and attachments
delete_messageDelete a message
pin_messagePin a message in a chat
unpin_messageUnpin the currently pinned message

Media

ToolDescription
send_mediaUpload and send photo, video, audio, or file by URL
send_actionShow typing indicator, "sending photo/video/audio/file", mark as read

Chats

ToolDescription
get_bot_infoBot info: name, ID, username, description
get_chatsList all group chats the bot participates in
get_chatFull chat details: participants, pinned message, owner
edit_chatRename chat, change description or icon

Members

ToolDescription
get_chat_membersList chat members with roles
get_adminsList chat administrators with permissions
set_adminGrant admin rights to a member
remove_adminRevoke admin rights
add_membersAdd users to a group chat
remove_memberRemove a user from a group chat

Events

ToolDescription
get_updatesIncoming events: messages, button presses, new dialogs (long polling)
answer_callbackRespond 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

VariableRequiredDefaultDescription
MAX_TOKEN✅—Your MAX bot token
MCP_TRANSPORT❌stdioTransport: stdio or http
MCP_PORT❌3000Port for HTTP mode

Command-line Flags

bash
# Local stdio mode (default)npx @woyax/mcp-max-messenger
# Remote HTTP modenpx @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.


License

MIT + Commons Clause © Oleg Alekseev

Free to use for personal and corporate purposes. Selling as a hosted service requires author's permission. See LICENSE for details.

來源:README.md,提交 4a3233a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.2.2最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。