Skip to main content
Glama
cedrdjio

mcp-telegram-facebook

by cedrdjio

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