mcp-telegram-facebook

mcp-telegram-facebook

Enables fetching videos from Telegram and reposting them to Facebook Pages, with additional Facebook Page management tools.

Category
访问服务器

README

mcp-telegram-facebook

Serveur MCP (Model Context Protocol) qui permet à Claude de :

  • 📥 Récupérer des vidéos sur Telegram (canaux, groupes, discussions)
  • ✍️ Ajouter une description personnalisée et reposter sur Facebook
  • 📄 Gérer une Page Facebook (publications, statistiques)

📢 Publicités : la gestion des campagnes publicitaires n'est volontairement pas incluse ici — elle est assurée par le MCP Facebook Ads officiel, plus complet. Ce serveur se concentre sur ce qu'il fait de unique : Telegram + Pages.

Outils exposés

Outil Rôle
telegram_list_videos Liste les vidéos récentes d'un chat/canal Telegram
telegram_download_video Télécharge une vidéo sur le disque local
facebook_list_pages Liste les Pages gérées + leurs tokens
facebook_post_video Publie une vidéo locale sur une Page (titre + description)
facebook_post_feed Publie un post texte (avec lien) sur une Page
facebook_page_insights Statistiques d'une Page
repost_telegram_to_facebook Workflow complet : Telegram → Facebook en une étape

1. Prérequis

  • Node.js ≥ 18.17
  • Un compte Telegram + des identifiants API (API_ID / API_HASH)
  • Une application Facebook avec un jeton d'accès (Access Token)

2. Installation

git clone https://github.com/cedrdjio/mcp-telegram-facebook.git
cd mcp-telegram-facebook
npm install
npm run build

3. Configuration des clés d'API

Copiez le modèle et remplissez-le :

cp .env.example .env

Telegram

  1. Allez sur https://my.telegram.org → API development tools.

  2. Créez une application, récupérez App api_id et App api_hash.

  3. Renseignez TELEGRAM_API_ID et TELEGRAM_API_HASH dans .env.

  4. Générez une session (connexion unique, un code vous est envoyé sur Telegram) :

    npm run build
    npm run telegram:login
    

    Le script affiche une ligne TELEGRAM_SESSION=... — collez-la dans .env. Vous n'aurez plus jamais à ressaisir le code.

Facebook

  1. Allez sur https://developers.facebook.com/tools/explorer.
  2. Sélectionnez votre application et générez un jeton avec les permissions : pages_show_list, pages_manage_posts, pages_read_engagement, read_insights.
  3. Renseignez FACEBOOK_ACCESS_TOKEN.
  4. (Optionnel) Définissez FACEBOOK_PAGE_ID pour éviter de le passer à chaque appel.

💡 Pour publier sur une Page, utilisez de préférence un Page Access Token (renvoyé par facebook_list_pages). Pensez à un jeton longue durée pour la production.


4. Brancher le serveur sur Claude

Claude Desktop

Éditez le fichier de configuration :

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows : %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "telegram-facebook": {
      "command": "node",
      "args": ["/CHEMIN/ABSOLU/VERS/mcp-telegram-facebook/dist/index.js"],
      "env": {
        "TELEGRAM_API_ID": "123456",
        "TELEGRAM_API_HASH": "xxxxxxxx",
        "TELEGRAM_SESSION": "1Ab...collée...ici",
        "FACEBOOK_ACCESS_TOKEN": "EAAB...",
        "FACEBOOK_PAGE_ID": "1234567890"
      }
    }
  }
}

Vous pouvez soit mettre les variables dans le bloc env ci-dessus, soit vous reposer sur le fichier .env du projet (les deux fonctionnent).

Redémarrez Claude Desktop : l'icône 🔌 doit lister les outils telegram_* et facebook_*.

Claude Code (CLI)

claude mcp add telegram-facebook -- node /CHEMIN/ABSOLU/mcp-telegram-facebook/dist/index.js

5. Tester

a) Test rapide du serveur (sans Claude)

Vérifie que le serveur démarre et expose bien ses outils :

printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
| node dist/index.js

Vous devez voir la liste des 12 outils dans la réponse JSON.

b) Avec l'inspecteur officiel MCP

npx @modelcontextprotocol/inspector node dist/index.js

Une interface web s'ouvre : vous pouvez appeler chaque outil manuellement.

c) Dans Claude, exemples de requêtes

  • « Liste les 10 dernières vidéos du canal @moncanal »
  • « Télécharge la vidéo message 4523 de @moncanal puis reposte-la sur ma Page avec la description : Nouvelle vidéo exclusive ! 🔥 »
  • « Affiche les statistiques de ma Page sur les 7 derniers jours »

Notes & limites

  • Telegram utilise l'API MTProto (compte utilisateur), ce qui permet de télécharger des vidéos volumineuses depuis n'importe quel canal/groupe dont vous êtes membre — au-delà de la limite de 20 Mo de l'API Bot.
  • Publication vidéo Facebook : upload multipart standard, adapté jusqu'à ~1 Go. Un futur ajout pourra gérer l'upload resumable pour les très gros fichiers.
  • Publicités : gérées par le MCP Facebook Ads officiel, pas par ce serveur.
  • Ne committez jamais votre .env (déjà ignoré par git).

Licence

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选