telebiz-mcp-skillAccess 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.
Install via ClawdBot CLI:
clawdbot install acastellana/telebiz-mcp-skillMCP integration for Telegram via telebiz-tt browser client.
batchAddToFolder with multiple chatIds (known bug). Loop addChatToFolder sequentially.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.ββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Clawdbot ββββββΆβ MCP Server ββββββΆβ WebSocket Relay β
β (mcporter) β β (stdio) β β (port 9716) β
ββββββββββββββββ ββββββββββββββββββββ ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Browser β
β (telebiz-tt) β
β [executor] β
βββββββββββββββββββ
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:
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
Add to HEARTBEAT.md for Clawdbot monitoring:
### Telebiz MCP (every 2h)
- [ ] Run: `cd ~/clawd/skills/telebiz-mcp && npm run health`
- [ ] If degraded/down: Alert Albert via Telegram
| Tool | Description |
|------|-------------|
| listChats | List chats with filters (type, unread, archived, etc.) |
| getChatInfo | Get detailed chat information |
| getCurrentChat | Get currently open chat |
| openChat | Navigate to a chat |
| archiveChat | Archive a chat |
| unarchiveChat | Unarchive a chat |
| pinChat | Pin a chat |
| unpinChat | Unpin a chat |
| muteChat | Mute notifications |
| unmuteChat | Unmute notifications |
| deleteChat | Delete/leave chat β οΈ |
| Tool | Description |
|------|-------------|
| sendMessage | Send text message (markdown supported) |
| forwardMessages | Forward messages between chats |
| deleteMessages | Delete messages β οΈ |
| searchMessages | Search globally or in a chat |
| getRecentMessages | Get message history |
| markChatAsRead | Mark all messages as read |
| Tool | Description |
|------|-------------|
| listFolders | List all chat folders |
| createFolder | Create a new folder |
| addChatToFolder | Add chat to folders |
| removeChatFromFolder | Remove chat from folders |
| deleteFolder | Delete a folder β οΈ |
| Tool | Description |
|------|-------------|
| getChatMembers | List group/channel members |
| addChatMembers | Add users to group |
| removeChatMember | Remove user from group |
| createGroup | Create a new group |
| Tool | Description |
|------|-------------|
| searchUsers | Search by name/username |
| getUserInfo | Get user details |
| Tool | Description |
|------|-------------|
| batchSendMessage | Send to multiple chats |
| batchAddToFolder | Add multiple chats to folder |
| batchArchive | Archive 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:
(These values come from the Telebiz UI and are the effective limits we observed in practice.)
batchAddToFolder fails for multiple chatIdsObserved behavior:
batchAddToFolder(folderId, chatIds=[one]) works (or reports alreadyIncluded)batchAddToFolder(folderId, chatIds=[two or more]) fails with: "Error: Failed to update folder"Workaround: loop sequentially:
addChatToFolder(chatId=A, folderIds=[folderId])addChatToFolder(chatId=B, folderIds=[folderId])linkEntityToChat is unstable / schema mismatchObserved behavior (Feb 2026):
linkEntityToChat returns "Validation error" for entityType=deal, contact, and company.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:
createContact/createDeal/createCompany (these link to the chat at creation time).associateEntities to connect dealβcompany/contact.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
npm run healthThe browser tab with telebiz-tt must be:
If Telegram session expires:
| Variable | Default | Description |
|----------|---------|-------------|
| TELEBIZ_PORT | 9716 | Relay WebSocket port |
| TELEBIZ_RELAY_URL | ws://localhost:9716 | Relay URL for MCP server |
| TELEBIZ_STATE_FILE | ~/.telebiz-mcp-state.json | Monitor 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.
AI Usage Analysis
Analysis is being generated⦠refresh in a few seconds.
Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
Connect to 100+ APIs (Google Workspace, Microsoft 365, GitHub, Notion, Slack, Airtable, HubSpot, etc.) with managed OAuth. Use this skill when users want to...
Build, debug, and deploy websites using HTML, CSS, JavaScript, and modern frameworks following production best practices.
YouTube Data API integration with managed OAuth. Search videos, manage playlists, access channel data, and interact with comments. Use this skill when users want to interact with YouTube. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Scaffold, test, document, and debug REST and GraphQL APIs. Use when the user needs to create API endpoints, write integration tests, generate OpenAPI specs, test with curl, mock APIs, or troubleshoot HTTP issues.
Search for jobs across LinkedIn, Indeed, Glassdoor, ZipRecruiter, Google Jobs, Bayt, Naukri, and BDJobs using the JobSpy MCP server.