Serveur MCP

Confiez vos directs à un agent IA.

Connectez Claude Code, Codex, Cursor ou un autre client MCP qui accepte une clé d’API. L’agent crée un direct à partir d’une playlist, le lance, le programme, puis consulte l’historique des diffusions.

https://mcp.livereacting.com/mcp

Streamable HTTP, POST uniquement, sans session. La clé se place dans l’en-tête Authorization, sous forme de jeton Bearer.

  • Inclus dans toutes les offres payantes
  • 27 outils, avec un mode lecture seule
  • Rien à installer

Cette page en Markdown

Configuration

Connectez votre client.

Une seule URL et un seul en-tête Authorization pour tous les clients. C’est la même clé lr_ que pour l’API REST : une clé existante fonctionne donc ici.

Si vous n’avez pas encore de clé, créez-en une dans la section Developer de LiveReacting Studio. Définissez-la comme variable d’environnement LIVEREACTING_API_KEY, puis redémarrez votre client. VS Code, lui, vous demande la clé.

Claude Code

Dans .mcp.json, à la racine de votre projet. La clé reste hors du fichier : vous pouvez donc le versionner sans risque.

{
  "mcpServers": {
    "livereacting": {
      "type": "http",
      "url": "https://mcp.livereacting.com/mcp",
      "headers": { "Authorization": "Bearer ${LIVEREACTING_API_KEY}" }
    }
  }
}

Codex CLI

Dans ~/.codex/config.toml.

[mcp_servers.livereacting]
url = "https://mcp.livereacting.com/mcp"
bearer_token_env_var = "LIVEREACTING_API_KEY"

# Then, in your shell profile:
# export LIVEREACTING_API_KEY=lr_...

Cursor

Dans ~/.cursor/mcp.json.

{
  "mcpServers": {
    "livereacting": {
      "url": "https://mcp.livereacting.com/mcp",
      "headers": { "Authorization": "Bearer ${env:LIVEREACTING_API_KEY}" }
    }
  }
}
Ajouter à Cursor

VS Code (GitHub Copilot)

Dans .vscode/mcp.json. Grâce au bloc inputs, VS Code demande la clé au lieu de la stocker dans le dépôt.

{
  "inputs": [
    {
      "id": "livereacting-key",
      "type": "promptString",
      "description": "LiveReacting API key",
      "password": true
    }
  ],
  "servers": {
    "livereacting": {
      "type": "http",
      "url": "https://mcp.livereacting.com/mcp",
      "headers": { "Authorization": "Bearer ${input:livereacting-key}" }
    }
  }
}
Ajouter à VS Code

Gemini CLI

Dans ~/.gemini/settings.json.

{
  "mcpServers": {
    "livereacting": {
      "httpUrl": "https://mcp.livereacting.com/mcp",
      "headers": { "Authorization": "Bearer ${LIVEREACTING_API_KEY}" }
    }
  }
}

Tout client compatible avec Streamable HTTP et un en-tête Bearer utilise la même URL et le même en-tête.

Testez d’abord sans risque

Ajoutez ?read_only=1 à l’URL : le client ne se voit proposer que les outils de lecture. Aucun outil appelé par l’agent ne peut alors modifier un projet ou une diffusion.

Outils

Ce que l’agent peut appeler.

Chaque nom commence par livereacting_ : une seule recherche trouve donc tout le serveur dans un client qui charge les outils à la demande.

Outil Ce qu’il fait Accès
Compte Les destinations que vous avez déjà connectées.
livereacting_list_destinations Vos comptes YouTube, Facebook, Twitch, LinkedIn et X connectés, et vos propres serveurs Lecture seule
livereacting_validate_destinations Vérifier qu’une connexion YouTube, Facebook ou Twitch fonctionne toujours avant de vous y fier. Les destinations personnalisées ne sont pas contactées Lecture seule
Éditeur Les projets, les scènes, et les playlists vidéo et audio qu’ils contiennent.
livereacting_list_projects Vos projets, du plus récent au plus ancien Lecture seule
livereacting_get_project Un projet en détail : format, durée, destinations et état du direct Lecture seule
livereacting_create_project Créer un projet vide, première étape de la création d’un direct Écriture
livereacting_update_project Modifier les paramètres d’un projet Écriture
livereacting_get_scenes Les scènes d’un projet, avec un résumé du contenu de chacune Lecture seule
livereacting_manage_scene Créer, renommer ou supprimer une scène Destructif
livereacting_activate_scene Changer la scène diffusée à l’antenne, y compris pendant le direct Écriture
livereacting_create_scene_with_playlist Ajouter une scène et la remplir d’une playlist vidéo en un seul appel Écriture
livereacting_add_layer Ajouter une playlist vidéo, une playlist audio ou une vidéo seule à une scène existante Écriture
livereacting_get_layer Lire une playlist et ses vidéos, cinquante à la fois Lecture seule
livereacting_set_playlist Remplacer tout le contenu d’une playlist vidéo ou audio Destructif
Directs Passer en direct, programmer, et suivre une diffusion en cours.
livereacting_start_stream Passer en direct maintenant Destructif
livereacting_stop_stream Arrêter la diffusion en cours Destructif
livereacting_get_stream_status Ce que fait le direct en ce moment, et l’état de chaque destination Lecture seule
livereacting_schedule_stream Programmer un ou plusieurs passages en direct dans les 28 prochains jours Écriture
livereacting_cancel_schedules Annuler une diffusion programmée, ou toutes les programmations d’un projet Destructif
livereacting_sync_stream Envoyer au direct en cours les modifications que vous venez de faire Écriture
livereacting_list_broadcasts Les diffusions passées : quand chacune a eu lieu, sa durée et son pic de spectateurs Lecture seule
Médias La bibliothèque vidéo qui alimente les playlists.
livereacting_list_media Les fichiers et les dossiers de votre bibliothèque Lecture seule
livereacting_get_media_file Un fichier, avec ses détails techniques si vous les demandez Lecture seule
livereacting_import_media Importer un fichier depuis une URL Google Drive, Dropbox ou YouTube Écriture
livereacting_get_import_status L’avancement d’une importation, et si le fichier peut déjà être diffusé Lecture seule
livereacting_encode_media Mettre des fichiers en file d’attente d’encodage pour pouvoir les diffuser Écriture
livereacting_get_encode_status L’avancement de l’encodage Lecture seule
Statistiques Les chiffres produits par une diffusion terminée.
livereacting_get_stream_analytics Les chiffres de diffusion YouTube avec toutes les offres payantes, et les chiffres de chaque vidéo d’une playlist sur demande Lecture seule

Le schéma d’entrée de chaque outil est fourni par tools/list une fois la connexion établie, et sa description indique quoi appeler ensuite et combien de temps attendre entre deux interrogations. Consultez-les là ; ne les déduisez pas des noms ci-dessus.

Ajoutez ?toolsets= suivi d’un ou plusieurs groupes parmi account, editor, streams, media et analytics, séparés par des virgules : le client ne se voit proposer que ces groupes. C’est le serveur qui filtre, donc tout client peut s’en servir, et il refuse un nom qu’il ne reconnaît pas.

Exemples de prompts

Ce que vous demandez, et ce que fait l’agent.

Dites simplement ce que le direct doit faire. L’agent choisit les outils dans le tableau ci-dessus et les appelle dans l’ordre qu’exige la tâche.

  • « Voici trois liens de vidéos Google Drive. Créez à partir de ces vidéos un direct 24/7 sur ma chaîne YouTube et lancez-le. »

    Il importe les trois fichiers, attend qu’ils puissent être diffusés, remplit une playlist en boucle et passe en direct.

  • « Programmez l’enregistrement du webinaire de la semaine dernière pour une diffusion en direct vendredi à 3 heures de l’après-midi. »

    Il retrouve l’enregistrement dans votre bibliothèque, crée un projet qui le diffuse une fois, et programme cette seule heure de début.

  • « Nous sommes en direct. Passez à la scène de pause. »

    Il active la scène de pause et envoie la modification à la diffusion en cours. Le direct n’est pas interrompu.

  • « Qu’ont donné les diffusions de la semaine dernière ? »

    Il parcourt vos projets, liste les diffusions de chacun avec leur pic de spectateurs, puis lit leurs chiffres YouTube.

Limites

Ce qu’il faut décider avant de connecter un agent.

  • Offres payantes uniquement

    L’offre Free n’inclut pas l’accès à l’API. Chaque requête est refusée avec le code 403 API_ACCESS_REQUIRES_PAID_PLAN, la toute première comprise : le client ne peut donc pas se connecter. Un abonnement suspendu reçoit le même code.

  • La clé agit en votre nom

    Tout ce à quoi la clé donne accès, l’agent y a accès. Créez-la dans la section Developer du Studio, et révoquez-la au même endroit dès que vous voulez que l’agent s’arrête.

  • Donnez moins d’outils à l’agent

    Ajoutez ?read_only=1 pour les outils de lecture, ou ?toolsets=streams,media pour les groupes que vous nommez. Le serveur refuse une valeur non reconnue au lieu de l’ignorer.

  • Ce qu’il ne sait pas encore faire

    Il ne peut pas importer un fichier depuis votre ordinateur ni une playlist YouTube, ni créer un overlay texte, image ou interactif. Vous les créez dans le Studio, et l’agent peut tout de même lancer un direct qui les contient.

Les règles que l’agent doit connaître

  • Restez sous les 150 appels d’outils par minute. Le décompte se fait par compte, et la phase d’initialisation (initialize et tools/list) n’est pas décomptée. Un appel isolé au-delà de la limite reçoit une réponse HTTP 200 avec une erreur d’outil qui indique combien de temps attendre : c’est le modèle qui la lit, au lieu qu’un client relance de lui-même après un 429. Un lot est refusé avec un vrai 429, et un lot peut contenir au plus 20 messages.
  • set_playlist remplace toute la liste. Il ne fait pas d’ajout. Pour ajouter une vidéo, lisez d’abord toutes les pages de get_layer, puis renvoyez la liste complète.
  • Vérifiez avant de relancer une écriture. Après un dépassement de délai, demandez à get_stream_status, ou à l’outil de liste de ce que vous étiez en train de créer, si l’écriture a abouti avant de relancer l’appel. Un second create_project crée un second projet, et un second add_layer ajoute un second calque.
  • Les libellés d’accès sont des indications, pas des verrous. Chaque outil qui écrit ou supprime porte l’annotation, et un client peut s’en servir pour vous demander confirmation avant l’appel. Le protocole ne l’y oblige pas : vérifiez donc le réglage de votre client.
  • Un direct 24/7 a besoin d’une plateforme qui l’autorise. Facebook limite à huit heures un direct diffusé uniquement sur Facebook : un direct 24/7 a donc besoin de YouTube, de votre propre serveur, ou d’une seconde destination en plus de Facebook.
  • Révisions du protocole de 2024-10-07 à 2025-11-25. Un client limité à la révision 2026-07-28 ne peut pas se connecter : c’est la première chose à vérifier quand un client n’y parvient pas.

Questions

L’agent peut-il supprimer des éléments ?

Oui. Il peut supprimer une scène, remplacer une playlist entière, arrêter une diffusion et annuler une programmation, et le tableau ci-dessus marque chacun de ces outils comme Destructif. Avec ?read_only=1 dans l’URL, le serveur n’en propose aucun.

Fonctionne-t-il avec Claude Desktop ou ChatGPT ?

Pas encore. Tous deux passent par OAuth pour un serveur distant, alors que ce serveur s’authentifie avec votre clé d’API. Claude Code, Codex CLI, Cursor, VS Code et Gemini CLI acceptent tous une clé, et chacun a sa configuration sur cette page.

L’agent peut-il importer une vidéo depuis mon ordinateur ?

Non. La vidéo provient de votre bibliothèque LiveReacting, ou l’agent importe un fichier à la fois depuis un lien Google Drive, Dropbox ou YouTube. Pour importer depuis votre propre disque, utilisez LiveReacting Studio.

Où trouver la référence complète ?

Chaque outil, chaque paramètre d’entrée, chaque champ de réponse et chaque code d’erreur figure dans la référence MCP. L’API REST sur laquelle il repose est documentée juste à côté.

Commencez avec un compte gratuit.

Créez votre direct dans le studio avec l’offre Free, qui n’expire pas. Passez à n’importe quelle offre payante quand vous êtes prêt à le confier à un agent : la clé d’API est incluse.

  • Sans carte bancaire
  • 4.8 d’après 633 avis

Vous voulez d’abord voir les chiffres ? Voir les offres et les tarifs