Telegram-Bridge-MCP

使用说明(Markdown)

  • 项目简介

    • 该仓库实现了一个 MCP(Model Context Protocol)服务器,用来把 Telegram 机器人作为“上下文源”和“交互入口”,提供资源、工具、提示模板等上下文相关能力,供 LLM 客户端通过 JSON-RPC 进行访问与控制。
  • 主要功能点

    • 资源管理:提供可由 MCP 客户端直接读取的资源(如行为指南、设置手册、格式化参考等)。
    • 工具注册与执行:定义多种工具,LLM/客户端可通过 MCP 调用外部功能(发送消息、等待回复、传输文件、转写语音等)。
    • Prompt 与文本渲染:支持将提示模板与主题注入逻辑,渲染出用于与用户交互的文本。
    • 会话与安全:内置会话管理、能力声明以及基于用户/聊天的安全过滤。
    • 多传输协议:默认通过 STDIO 进行本地调试,亦支持 SSE、WebSocket 等传输方式(通过 MCP 客户端接入)。
  • 安装步骤

    • 克隆仓库并安装依赖(Node.js 18+,推荐使用 pnpm)。
    • 构建项目以生成 dist 目录下的可执行文件。
    • 配置环境变量,例如 BOT_TOKEN、ALLOWED_USER_ID、ALLOWED_CHAT_ID。
    • 直接以 Node 运行 dist/index.js,或通过 MCP 客户端将服务器以 stdio 方式接入。
  • 服务器配置(MCP 客户端需要的最小信息) 为了让 MCP 客户端能够启动并连接该 MCP 服务器,提供一个配置样例(JSON)如下: { "server_name": "telegram-bridge-mcp", "servers": { "telegram": { "type": "stdio", "command": "node", "args": ["dist/index.js"], "cwd": "/absolute/path/to/telegram-bridge-mcp", "env": { "BOT_TOKEN": "YOUR_TOKEN", "ALLOWED_USER_ID": "YOUR_USER_ID", "ALLOWED_CHAT_ID": "YOUR_CHAT_ID" } } } } 说明:

    • server_name 为 MCP 服务器的名称,与仓库中的 server 启动逻辑相匹配。
    • telegram 是该 MCP 服务器对外暴露的 MCP 服务名称,type 为 stdio,command 为执行入口,args 指定运行 dist/index.js 的参数。
    • cwd 需要指向实际项目根目录的绝对路径。
    • env 中的 BOT_TOKEN、ALLOWED_USER_ID、ALLOWED_CHAT_ID 需要你在 pairing 流程中获取并填入实际值。
  • 基本使用方法

    • 在开发阶段,直接通过 Node 运行 dist/index.js,观察日志输出与交互。
    • 使用 MCP 客户端(如 VS Code 集成或 Claude Desktop 配置)将 telegram 服务接入,按照 MCP 客户端文档提供的方式对接。
    • 对于生产,请参考 README 的 Docker 方案,将镜像作为服务运行,确保环境变量正确挂载。
  • 额外信息

    • 服务器包含大量工具实现(如 send_message、notify、wait_for_message、get_updates 等),并提供资源与行为指引,便于与 LLM 客户端在同一上下文内协作。
    • 如需进一步定制,请查看 src 目录中的各工具实现,以及 server.ts/ index.ts 的入口逻辑。
  • 参考示例

    • README 中的快速开始与部署示例,包含本仓库的 Docker 使用方式和跨平台部署的要点。

服务器信息