返回市场
电报-MCP服务器

电报-MCP服务器

作者:DLHellMe25 星标更新:2025-07-03

项目介绍

Telegram MCP 服务器

一个强大的MCP(模型上下文协议)服务器,使Claude能够与Telegram频道和群组进行交互。该服务器提供了Web抓取和直接通过API访问Telegram内容的功能。

🚀 特性

版本 0.3.0 - 双模式操作

API模式(推荐) ⚡

  • 比Web抓取快100倍
  • 通过Telegram的MTProto协议直接访问
  • 频道内的搜索功能
  • 访问您是成员的私有频道
  • 完整的消息元数据(查看次数、反应、转发)
  • 持久会话 - 仅需一次认证
  • 不需要浏览器自动化
  • 默认情况下无限获取帖子

Web抓取模式 🌐

  • 不需要API凭证
  • 使用Puppeteer基于浏览器的抓取
  • 支持受限内容的认证
  • 提取视觉媒体
  • 适合快速匿名访问

📋 先决条件

  • Node.js 18.0.0 或更高版本
  • Chrome/Chromium(用于Web抓取模式)
  • Telegram API凭证(用于API模式) - 在这里获取

🛠️ 安装

  1. 克隆此仓库:
git clone https://github.com/DLHellMe/telegram-mcp-server.git
cd telegram-mcp-server
  1. 安装依赖项:
npm install
  1. 复制示例环境文件:
cp .env.example .env
  1. 编辑.env并添加您的配置:

    • 对于API模式:添加您的TELEGRAM_API_IDTELEGRAM_API_HASH
    • 对于Web抓取:默认设置即可工作
  2. 构建项目:

npm run build

🔧 配置

获取Telegram API凭证

  1. 前往https://my.telegram.org
  2. 使用您的电话号码登录
  3. 点击“API开发工具”
  4. 创建一个新的应用程序
  5. 将您的api_idapi_hash复制到.env文件中

Claude桌面配置

在您的Claude桌面配置文件中添加以下内容:

Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "telegram-scraper": {
      "command": "node",
      "args": ["/绝对路径/to/telegram-mcp-server/dist/index.js"],
      "env": {
        "TELEGRAM_API_ID": "您的_api_id",
        "TELEGRAM_API_HASH": "您的_api_hash"
      }
    }
  }
}

📖 使用

配置完成后,重启Claude桌面。Telegram工具将在Claude中可用。

API模式工具

  1. telegram_api_login - 与Telegram认证(仅首次使用)

    使用telegram_api_login连接到Telegram
    
  2. api_scrape_channel - 抓取频道帖子(默认情况下无限)

    使用api_scrape_channel,url="https://t.me/channelname"
    

    或者设置限制:

    使用api_scrape_channel,url="https://t.me/channelname" 和 max_posts=50
    
  3. api_search_channel - 在频道内搜索

    使用api_search_channel,url="https://t.me/channelname" 和 query="关键词"
    

Web抓取工具

  1. scrape_channel - 抓取公共频道

    使用scrape_channel,url="https://t.me/channelname"
    
  2. telegram_login - 登录以访问受限内容

    使用telegram_login,phone="+1234567890"
    

🔒 数据存储

会话数据和cookies存储在平台特定的目录中:

  • Windows: %APPDATA%\telegram-mcp-data
  • macOS: ~/Library/Application Support/telegram-mcp-data
  • Linux: ~/.config/telegram-mcp-data

您可以使用TELEGRAM_DATA_PATH环境变量覆盖此设置。

🛡️ 安全注意事项

  • 永远不要提交您的.env文件 - 它包含敏感的API凭证
  • API凭证是个人的 - 每个用户都需要自己的凭证
  • 会话文件包含认证数据 - 请确保它们的安全
  • 使用.gitignore文件以防止意外提交

📝 开发

# 在开发模式下运行
npm run dev

# 构建项目
npm run build

# 监视更改
npm run watch

🤝 贡献

欢迎贡献!请:

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 提交拉取请求

📄 许可证

MIT许可证 - 查看LICENSE文件了解详情

🙏 致谢

构建于:

⚠️ 免责声明

此工具仅供教育和研究用途。请遵守Telegram的服务条款,并尊重频道成员的隐私。在抓取私人频道之前,请务必获得许可。

🐛 故障排除

API模式问题

  • "未连接到Telegram API":首先运行telegram_api_login
  • 电话号码格式:包括国家代码(例如,+1234567890)
  • 双因素身份验证错误:当提示时输入您的2FA密码

Web抓取问题

  • "未找到Chrome二进制文件":安装Chrome或Chromium
  • 登录问题:确保您使用了正确的电话号码格式
  • 超时错误:在.env中增加BROWSER_TIMEOUT

📞 支持

  • 在GitHub上创建问题报告错误
  • 创建新问题前检查现有问题
  • 报告问题时包括错误消息和日志