acastellana/telebiz-mcp-skill/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.
npx skillsauth add openclaw/skills telebiz-mcpInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
MCP 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.
tools
Use when the user wants to connect to, test, or use the McDonalds service at mcp.mcd.cn, including checking authentication, probing MCP endpoints, listing tools, or calling McDonalds MCP tools through a reusable local CLI.
development
Web scraping platform — Twitter/X data, Vinted marketplace, and general web scraping API
development
SlowMist AI Agent Security Review — comprehensive security framework for skills, repositories, URLs, on-chain addresses, and products (Claude Code version)
data-ai
去除中文文本中的 AI 写作痕迹,使其读起来自然。基于维基百科 AI 写作特征指南,检测 24 种 AI 模式。触发词:humanizer-cn、去除 AI 痕迹、去除 AI 写作痕迹、中文文本人性化。