项目简介
该项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在将 Telegram 的功能集成到 LLM 应用中。通过这个服务器,LLM 客户端(如支持 MCP 的 IDE 或 AI 代理)可以访问 Telegram 消息、管理聊天以及执行发送消息等操作。
主要功能点
- 消息搜索: 在所有或指定聊天中按文本、日期、聊天类型等条件搜索消息。
- 发送消息: 向指定聊天发送消息,支持回复特定消息。
- 列出聊天: 获取用户在 Telegram 中的对话列表。
- 获取统计: 获取特定聊天的统计信息(如消息数量、活跃成员等)。
- 生成链接: 生成指向特定消息或聊天的 Telegram 链接。
- 导出数据: 导出指定聊天的消息数据(支持 JSON, CSV, TXT 格式)。
安装步骤
- 克隆仓库:
git clone https://github.com/leshchenko1979/tg_mcp.git cd tg_mcp - 安装依赖: 确保你的 Python 环境(推荐 Python 3.8+)已配置好,然后安装项目依赖。这包括 MCP 库和 Telethon Telegram 客户端库。
pip install -r requirements.txt - 配置 Telegram 认证信息: 在项目根目录创建一个名为 '.env' 的文件,并填入你的 Telegram API 凭据和电话号码。你可以在 my.telegram.org 获取 API ID 和 API Hash。
API_ID=你的_api_id API_HASH=你的_api_hash PHONE_NUMBER=+你的电话号码 (例如: +861234567890) - 运行认证脚本: 运行脚本进行 Telegram 认证。首次运行时需要输入发送到你 Telegram 客户端的验证码,如果开启了两步验证,还需要输入密码。
成功后,会在项目根目录生成一个 '.session' 文件,用于存储会话信息。python setup_telegram.py
服务器配置 (适用于 MCP 客户端)
要将此 MCP 服务器与 MCP 客户端(如 Cursor IDE)连接,你需要在客户端的配置中定义如何启动或连接到此服务器。通常,这需要配置一个 MCP 服务器条目,包含以下信息:
- 名称: 服务器的唯一标识符 (例如: 'mcp-telegram')。
- 描述: 服务器功能的简要说明 (例如: "Telegram MCP server")。
- 启动命令: 运行服务器的可执行命令及其参数。通常形式为 'python -m src.server' 或使用 'mcp run <路径>/src/server.py'。确切的命令取决于你的安装方式和环境。请确保该命令能够正确找到并执行 'src/server.py' 文件。在某些环境中,可能需要设置 'PYTHONPATH' 环境变量以便服务器找到 'src' 目录下的其他模块。
- 参数 (可选): 如果服务器支持命令行参数,可以在此配置。
例如,如果服务器安装在 '/path/to/tg_mcp' 目录下,启动命令可能是:
# Windows 示例(可能需要调整) cmd /c set PYTHONPATH=%PYTHONPATH%;/path/to/tg_mcp && python -m src.server # Linux/macOS 示例 python -m src.server # 或使用 MCP CLI mcp run /path/to/tg_mcp/src/server.py
(请参考你的 MCP 客户端文档了解具体的配置格式,例如 JSON。)
配置完成后,MCP 客户端启动时会按照配置运行此服务器,并通过标准输入/输出或 HTTP/SSE 等协议进行通信。
基本使用方法
安装并配置好 Telegram 认证信息后,你可以直接运行服务器:
# 在项目根目录执行,可能需要调整路径 mcp run src/server.py
或者,如果你的 MCP 客户端已配置并能自动启动服务器,你只需启动 MCP 客户端即可。
服务器运行后,通过连接到该服务器的 MCP 客户端(如 AI 代理或支持 MCP 的 IDE),你就可以通过调用服务器提供的工具(如 'search_messages', 'send_telegram_message' 等)来与 Telegram 进行交互了。具体的工具调用方式取决于你的 MCP 客户端界面或编程接口。
信息
分类
AI与计算