项目简介

TGMCP 是一个 Python 包,实现了 Model Context Protocol (MCP),作为 AI 智能体与 Telegram 账户之间的桥梁。它允许 AI 访问您的 Telegram 数据并执行操作,例如发送和接收消息、管理联系人和群组等。

主要功能点

  • 聊天操作: 获取聊天列表、读取和发送消息、归档/取消归档、静音/取消静音聊天。
  • 联系人管理: 列出、搜索、添加、删除、拉黑/解除拉黑联系人。
  • 群组管理: 创建群组/频道、邀请成员、离开聊天、获取成员/管理员/被封禁用户列表、编辑群组信息(标题、照片)。
  • 消息操作: 获取消息、转发、编辑、删除、置顶/取消置顶消息、标记已读、回复消息、搜索消息。
  • 媒体处理: 发送文件、下载媒体、发送语音/贴纸/GIF。
  • 个人资料管理: 获取个人信息、更新资料(姓名、简介)、设置/删除头像、获取隐私设置、获取用户状态。
  • 管理功能: 提升/撤销管理员权限、封禁/解封用户。

安装步骤

确保您已安装 Python 3.8 或更高版本。

使用 pip 从 PyPI 安装:

pip install tgmcp

服务器配置

TGMCP 作为 MCP 服务器运行,通常由您的 MCP 客户端(如 VS Code 扩展)启动和管理。您需要在 MCP 客户端的配置中指定如何启动 TGMCP。

典型的 MCP 客户端配置会包含一个 JSON 对象,描述名为 'mcp-telegram' 的服务器。此配置应包含:

  • 'command': 启动 TGMCP 服务器的命令,通常是 'tgmcp' 或 'python -m tgmcp'。
  • 'args': 传递给命令的参数,例如 'start'。
  • 'env': 一组环境变量,用于配置 Telegram API 凭据和 TGMCP 的行为。

重要的环境变量包括:

  • 'TELEGRAM_API_ID':您的 Telegram API ID。
  • 'TELEGRAM_API_HASH':您的 Telegram API Hash。
  • 'TELEGRAM_SESSION_STRING':推荐使用会话字符串进行认证,这是最可靠和便携的方式。
  • 'TELEGRAM_SESSION_NAME':如果您不使用会话字符串,可以使用会话文件,这是会话文件的名称。
  • 'MCP_NONINTERACTIVE': 设置为 'true' 以在非交互模式下运行,适合由客户端启动。
  • 'TGMCP_ENABLE_*_TOOLS': 可选,用于选择性地启用或禁用特定的工具集(例如 'TGMCP_ENABLE_CHAT_TOOLS=true')。

在您的 MCP 客户端配置中,您需要填写您的实际凭据,例如:

// MCP 客户端配置示例 (JSON 格式的片段)
{
  "mcp": {
    "servers": {
      "mcp-telegram": {
        "command": "tgmcp", // 或 "python -m tgmcp"
        "args": ["start"],
        "env": {
          "TELEGRAM_API_ID": "您的 API ID",
          "TELEGRAM_API_HASH": "您的 API Hash",
          "TELEGRAM_SESSION_STRING": "您的会话字符串 (推荐使用)",
          // 或者如果您使用文件会话:
          // "TELEGRAM_SESSION_NAME": "您的会话名称",
          "MCP_NONINTERACTIVE": "true",
          
          // 可选:启用/禁用特定工具集
          // "TGMCP_ENABLE_CHAT_TOOLS": "true",
          // ...
        }
      }
    }
  }
}

首次认证:

在 MCP 客户端能够成功启动 TGMCP 服务器之前,您需要先进行一次 Telegram 认证。推荐通过生成会话字符串来完成。打开终端并运行:

python -m tgmcp.session_string_generator

按照提示输入您的手机号和验证码,生成会话字符串后,将其添加到您的 MCP 客户端配置的 'env' 中作为 'TELEGRAM_SESSION_STRING' 的值。

如果您选择使用会话文件(不推荐用于非交互式 MCP 服务器),可以运行:

python -m tgmcp.authenticate

并按照提示操作。这会在当前目录下生成一个 '.session' 文件。

基本使用方法

一旦 TGMCP 配置在您的 MCP 客户端中,并且您已经完成了 Telegram 认证,客户端应该能够自动启动 TGMCP 服务器。

您也可以手动在终端中启动服务器(主要用于调试):

python -m tgmcp

该命令会启动 TGMCP 服务器,它将通过标准输入输出 (Stdio) 与 MCP 客户端通信。

您的 AI 智能体或 LLM 客户端现在应该能够通过 MCP 协议调用 TGMCP 提供的各种工具来与您的 Telegram 账户进行交互了。例如,AI 可以调用 'send_message' 工具来发送消息,调用 'list_chats' 工具来获取聊天列表等。

信息

分类

通信与社交