使用说明

项目简介

Telegram MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 Claude 等大型语言模型 (LLM) 提供访问 Telegram 消息和功能的能力。通过此服务器,Claude 可以读取您的 Telegram 聊天记录、发送消息、标记消息为已读,从而实现更智能的 Telegram 交互体验。

主要功能点

  • 获取聊天列表 (get_chats): 允许 Claude 获取您的 Telegram 聊天列表,以便了解当前有哪些对话。支持分页查看。
  • 发送消息 (send_message): 允许 Claude 向指定的 Telegram 聊天发送消息,可以用于回复消息或发起新的对话。
  • 获取消息 (get_messages): 允许 Claude 获取指定 Telegram 聊天的消息记录,支持分页查看。
  • 标记消息已读 (mark_messages_read): 允许 Claude 将指定 Telegram 聊天中的未读消息标记为已读。
  • 获取对话上下文 (get_conversation_context): 允许 Claude 获取指定 Telegram 聊天的上下文信息,包括最近的消息记录和用户自定义的对话风格指南,以帮助 Claude 更好地理解对话背景和生成更符合用户风格的回复。

安装步骤

  1. 获取 Telegram API 凭证:

  2. 设置 Python 环境:

    • 克隆仓库到本地:
      git clone https://github.com/alexandertsai/mcp-telegram
      cd mcp-telegram
    • 创建并激活虚拟环境:
      pip install uv mcp
      uv venv
      source .venv/bin/activate   # Linux/macOS
      # .venv\Scripts\activate  # Windows
    • 安装依赖:
      uv add "mcp[cli]" telethon python-dotenv nest_asyncio
  3. 配置环境变量:

    • macOS/Linux (bash):
      export TELEGRAM_PHONE="你的电话号码,包含国家代码,无空格"  # 例如: +86138xxxxxxxx
      export TELEGRAM_API_ID="你的 API ID"
      export TELEGRAM_API_HASH="你的 API Hash"
    • Windows (PowerShell):
      $env:TELEGRAM_PHONE="你的电话号码,包含国家代码,无空格"  # 例如: +86138xxxxxxxx
      $env:TELEGRAM_API_ID="你的 API ID"
      $env:TELEGRAM_API_HASH="你的 API Hash"
    • 确保替换为您的真实电话号码、API ID 和 API Hash。
  4. 运行身份验证:

    • 进入 'src/mcp_telegram' 目录:
      cd src/mcp_telegram
    • 运行身份验证脚本:
      python3 telethon_auth.py
    • 按照提示输入您的电话号码、Telegram 发送的验证码以及双重验证密码(如果已启用)。
    • 成功后,会在用户主目录下创建会话文件。
  5. 配置 Claude Desktop:

    • 打开 Claude Desktop 的配置文件:

      • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
      • Windows: '%APPDATA%\Claude\claude_desktop_config.json'
      • 或者在 Claude Desktop 设置中启用开发者模式并编辑配置。
    • 在 'mcpServers' 中添加以下配置 (请根据实际情况修改路径和凭证):

      "mcpServers": {
            "telegram": {
            "command": "/你的/python3/路径",
            "args": ["/你的/mcp-telegram仓库/路径/main.py"],
            "env": {
                "TELEGRAM_API_ID": "你的 API ID",
                "TELEGRAM_API_HASH": "你的 API Hash",
                "TELEGRAM_PHONE": "+86138xxxxxxxx"  // 你的电话号码
                }
            }
        }
      • 'command': Python3 可执行文件的完整路径。可以使用 'where python3' (macOS/Linux) 或 'where.exe python3' (Windows) 命令查找。
      • 'args': 'main.py' 脚本的完整路径。
      • 'env': 环境变量,包含 Telegram API 凭证和电话号码,与步骤 3 中设置的环境变量保持一致。
  6. (可选) 配置对话风格:

    • 修改 'src/mcp_telegram/convostyle.txt' 文件,可以自定义 Claude 在 Telegram 中回复消息的风格。

基本使用方法

  • 重启 Claude Desktop。
  • 在 Claude 中提问时,明确提及 "Telegram",例如:
    • "Claude,我的 Telegram 有未读消息吗?"
    • "Claude,在 Telegram 上给 [联系人姓名] 发送消息:[消息内容]"
    • "Claude,Telegram 上最新的聊天记录是什么?"

注意:

  • 确保使用 Python 和 'main.py' 的完整绝对路径。
  • 'TELEGRAM_API_ID'、'TELEGRAM_API_HASH' 和 'TELEGRAM_PHONE' 必须替换为您的真实信息。
  • 电话号码必须使用国际格式,例如 '+86138xxxxxxxx'。
  • 每次修改 Claude Desktop 配置后需要重启 Claude Desktop 才能生效。

信息

分类

通信与社交