项目简介

Telegram MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在作为 Telegram API 和 AI 助手之间的桥梁。它允许 AI 助手(如 Claude Desktop 或 Cursor)安全地访问用户的 Telegram 数据,从而扩展 AI 应用的功能。

主要功能点

  • 获取当前用户信息: 允许 AI 助手获取已登录 Telegram 用户的基本信息,如 ID、姓名、用户名等。
  • 获取对话列表: 提供获取用户 Telegram 对话(包括聊天、频道和群组)列表的功能,可以查看对话的标题、未读消息数以及最后一条消息。
  • Telegram API 桥梁: 作为 MCP 服务器,它封装了 Telegram API 的复杂性,为 AI 助手提供标准化的数据访问接口。

待实现功能 (仓库中标记):

  • 获取指定对话中的消息列表
  • 标记频道为已读
  • 按日期和时间检索消息
  • 获取联系人列表
  • 草拟消息

安装步骤

  1. 安装 Go: 确保你的系统上已安装 Go 语言环境。如果未安装,请访问 https://go.dev/ 按照指引进行安装。

  2. 安装 telegram-mcp: 打开终端,运行以下命令安装 telegram-mcp 服务器:

    go install github.com/chaindead/telegram-mcp@latest

    安装成功后,'telegram-mcp' 命令将可以在你的 '$GOPATH/bin' 或 '$HOME/go/bin' 目录下找到 (取决于你的 Go 环境配置)。

服务器配置

Telegram MCP Server 需要 Telegram API 的配置信息才能正常工作。

  1. 获取 Telegram API ID 和 API Hash:

    • 访问 Telegram API 开发者页面 并登录你的 Telegram 账号。
    • 创建一个新的应用 (Create new application),填写应用名称 (App title) 和简短名称 (Short name),平台选择 "Desktop",其他信息可以随意填写。
    • 创建成功后,你将获得 App ID (API ID) 和 API Hash (API hash)。
  2. Claude Desktop 或 Cursor MCP 客户端配置:

    • 打开 Claude Desktop 或 Cursor 的配置文件 'claude_desktop_config.json' (路径见仓库 README.md)。
    • 在 'mcpServers' 字段下添加 'telegram-mcp' 或 'telegram' 配置项。

    Cursor 配置示例:

    {
      "mcpServers": {
        "telegram-mcp": {
          "command": "telegram-mcp",
          "env": {
            "TG_APP_ID": "<your-app-id>",  // 替换为你的 Telegram App ID
            "TG_API_HASH": "<your-api-hash>" // 替换为你的 Telegram API Hash
          }
        }
      }
    }

    Claude Desktop 配置示例:

    {
      "mcpServers": {
        "telegram": {
          "command": "telegram-mcp",
          "env": {
            "TG_APP_ID": "<your-app-id>",  // 替换为你的 Telegram App ID
            "TG_API_HASH": "<your-api-hash>", // 替换为你的 Telegram API Hash
            "PATH": "<path_to_telegram-mcp_binary_dir>", // 替换为 telegram-mcp 可执行文件所在目录的路径 (可选,如果 telegram-mcp 不在 PATH 环境变量中)
            "HOME": "<path_to_your_home_directory>" // 替换为你的用户 home 目录路径 (可选,如果需要指定 session 文件存储位置)
          }
        }
      }
    }

    注意:

    • '<your-app-id>' 和 '<your-api-hash>' 需要替换为你从 Telegram API 开发者页面获取的真实 App ID 和 API Hash。
    • 'command' 字段指定了 MCP 服务器的启动命令,这里是 'telegram-mcp'。
    • 'env' 字段用于设置环境变量, 'TG_APP_ID' 和 'TG_API_HASH' 是必须配置的 Telegram API 凭据。 'PATH' 和 'HOME' 是可选的,根据你的环境配置决定是否需要配置。

基本使用方法

  1. Telegram 身份验证:

    • 打开终端,运行以下命令进行 Telegram 账号身份验证:

      telegram-mcp auth --app-id <your-app-id> --api-hash <your-api-hash> --phone <your-phone-number>
      • '<your-app-id>' 和 '<your-api-hash>' 替换为你的 Telegram API 凭据。
      • '<your-phone-number>' 替换为你的 Telegram 账号绑定的手机号码。
      • 按照提示,输入 Telegram 发送给你的验证码完成身份验证。
      • 身份验证成功后,会在用户 home 目录下创建 '.telegram-mcp/session.json' 会话文件,用于保存登录状态。
  2. 启动 Telegram MCP Server:

    • 在终端中运行以下命令启动服务器:

      telegram-mcp

      telegram-mcp serve
    • 服务器默认使用 Stdio 传输协议,并在标准输入/输出上等待 MCP 客户端的连接和请求。

  3. 在 AI 助手中使用:

    • 配置好 Claude Desktop 或 Cursor 等 MCP 客户端后,客户端应该能够自动检测到并连接到正在运行的 Telegram MCP Server。
    • 在 AI 助手中,你可以通过调用注册的工具 (tools) 来访问 Telegram 数据。例如,调用 'me' 工具获取用户信息,调用 'dialogs' 工具获取对话列表。 具体工具调用方式请参考你使用的 AI 助手的文档。

注意:

  • 首次运行 'telegram-mcp auth' 命令需要进行 Telegram 账号的身份验证。
  • 服务器启动后,会一直运行并等待客户端请求,你需要保持终端窗口打开。
  • 请务必遵守 Telegram API 的服务条款,合理使用该服务器,避免滥用 API 导致账号被封禁。

信息

分类

通信与社交