电报确认MCP网桥
一个简单的桥梁,通过电报向MCP代理(如Antigravity)请求人类确认。
反重力配置
要将此服务器添加到Antigravity配置(或任何MCP客户端),请使用以下JSON块。
您需要替换:
- `` 使用克隆此存储库的绝对路径。
- `
使用您的Vercel部署URL(例如。,https://my-telegram-bot.vercel.app`).
{
"mcpServers": {
"telegram-bot": {
"command": "node",
"args": ["/telegram-bot-mcp/mcp-server.js"],
"env": {
"VERCEL_URL": "https://"
}
}
}
}解释
此脚本(mcp-server.js)作为a 本地代理。代理通过以下方式与它通信 stdio (标准),脚本向您的Vercel后端发出HTTP请求,管理问题传递和轮询(主动等待)以获得响应。
______________________________________________________________________
建筑
- 代理商(本地) → calls
ask_telegram_confirmation - 本地代理(
mcp-server.js) → callsPOST /api/confirmVercel - 维塞尔 → 向Telegram Bot发送消息
- 用户 → 在手机上回答“是/否”
- 电报 → 调用Webhook
POST /api/webhookVercel - 维塞尔 → 将响应保存在Redis中(Upstash)
- 本地代理 → 通过轮询接收响应
GET /api/confirm-status - 代理 → 收到结果“用户回复:是”
______________________________________________________________________
安装和部署
1.克隆和准备
git clone https://github.com/aralroca/telegram-bot-mcp.git
cd telegram-bot-mcp
npm install2.配置Telegram
- 交谈
@BotFather创建机器人(/newbot). - 保存
BOT_TOKEN. - 得到你的
CHAT_ID(向机器人发送消息并检查https://api.telegram.org/bot/getUpdates).
3.部署到Vercel
npm run deploy在Vercel中配置环境变量:
BOT_TOKEN:您的Telegram令牌。CHAT_ID:您的聊天ID。ALLOWED_USER_ID:您的数字用户ID(出于安全考虑)。
配置 升级Redis (来自Vercel Marketplace)以获得持久性。
4.配置Webhook
部署后,使用您的Vercel URL注册Telegram webhook:
https://api.telegram.org/bot/setWebhook?url=https:///api/webhook______________________________________________________________________
故障排除和提示
Vercel“401未经授权”
如果代理收到401错误,可能是由于 Vercel部署保护.
- 转到您的Vercel仪表板→ 设置 → 部署保护.
- 禁用“Vercel身份验证”.
- 这允许本地MCP代理和Telegram网络挂钩访问您的API。
2.禁止(403)
确保 ALLOWED_USER_ID 在您的Vercel环境中,变量与您的实际Telegram用户ID匹配。您可以通过向发送消息来查找您的ID @userinfobot.
3.状态持久化(Redis)
这座桥使用 瑞迪斯 在等待您的回复时跟踪问题。
- 使用 Vercel市场 添加 升级Redis.
- 确保它 连接 在您的项目中 存储 选项卡。
- 我们支持REST协议(
UPSTASH_REDIS_REST_URL)标准Redis协议(REDIS_URL). - 重新部署 连接存储后的项目。
4.连续轮询(等待状态)
如果代理在您回答“是”后仍处于“等待”状态:
- 通过访问检查Redis是否正确初始化
https:///health. - 你应该看看
"redis_initialized": true.
5.稳定的URL
始终使用 生产领域 (例如。, my-project.vercel.app)在您的反重力配置中 VERCEL_URL 环境变量。使用特定的部署URL(带有哈希的URL)将在下次部署后停止工作。
如何与Agent一起使用
要触发确认,您应该按MCP服务器的名称(在您的配置中定义,例如。, telegram-bot)在你的提示下。这有助于代理选择正确的工具。
示例提示:
- _“使用 电报机器人 在删除任何文件之前,请先征求我的确认。"_
- _“告诉 电报机器人 向我发送确认请求以继续部署。"_
接下来会发生什么:
- 代理将从调用该工具
telegram-bot服务器。 - 您将在Telegram上收到来自您的机器人的消息:
Should I proceed? Reply: YES / NO. - 在轮询Vercel时,代理将保持“等待”状态。
- 一旦你回复 是 或 不 在您的手机上,代理将收到答案并继续执行任务。
