使用说明
项目简介
Telegram MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为AI助手提供访问 Telegram 信息的桥梁。通过此服务器,AI助手可以利用预设的工具,安全、可控地获取 Telegram 频道和消息内容,从而扩展其上下文理解和信息检索能力。
主要功能点
- 搜索频道 (searchChannels): 根据关键词在 Telegram 中搜索相关的公开频道。
- 列出频道 (listChannels): 列出当前用户可访问的 Telegram 频道列表。
- 获取频道消息 (getChannelMessages): 从指定的 Telegram 频道中检索消息,并支持按正则表达式过滤消息内容。
安装步骤
- 获取代码: 使用 Git 克隆仓库到本地:
git clone https://github.com/kfastov/telegram-mcp-server.git cd telegram-mcp-server - 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入您的 Telegram API 凭证和手机号码:
请访问 Telegram 官网 获取 'TELEGRAM_API_ID' 和 'TELEGRAM_API_HASH'。TELEGRAM_API_ID=your_api_id TELEGRAM_API_HASH=your_api_hash TELEGRAM_PHONE_NUMBER=your_phone_number PORT=3000 # 可选,默认为 3000 - 安装依赖: 运行 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' 变量进行调整。
基本使用方法
-
启动服务器: 在项目根目录下运行以下命令启动 Telegram MCP Server:
npm start服务器默认会在 'http://localhost:3000' 启动,并提供 SSE 协议的 MCP 服务。
-
连接 MCP 客户端: 配置您的 MCP 客户端,使其连接到 'http://localhost:3000/sse' (或您配置的端口和路径)。客户端需要使用 SSE 协议与服务器通信。
-
使用工具: 连接成功后,您可以通过 MCP 客户端调用服务器提供的工具,例如:
- 调用 'searchChannels' 工具,输入关键词以搜索 Telegram 频道。
- 调用 'listChannels' 工具,获取可访问的频道列表。
- 调用 'getChannelMessages' 工具,指定频道 ID 和其他参数,获取频道消息。
具体工具的使用方法和参数,请参考 'telegram-mcp.js' 文件中 'server.tool()' 的定义,以及 'mcp-client-example.js' 中的客户端示例。
注意: 首次运行服务器或长时间未登录 Telegram,可能需要进行 Telegram 账号的登录验证。请根据终端提示操作,输入 Telegram 发送的验证码或两步验证密码。
信息
分类
通信与社交