Telegram消息发送服务

一个用于通过Telegram发送消息的Model Context Protocol (MCP)服务器,支持HTML、Markdown等多种格式的消息发送。

  • by junlyang
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 junlyang/telegram-mcp

使用说明

Telegram MCP 服务器

这是用于发送Telegram消息的模型上下文协议(MCP)服务器。

功能

  • 发送消息向Telegram聊天室发送消息
    • 最多支持4096个字符
    • 支持HTML、Markdown、MarkdownV2格式

安装

1. 安装依赖项

pnpm install

2. 设置环境变量

.env.example复制 .env生成后输入以下值:

cp .env.example .env

必需的环境变量

  • TELEGRAM_BOT_TOKEN由@BotFather生成的机器人令牌
  • TELEGRAM_CHAT_ID接收消息的聊天ID

3. 构建(或编译)

pnpm build

用法

在Claude上注册MCP服务器

要在云端使用这个MCP服务器, .claude/mcp.json 在文件中应做如下设置:

{
  "mcpServers": {
    "telegram": {
      "command": "node",
      "args": ["dist/index.js"],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your_bot_token",
        "TELEGRAM_CHAT_ID": "your_chat_id"
      }
    }
  }
}

使用工具

发送消息

将信息发送到Telegram。

参数:

  • message (必填):要发送的消息内容(最多4096个字符)
  • parse_mode (可选): HTML, Markdown,或者 MarkdownV2

示例:

메시지 "Hello World"를 telegram으로 전송해줘

使用Markdown格式:

다음 메시지를 HTML 형식으로 telegram에 보내줘:
<b>굵은 텍스트</b>
<i>기울임 텍스트</i>

Telegram机器人设置

1. 在BotFather中创建机器人

  1. 在Telegram中搜索@BotFather
  2. /start 以命令开始
  3. /newbot 通过命令创建新机器人
  4. 设置机器人名称和用户名
  5. 复制生成的令牌

2. 确认聊天ID

可以通过以下方法之一确认Chat ID:

方法1:使用getMe API

curl https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getMe

方法2:发送信息后检查更新

curl https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates

解决问题

“需要设置 TELEGRAM_BOT_TOKEN 和 TELEGRAM_CHAT_ID 环境变量”

请确认环境变量是否已正确设置。

Telegram API 错误

  • 401 未授权机器人令牌可能不正确。
  • 400 请求错误聊天ID可能不正确,或者机器人可能没有访问该聊天室的权限。

开发

运行开发模式

pnpm dev

构建/建造

pnpm build

许可证

麻省理工学院(MIT)