使用说明

项目简介

Telegram MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为AI助手提供访问 Telegram 信息的桥梁。通过此服务器,AI助手可以利用预设的工具,安全、可控地获取 Telegram 频道和消息内容,从而扩展其上下文理解和信息检索能力。

主要功能点

  • 搜索频道 (searchChannels): 根据关键词在 Telegram 中搜索相关的公开频道。
  • 列出频道 (listChannels): 列出当前用户可访问的 Telegram 频道列表。
  • 获取频道消息 (getChannelMessages): 从指定的 Telegram 频道中检索消息,并支持按正则表达式过滤消息内容。

安装步骤

  1. 获取代码: 使用 Git 克隆仓库到本地:
    git clone https://github.com/kfastov/telegram-mcp-server.git
    cd telegram-mcp-server
  2. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入您的 Telegram API 凭证和手机号码:
    TELEGRAM_API_ID=your_api_id
    TELEGRAM_API_HASH=your_api_hash
    TELEGRAM_PHONE_NUMBER=your_phone_number
    PORT=3000  # 可选,默认为 3000
    请访问 Telegram 官网 获取 'TELEGRAM_API_ID' 和 'TELEGRAM_API_HASH'。
  3. 安装依赖: 运行 npm 命令安装项目依赖:
    npm install

服务器配置

以下 JSON 配置信息供 MCP 客户端参考,用于连接 Telegram MCP Server。

{
  "serverName": "Telegram MCP Server",
  "command": "npm",
  "args": ["start"],
  "transport": "sse",
  "baseUrl": "http://localhost:3000/sse"
}

配置参数说明:

  • 'serverName': 服务器名称,设置为 "Telegram MCP Server"。
  • 'command': 启动服务器的命令,这里使用 'npm'。
  • 'args': 启动命令的参数,使用 'start' 脚本启动服务器 (对应 'package.json' 中的 'start' 命令)。
  • 'transport': 传输协议,本项目使用 SSE (Server-Sent Events)。
  • 'baseUrl': 服务器 SSE 端点的 URL,默认为 'http://localhost:3000/sse',端口号可根据 '.env' 文件中的 'PORT' 变量进行调整。

基本使用方法

  1. 启动服务器: 在项目根目录下运行以下命令启动 Telegram MCP Server:

    npm start

    服务器默认会在 'http://localhost:3000' 启动,并提供 SSE 协议的 MCP 服务。

  2. 连接 MCP 客户端: 配置您的 MCP 客户端,使其连接到 'http://localhost:3000/sse' (或您配置的端口和路径)。客户端需要使用 SSE 协议与服务器通信。

  3. 使用工具: 连接成功后,您可以通过 MCP 客户端调用服务器提供的工具,例如:

    • 调用 'searchChannels' 工具,输入关键词以搜索 Telegram 频道。
    • 调用 'listChannels' 工具,获取可访问的频道列表。
    • 调用 'getChannelMessages' 工具,指定频道 ID 和其他参数,获取频道消息。

    具体工具的使用方法和参数,请参考 'telegram-mcp.js' 文件中 'server.tool()' 的定义,以及 'mcp-client-example.js' 中的客户端示例。

注意: 首次运行服务器或长时间未登录 Telegram,可能需要进行 Telegram 账号的登录验证。请根据终端提示操作,输入 Telegram 发送的验证码或两步验证密码。

信息

分类

通信与社交