← 返回
安全合规 中文

Telebiz Mcp

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.
通过 telebiz-tt 浏览器客户端利用 MCP 访问 Telegram 数据。支持列出聊天、读取消息、搜索、管理文件夹以及通过已认证的 Telegram 会话发送消息。
acastellana
安全合规 clawhub v0.1.0 1 版本 99818.3 Key: 无需
★ 1
Stars
📥 2,178
下载
💾 41
安装
1
版本
#latest

概述

telebiz-mcp

MCP integration for Telegram via telebiz-tt browser client.

Quick Rules (read this first)

  • 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.

Architecture

┌──────────────┐     ┌──────────────────┐     ┌─────────────────┐
│ Clawdbot     │────▶│ MCP Server       │────▶│ WebSocket Relay │
│ (mcporter)   │     │ (stdio)          │     │ (port 9716)     │
└──────────────┘     └──────────────────┘     └────────┬────────┘
                                                       │
                                                       ▼
                                              ┌─────────────────┐
                                              │ Browser         │
                                              │ (telebiz-tt)    │
                                              │ [executor]      │
                                              └─────────────────┘

Quick Setup

Prerequisites

  • Node.js 18+
  • Telegram account

1. Install telebiz-mcp

npm install -g @telebiz/telebiz-mcp

2. Open Telebiz in browser

Go to https://telebiz.io and login with your Telegram account.

3. Start the HTTP server

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

4. Enable MCP in Telebiz

In telebiz.io: Settings → Agent → Local MCP

The status should show "Connected" once the server is running.

4. Verify connection

# Quick health check
cd ~/clawd/skills/telebiz-mcp
npm run health

# Should show:
# 📱 Telebiz MCP Status
# ────────────────────
# Relay: ✅ Running
# Executor: ✅ Connected
# Tools: 31 available

5. Test via mcporter

cd ~/clawd
mcporter call telebiz.listChats limit:5

Health Monitoring

Manual Check

# Check status
npm run health

# JSON output for automation
node dist/health.js --json

Monitor Script

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)

Cron Integration

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

Heartbeat Integration

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

Available Tools

Chat Tools

ToolDescription
-------------------
listChatsList chats with filters (type, unread, archived, etc.)
getChatInfoGet detailed chat information
getCurrentChatGet currently open chat
openChatNavigate to a chat
archiveChatArchive a chat
unarchiveChatUnarchive a chat
pinChatPin a chat
unpinChatUnpin a chat
muteChatMute notifications
unmuteChatUnmute notifications
deleteChatDelete/leave chat ⚠️

Message Tools

ToolDescription
-------------------
sendMessageSend text message (markdown supported)
forwardMessagesForward messages between chats
deleteMessagesDelete messages ⚠️
searchMessagesSearch globally or in a chat
getRecentMessagesGet message history
markChatAsReadMark all messages as read

Folder Tools

ToolDescription
-------------------
listFoldersList all chat folders
createFolderCreate a new folder
addChatToFolderAdd chat to folders
removeChatFromFolderRemove chat from folders
deleteFolderDelete a folder ⚠️

Member Tools

ToolDescription
-------------------
getChatMembersList group/channel members
addChatMembersAdd users to group
removeChatMemberRemove user from group
createGroupCreate a new group

User Tools

ToolDescription
-------------------
searchUsersSearch by name/username
getUserInfoGet user details

Batch Tools

ToolDescription
-------------------
batchSendMessageSend to multiple chats
batchAddToFolderAdd multiple chats to folder
batchArchiveArchive multiple chats

Usage Examples

Find chats waiting for my reply

mcporter call telebiz.listChats iAmLastSender=false hasUnread=true limit:20

Find stale conversations I started

mcporter call telebiz.listChats iAmLastSender=true lastMessageOlderThanDays:7 limit:20

Search all messages

mcporter call telebiz.searchMessages query="invoice" limit:20

Search in specific chat

mcporter call telebiz.searchMessages query="meeting" chatId=-1001234567890 limit:10

Send message

mcporter call telebiz.sendMessage chatId=-1001234567890 text="Hello from Clawdbot!"

Get recent messages

mcporter call telebiz.getRecentMessages chatId=-1001234567890 limit:50

Paginate through history

# 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

Organize chats

# List folders
mcporter call telebiz.listFolders

# Add chats to folder
mcporter call telebiz.batchAddToFolder chatIds='["-1001234","-1001235"]' folderId:5

Rate Limiting

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.)

Known Issues / Workarounds (Feb 2026)

batchAddToFolder fails for multiple chatIds

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])

linkEntityToChat is unstable / schema mismatch

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.

Troubleshooting

Relay not starting

# Check if port is in use
ss -tlnp | grep 9716

# Kill existing process
pkill -f "relay.js"

# Start fresh
./start-relay.sh

Browser not connecting

  1. Verify relay is running: npm run health
  2. Check browser console (F12) for WebSocket errors
  3. Ensure MCP is enabled in Settings → Agent → Enable MCP
  4. Try refreshing the telebiz-tt page

"Executor not connected" error

The browser tab with telebiz-tt must be:

  • Open and visible (not suspended)
  • Logged into Telegram
  • MCP enabled in settings

Rate limit errors

  • Reduce batch sizes
  • Add delays between operations
  • Be more specific in filters to reduce API calls

Session expired

If Telegram session expires:

  1. Refresh the telebiz-tt browser page
  2. Re-login if prompted
  3. Re-enable MCP in settings

Configuration

Environment Variables

VariableDefaultDescription
--------------------------------
TELEBIZ_PORT9716Relay WebSocket port
TELEBIZ_RELAY_URLws://localhost:9716Relay URL for MCP server
TELEBIZ_STATE_FILE~/.telebiz-mcp-state.jsonMonitor state file

mcporter Config

Located at ~/clawd/config/mcporter.json:

{
  "mcpServers": {
    "telebiz": {
      "url": "http://localhost:9718/mcp"
    }
  }
}

Note: Use the HTTP URL (not stdio) to avoid spawning conflicts.

Security Notes

  • 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

版本历史

共 1 个版本

  • v0.1.0 当前
    2026-03-28 16:55 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

security-compliance

MoltGuard - Security & Antivirus & Guardrails

thomaslwang
MoltGuard — OpenClaw 安全守卫,由 OpenGuardrails 提供。安装 MoltGuard,保护您和您的用户免受提示注入、数据泄露和恶意攻击。
★ 116 📥 30,706
developer-tools

Genlayer Claw Skill

acastellana
解释并讨论 GenLayer——一种 AI 原生区块链,通过智能合约和多 LLM 验证器实现无信任、基于共识的决策。
★ 1 📥 1,970
security-compliance

OpenClaw Backup

alex3alex
备份与恢复 OpenClaw 数据。适用于创建备份、设置自动备份计划、从备份恢复或管理备份轮转。处理 ~/.openclaw 目录归档并包含适当的排除规则。
★ 89 📥 30,594