Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Access Telegram data via MCP using the telebiz-tt browser client. Lists chats, reads messages, searches, manages folders, and sends messages through an authenticated Telegram session.
Access Telegram data via MCP using the telebiz-tt browser client. Lists chats, reads messages, searches, manages folders, and sends messages through an authenticated Telegram session.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
MCP integration for Telegram via telebiz-tt browser client.
Rate limits are strict: max 20 calls/request, 30 calls/min, 500ms between calls, heavy ops 1s. For adding many chats to folders: do NOT use batchAddToFolder with multiple chatIds (known bug). Loop addChatToFolder sequentially. For CRM linking: linkEntityToChat is unstable in our tests. We observed company failing with Validation error, and at one point organization succeeding β but later organization also failed. Treat linkEntityToChat as unreliable until upstream clarifies schema/feature flags. Prefer reversible operations and clean up test artifacts (folders, groups) immediately.
ββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ β Clawdbot ββββββΆβ MCP Server ββββββΆβ WebSocket Relay β β (mcporter) β β (stdio) β β (port 9716) β ββββββββββββββββ ββββββββββββββββββββ ββββββββββ¬βββββββββ β βΌ βββββββββββββββββββ β Browser β β (telebiz-tt) β β [executor] β βββββββββββββββββββ
Node.js 18+ Telegram account
npm install -g @telebiz/telebiz-mcp
Go to https://telebiz.io and login with your Telegram account.
cd ~/clawd/skills/telebiz-mcp ./start-http.sh This starts a persistent server that: Runs telebiz-mcp internally Keeps browser connection alive Exposes HTTP API on port 9718
In telebiz.io: Settings β Agent β Local MCP The status should show "Connected" once the server is running.
# Quick health check cd ~/clawd/skills/telebiz-mcp npm run health # Should show: # π± Telebiz MCP Status # ββββββββββββββββββββ # Relay: β Running # Executor: β Connected # Tools: 31 available
cd ~/clawd mcporter call telebiz.listChats limit:5
# Check status npm run health # JSON output for automation node dist/health.js --json
The monitor tracks state changes and can be used with cron: # Check and alert on changes npm run monitor # Quiet mode - only output on state change node dist/monitor.js --quiet # JSON output node dist/monitor.js --json Exit codes: 0 = Healthy (relay up, executor connected) 1 = Degraded (relay up, executor disconnected) 2 = Down (relay not running) 3 = State changed (for alerting)
Add to crontab for periodic monitoring: # Check every 5 minutes, alert on changes */5 * * * * cd ~/clawd/skills/telebiz-mcp && node dist/monitor.js --quiet >> /var/log/telebiz-monitor.log 2>&1
ToolDescriptionlistChatsList chats with filters (type, unread, archived, etc.)getChatInfoGet detailed chat informationgetCurrentChatGet currently open chatopenChatNavigate to a chatarchiveChatArchive a chatunarchiveChatUnarchive a chatpinChatPin a chatunpinChatUnpin a chatmuteChatMute notificationsunmuteChatUnmute notificationsdeleteChatDelete/leave chat β οΈ
ToolDescriptionsendMessageSend text message (markdown supported)forwardMessagesForward messages between chatsdeleteMessagesDelete messages β οΈsearchMessagesSearch globally or in a chatgetRecentMessagesGet message historymarkChatAsReadMark all messages as read
ToolDescriptionlistFoldersList all chat folderscreateFolderCreate a new folderaddChatToFolderAdd chat to foldersremoveChatFromFolderRemove chat from foldersdeleteFolderDelete a folder β οΈ
ToolDescriptiongetChatMembersList group/channel membersaddChatMembersAdd users to groupremoveChatMemberRemove user from groupcreateGroupCreate a new group
ToolDescriptionsearchUsersSearch by name/usernamegetUserInfoGet user details
ToolDescriptionbatchSendMessageSend to multiple chatsbatchAddToFolderAdd multiple chats to folderbatchArchiveArchive multiple chats
mcporter call telebiz.listChats iAmLastSender=false hasUnread=true limit:20
mcporter call telebiz.listChats iAmLastSender=true lastMessageOlderThanDays:7 limit:20
mcporter call telebiz.searchMessages query="invoice" limit:20
mcporter call telebiz.searchMessages query="meeting" chatId=-1001234567890 limit:10
mcporter call telebiz.sendMessage chatId=-1001234567890 text="Hello from Clawdbot!"
mcporter call telebiz.getRecentMessages chatId=-1001234567890 limit:50
# Page 1 (newest 50) mcporter call telebiz.getRecentMessages chatId=-1001234567890 limit:50 offset:0 # Page 2 (messages 51-100) mcporter call telebiz.getRecentMessages chatId=-1001234567890 limit:50 offset:50
# List folders mcporter call telebiz.listFolders # Add chats to folder mcporter call telebiz.batchAddToFolder chatIds='["-1001234","-1001235"]' folderId:5
The browser enforces rate limits to prevent Telegram flood protection: Max calls per request: 20 Max calls per minute: 30 Min delay between calls: 500ms Delay for heavy operations (send/forward/delete): 1s (These values come from the Telebiz UI and are the effective limits we observed in practice.)
Observed behavior: batchAddToFolder(folderId, chatIds=[one]) works (or reports alreadyIncluded) batchAddToFolder(folderId, chatIds=[two or more]) fails with: "Error: Failed to update folder" Repro confirmed for both: Auto + another group Auto + a private chat Workaround: loop sequentially: addChatToFolder(chatId=A, folderIds=[folderId]) addChatToFolder(chatId=B, folderIds=[folderId])
Observed behavior (Feb 2026): linkEntityToChat returns "Validation error" for entityType=deal, contact, and company. In one run, using entityType="organization" successfully linked a HubSpot company to a chat β but later organization also returned "Validation error". Implication: this tool is either behind a feature flag, has changing server-side validation, or the published schema/enums donβt match what the backend expects. Workaround: Prefer linking via createContact/createDeal/createCompany (these link to the chat at creation time). Use associateEntities to connect dealβcompany/contact. Donβt depend on linkEntityToChat until upstream provides a stable contract + better error messages.
# Check if port is in use ss -tlnp | grep 9716 # Kill existing process pkill -f "relay.js" # Start fresh ./start-relay.sh
Verify relay is running: npm run health Check browser console (F12) for WebSocket errors Ensure MCP is enabled in Settings β Agent β Enable MCP Try refreshing the telebiz-tt page
The browser tab with telebiz-tt must be: Open and visible (not suspended) Logged into Telegram MCP enabled in settings
Reduce batch sizes Add delays between operations Be more specific in filters to reduce API calls
If Telegram session expires: Refresh the telebiz-tt browser page Re-login if prompted Re-enable MCP in settings
VariableDefaultDescriptionTELEBIZ_PORT9716Relay WebSocket portTELEBIZ_RELAY_URLws://localhost:9716Relay URL for MCP serverTELEBIZ_STATE_FILE~/.telebiz-mcp-state.jsonMonitor state file
Located at ~/clawd/config/mcporter.json: { "mcpServers": { "telebiz": { "url": "http://localhost:9718/mcp" } } } Note: Use the HTTP URL (not stdio) to avoid spawning conflicts.
The browser holds your Telegram session - keep it secure Don't expose the relay port (9716) to the internet Review tool calls before executing destructive operations Rate limits help prevent accidental spam
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.