mcpField
T
Telegram MCP Server

Telegram MCP Server

本地服务
github.com/wolderufael通信协作075 周前更新

关于 Telegram MCP Server

Telegram MCP Server 通过 Telegram 提供联系人、消息、聊天记录和频道帖文管理工具,适合将 Telegram 操作接入 Cursor、Claude Desktop 等 MCP 客户端。

主要功能

  1. 01列出和搜索联系人
  2. 02按姓名或电话号码发送消息
  3. 03按日期筛选聊天记录
  4. 04搜索频道并查看信息
  5. 05按日期筛选频道帖文

适用场景

  1. 01向联系人发送 Telegram 消息
  2. 02查看指定日期范围的聊天记录
  3. 03查找特定时段的频道帖文

MCP 相关

它将 Telegram 联系人、消息、聊天记录和频道操作作为工具提供给 Cursor、Claude Desktop 等 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Telegram MCP 服务

一个功能强大的 Telegram 集成服务,通过 MCP(多客户端协议)提供联系人管理、消息发送和频道信息检索等多种工具。

功能

  • 联系人管理

    • 获取联系人列表
    • 搜索联系人
    • 获取最近互动记录
  • 消息

    • 按姓名或电话号码向联系人发送消息
    • 按日期范围筛选聊天记录
    • 查看最近互动记录
  • 频道功能

    • 获取频道帖子
    • 搜索频道
    • 查看频道信息
    • 按日期范围筛选帖子

先决条件

  • Python 3.8 或更高版本
  • Node.js 14 或更高版本(用于通过 npx 安装)
  • Telegram API 凭据(api_id 和 api_hash)
  • Telegram 账号

安装

  1. 克隆代码库:
git clone https://github.com/yourusername/telegram-MCP-server.git
cd telegram-MCP-server
  1. 安装所需依赖项:
uv venv .venv  # Create a virtual environment
source .venv/bin/activate  # Activate it (Linux/macOS)
.\venv\Scripts\activate  # Activate it (Windows)
uv pip install .
  1. 获取你的 Telegram API ID 和 API Hash:
  • 访问 https://my.telegram.org
  • 使用你的电话号码登录
  • 点击“API development tools”
  • 填写所需字段(应用标题和简称可任意填写)
  • 提交后,你将看到 API ID 和 API Hash
  1. 在项目根目录中创建 .env 文件,并填入你的 Telegram 凭据:
TG_API_ID=your_api_id
TG_API_HASH=your_api_hash
phone=your_phone_number  # Format: +1234567890
  1. 首次使用时进行 Telegram 身份验证
uv run telegram_auth.py

出现提示时,输入你通过 Telegram 收到的验证码。

与 Cursor/Claude Desktop 集成

复制以下 json,并填入相应的 {{PATH}} 值:

{
  "mcpServers": {
    "telegram": {
      "command": "{{PATH_TO_UV}}", // Run `which uv` and place the output here
      "args": [
        "--directory",
        "{{PATH_TO_SRC}}\\telegram-mcp-server", // cd into the repo, run `pwd` and enter the output here + "/whatsapp-mcp-server"
        "run",
        "main.py"
      ]
    }
  }
}

对于 Claude,将其保存为 claude_desktop_config.json,并放在 Claude Desktop 配置目录中:

~/Library/Application Support/Claude/claude_desktop_config.json

对于 Cursor,将其保存为 mcp.json,并放在 Cursor 配置目录中:

~/.cursor/mcp.json

工具文档

get_contacts()

返回所有 Telegram 联系人的列表,包括姓名、电话号码和用户名。

send_message_by_identifier(identifier: str, message: str)

向通过姓名或电话号码标识的联系人发送消息。

  • identifier:联系人的姓名或电话号码
  • message:要发送的文本消息
get_last_interaction(identifier: str)

返回与指定联系人最近交换的消息。

  • identifier:联系人的姓名或电话号码
get_chat_history(identifier: str, start_date: str = None, end_date: str = None, limit: int = 20)

检索指定时间范围内与联系人的聊天记录。

  • identifier:联系人的姓名或电话号码
  • start_date:可选的开始日期(YYYY-MM-DD)
  • end_date:可选的结束日期(YYYY-MM-DD)
  • limit:要返回的最大消息数量
get_channel_posts(channel_name: str, start_date: str = None, end_date: str = None, limit: int = 20)

获取 Telegram 频道的帖子。

  • channel_name:频道用户名或名称
  • start_date:可选的开始日期(YYYY-MM-DD)
  • end_date:可选的结束日期(YYYY-MM-DD)
  • limit:要返回的最大帖子数量

错误处理

该服务包含全面的错误处理,涵盖:

  • 无效凭据
  • 网络问题
  • 速率限制
  • 无效参数
  • 权限错误

安全注意事项

  • 安全存储 API 凭据
  • 切勿分享你的 .env 文件
  • 在生产环境中使用环境变量
  • 在生产环境中实施速率限制
  • 监控使用情况并实施日志记录

贡献

  1. Fork 代码库
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。

致谢

  • 感谢 Telethon 库提供 Telegram API 集成
  • 感谢 FastMCP 提供服务框架

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。