Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Viber Bot in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
AnythingMCP is listed in Claude's connector directory: add it to Claude in one click (opens in a new tab), then sign in and choose which MCP servers Claude may use.
Summary
Send Viber messages from a Viber bot through the Viber REST Bot API: text with keyboards, pictures, videos, files, links, contacts, locations, stickers and rich media carousels, broadcasts to up to 300 subscribers, subscriber details and online status, and the bot's webhook. Bot authentication token.
Try asking
Example prompts for Viber Bot
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Viber Bot, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Viber Bot + Claude
Send Viber messages from a Viber bot through the Viber REST Bot API: text with keyboards, pictures, videos, files, links, contacts, locations, stickers and rich media carousels, broadcasts to up to 300 subscribers, subscriber details and online status, and the bot's webhook. Bot authentication token.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
VIBER_AUTH_TOKEN
Step 1 — Get credentials
Setting up takes about 5 minutes once you have a bot.
- You need an existing Viber bot. Since 5 February 2024 Viber creates new bots only on commercial terms: apply through Rakuten Viber or one of its official partners (see https://developers.viber.com/docs/api/rest-bot-api/). Older free bots keep working.
- Copy the bot's authentication token (app key): in the Viber app as the bot's admin under More > Settings > Bots > Edit Info > Your app key, or in the Viber Admin Panel.
- Paste it into
VIBER_AUTH_TOKEN, install the connector and runviber_get_account_infoto check it. - Viber lets a bot write to users only after a webhook is set. If your bot has none yet, set one with
viber_set_webhook: the URL must answer Viber's check with HTTP 200 and have a certificate from a trusted CA.
The connector sends; it does not receive. Viber delivers incoming messages and events only to the bot's webhook, a public HTTPS endpoint of your own.
Who can receive messages: only users subscribed to the bot. A user subscribes by messaging the bot or tapping subscribe, and can unsubscribe at any time. There is no API to list subscribers: their user ids arrive at the webhook, so the id the AI sends to must come from there. Sending to anyone else fails with receiverNotSubscribed (6) or receiverNotRegistered (5). Messaging people by phone number is a different, paid product (Viber Business Messages) and not part of the connector.
What it sends: to one subscriber, text of up to 7,000 characters (optionally with a keyboard of reply buttons), pictures, videos, files, links, contact cards, locations, stickers and rich media carousels of cards with images and buttons. Every send takes the receiver's user id and a sender name of at most 28 characters. viber_broadcast_message sends the same message to up to 300 subscribers per call, fills in each receiver's name or id where the text asks for it, and lists the receivers that did not get it.
What it reads: the bot account with its webhook, event types and subscriber count; one subscriber's name, country, language, device and Viber version (at most twice per user in 12 hours); and the online status of up to 100 subscribers. It can also set or remove the webhook; removing it closes the bot's 1-on-1 chat for users.
Confirm before sending: every message reaches a real person, and commercial bots pay for messages outside a session the user opened. The AI shows the text and the receivers and waits for your yes.
Formats: every answer has status (0 = ok) and status_message, and any other status comes back as an error. A sent message returns message_token. billing_status 0 to 4 means not charged, 5 a charged message outside a session. Times are Unix milliseconds.
Limits: a request must stay under 30 KB. Pictures are JPEG, PNG or static GIF up to 1 MB on iOS (3 MB on Android) with the extension in the URL, videos MP4 up to 26 MB and 180 seconds, files up to 50 MB (executables are refused). Broadcasts allow 500 requests in 10 seconds. freeMessagesExceeded (23) or noBalance (24) means the monthly free messages or the balance are used up.
Common errors (status): 2 invalid token, 5 receiver not on Viber, 6 receiver not subscribed, 7 bot blocked, 9 bot suspended, 10 no webhook set, 11 the receiver's Viber is too old, 12 too many requests, 21 country not supported.
The connector does not receive or read incoming messages, list subscribers or send messages to phone numbers.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Claude
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Recommended path: works on claude.ai web without editing any config file.
- In Claude, open Customize → Connectors.
- Click +, then Add custom connector.
- Enter a name, e.g.
Viber Bot, and the remote MCP server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID, then click Add. - Click Connect and sign in to AnythingMCP (OAuth) to allow access.
All tools below appear in your chat: start typing prompts.
Available tools
| Tool | What it does |
|---|---|
viber_get_account_info | Details of the bot account: id, name, uri, icon, category, country, the webhook URL and its event_types, and subscribers_count |
viber_get_user_details | Details of one subscribed user: name, avatar, country, language, primary device OS, device type, Viber and API version |
viber_get_online | Online status of up to 100 subscribed users. online_status: 0 online, 1 offline (with last_online in Unix ms), 2 hidden by the user, 3 try… |
viber_send_text | Send a text message (up to 7,000 characters) to one subscribed user, optionally with a keyboard of reply buttons |
viber_send_picture | Send a picture (JPEG, PNG or static GIF from a URL) with a caption to one subscribed user |
viber_send_video | Send an MP4 video (H.264, up to 26 MB and 180 seconds) from a URL to one subscribed user |
viber_send_file | Send a file (up to 50 MB, from a URL) to one subscribed user, e.g. a PDF invoice |
viber_send_url | Send a link (up to 2,000 characters) to one subscribed user; Viber shows a preview |
viber_send_contact | Send a contact card (name and phone number) to one subscribed user |
viber_send_location | Send a location pin (latitude and longitude) to one subscribed user |
viber_send_sticker | Send a Viber sticker by its numeric sticker id to one subscribed user |
viber_send_rich_media | Send a rich media message (a carousel of cards with images, text and buttons) to one subscribed user |
viber_broadcast_message | Send the same message to up to 300 subscribed users in one call |
viber_set_webhook | Set the bot's webhook, the HTTPS endpoint where Viber delivers incoming messages and events |
viber_remove_webhook | Remove the bot's webhook |
Example prompts
- "How many subscribers does my Viber bot have, and which webhook does it use?"
- "Send subscriber 01234567890A== the text: Your order has shipped. Add Yes and No reply buttons."
- "Broadcast our weekend opening hours to these 120 subscriber ids, then tell me which ones failed."
- "Which of these 20 subscribers are online right now?"
- "Send a carousel of three products, each with a picture, a price and a Buy button that opens the product page."
FAQ
Does it work with Claude Code as well as Claude Desktop? Yes, point both at https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID.
Next steps
- Connector landing page
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
- Connect to Microsoft Copilot
Was this guide helpful?