Intégrations / Serveur MCP
IntégrationsMis à jour le 24 octobre 2026
Serveur MCP
Référence des outils, compatibilité du protocole et contrôles d'accès des clients
Version : Ce guide décrit la version stable 1.0.8 de Parrot Scribe. La bêta publique 1.1.0 propose des commandes différentes et certaines fonctions restent inachevées. Consultez Installation de la bêta et différences avant d'appliquer ces instructions à la bêta.
Nécessite Parrot Scribe Pro. L'accès au serveur MCP fait partie de Parrot Scribe Pro. Les licences existantes incluent déjà Pro.
Commencez par Connecter votre agent pour ChatGPT, Claude et Cursor. Ce guide utilise Réglages > Apps IA. Écouter et récapituler explique la méthode une fois ces apps connectées.
Pour 1.1.0-beta.1 : Suivez la Configuration de la bêta. Ses niveaux d'accès sont Simple et Approuvé. Son adaptateur de bureau géré vérifie l'app signée par un socket Unix privé, et les clients manuels utilisent un transport de boucle locale authentifié distinct. Son journal en direct conserve 1 024 phrases confirmées. Simple refuse les outils destructifs plutôt que d'afficher la demande par appel de l'app stable. Les réglages par défaut de transport, d'accès et de pagination de la version stable ci-dessous ne constituent pas le contrat de la bêta.
Qu'est-ce que MCP ?
Le Model Context Protocol (MCP), documentation en anglais permet aux assistants IA d'utiliser des outils et des données externes par une interface structurée. Parrot Scribe comprend le serveur local et l'adaptateur de connexion signé. Votre agent a toujours besoin d'une connexion et d'un jeton client. Le plugin ajoute les instructions d'écoute et de récapitulatif lorsqu'elles sont prises en charge.
Fonctionnement
Le serveur MCP s'exécute dans Parrot Scribe, dans un seul processus. Aucun serveur distinct n'est à gérer.
- Intégré : le serveur fait partie de Parrot Scribe, sans paquet ni dépendance externe à installer.
- Socket de domaine Unix : la communication utilise un socket Unix local accessible uniquement à son propriétaire.
- Adaptateur : le
parrotscribe-mcp-shimfourni relie les hôtes MCP stdio au socket local. - Authentification par jeton : les clients doivent présenter un jeton valide pendant l'établissement de la connexion.
- Désactivé par défaut : le service MCP reste désactivé tant que vous ne l'activez pas explicitement. Lorsqu'il est désactivé, aucun socket MCP n'est exposé.
Versions du protocole
La version 1.0.1 prend en charge les requêtes 2026-07-28, avec des métadonnées de protocole par requête et server/discover, en plus de la négociation d'initialisation 2024-11-05 utilisée par 1.0.0. Les deux utilisent la même connexion stdio locale. La découverte moderne annonce 2026-07-28. Les anciens hôtes peuvent toujours utiliser la négociation d'initialisation. La prise en charge par le serveur ne signifie pas que chaque hôte choisit le protocole moderne. Les deux parcours conservent l'authentification du client, les autorisations et la nécessité de laisser Parrot Scribe ouvert.
Activer le serveur MCP
Pour ChatGPT, Claude et Cursor, ouvrez d'abord l'app IA de bureau choisie et laissez-la ouverte. Dans Parrot Scribe, ouvrez Réglages > Apps IA, activez Autoriser les apps IA et choisissez Connecter sur la ligne de cette app. Parrot Scribe 1.0.2 gère l'identifiant d'accès. Ne créez pas de jeton distinct pour ces trois apps.
Connecter approuve cette app de bureau sur ce Mac. La connexion reste utilisable, y compris après la fermeture et la réouverture de ChatGPT, Claude ou Cursor. Choisissez à nouveau Gérer… > Connecter après Déconnecter ou après 90 jours sans utilisation. Le maintien de la connexion après un redémarrage nécessite Parrot Scribe 1.0.5. Dans les versions précédentes, l'approbation prend fin à la fermeture de l'app IA.
Pour un autre hôte local, activez Autoriser les apps IA, ouvrez Avancé et créez un jeton pour cet hôte. Copiez-le lorsqu'il est affiché. Il n'est affiché qu'une fois.
Le service reste désactivé tant que vous n'activez pas Autoriser les apps IA. Lorsqu'il est désactivé, aucun socket MCP n'est exposé.
Configurer les hôtes IA
Suivez Connecter votre agent. Un agent hébergé dans le cloud ne peut pas accéder à ce socket local simplement en installant un plugin.
Exemple de première utilisation
Il s'agit d'un exemple illustratif pour Parrot Scribe 1.0.1, pas de l'enregistrement d'une session de bureau testée. L'interface et les instructions disponibles de votre hôte peuvent différer. Terminez d'abord son guide de configuration.
- Vérifier la connexion. Demandez : "Vérifie l'état de Parrot Scribe. Ne démarre pas d'enregistrement." L'agent appelle
get_statuset rapporte l'état reçu. - Choisir une session. Demandez : "Affiche jusqu'à deux sessions récentes de Parrot Scribe." L'agent appelle
list_sessionsaveclimit: 2, lit le tableausessionset vérifiehasMoreetunavailableSessionCount. Il ne doit pas prétendre que ces deux lignes constituent toute votre bibliothèque. - Lire avant de récapituler. Sélectionnez une session à partager et demandez : "Récapitule cette session. Sépare les décisions, les questions non résolues et les suivis proposés." L'agent lit
read_transcript, parcourt chaque page nécessaire et signale toute couverture manquante. - Garder les actions explicites. Vérifiez le récapitulatif et approuvez chaque suivi précis que vous souhaitez faire exécuter. Une demande prononcée dans l'enregistrement reste une proposition jusqu'à votre approbation directe dans la conversation écrite.
Pour essayer l'écoute pendant un enregistrement, chargez les instructions d'écoute et demandez : "Rattache-toi seulement à l'enregistrement en cours. Signale les questions sans réponse ; ne démarre pas un autre enregistrement." Un hôte capable suit le sessionId actif et attend les nouvelles entrées de transcription. S'il ne peut pas rester actif et accepter vos instructions, utilisez plutôt les lectures à la demande. Consultez Écouter et récapituler.
La capture et la transcription restent locales. Le contenu de transcription partagé avec un agent utilisant le cloud peut être envoyé au fournisseur de cet agent.
Modèle d'accès
Parrot Scribe applique des contrôles à deux niveaux :
-
Niveau d'accès du client, défini pour chaque client dans les réglages :
- Désactivé : aucun accès aux outils.
- Activé : niveau par défaut après l'authentification d'un client avec un jeton valide. Les outils d'état et opérationnels sont autorisés. Les outils destructifs demandent toujours confirmation.
- Approuvé : les outils d'état, opérationnels et destructifs sont autorisés sans demande de confirmation.
-
Catégorie d'outil :
Outils d'état
L'état en lecture seule ne nécessite pas d'approbation par appel pour les clients Activés ou Approuvés. Les clients Désactivés n'ont aucun accès aux outils.
| Outil | Description |
|---|---|
get_status | État d'enregistrement (recording, listening, paused, error ou downloading) et sessionId actif, lorsqu'il existe. |
Outils opérationnels
Autorisés pour les clients en mode Activé ou Approuvé.
| Outil | Description |
|---|---|
list_sessions | Métadonnées des sessions et noms des intervenants. |
read_transcript | Contenu de transcription au format TOON dans un objet JSON comprenant les informations de complétude et de pagination. |
search_sessions | Rechercher les sessions enregistrées. Consultez les requêtes de bibliothèque ci-dessous. |
live_transcript | Flux en mémoire lié à une session, avec état, schéma, époque, curseur de séquence et indicateurs de trous. Le tampon circulaire de 100 entrées disparaît au redémarrage. |
list_speakers | Intervenants enregistrés avec leurs métadonnées. |
identify_speakers | Identifier les intervenants d'une session à partir des noms fournis. |
reassign_segment_speaker | Réattribuer un segment précis de transcription à un intervenant existant. |
start_recording | Démarrer l'enregistrement de transcription. |
stop_recording | Arrêter l'enregistrement de transcription. Le sessionId facultatif empêche d'arrêter une autre session. |
Requêtes de bibliothèque
La Bibliothèque et MCP utilisent la même recherche indexée sur toute la bibliothèque. Les requêtes peuvent retrouver le texte des transcriptions, les identifiants de session, les titres, les commentaires et les identités des intervenants. Les limites de résultats restreignent les lignes renvoyées, pas les sessions parcourues.
Dans la version 1.0.1, list_sessions et search_sessions renvoient le même objet JSON dans structuredContent et le premier bloc de contenu texte. Son tableau sessions contient les identifiants des sessions, les horodatages, la durée, les métadonnées des intervenants et les indicateurs d'audio et d'état actif. Les résultats vides contiennent sessions: []. Le même objet de premier niveau comprend totalCount, hasMore et unavailableSessionCount. Utilisez limit et offset pour demander une page. Lorsque hasMore vaut true, augmentez offset du nombre de sessions renvoyées.
La version 1.0.0 place les lignes de session uniquement dans le texte et les compteurs dans structuredContent. Les clients qui analysent son tableau texte ou ses lignes de recherche doivent migrer vers le nouveau tableau sessions.
unavailableSessionCount indique le nombre de sessions stockées qui n'ont pas pu être parcourues. Un résultat vide ne prouve pas que toutes les données de la bibliothèque étaient lisibles. Les requêtes de bibliothèque sont indisponibles jusqu'à la fin de la configuration du chiffrement et de l'initialisation. Consultez Erreurs de récupération de la bibliothèque.
Lire les longues transcriptions
read_transcript accepte un sessionId obligatoire et les paramètres facultatifs limit et sinceSegment. Utilisez une limit bornée lorsque l'hôte limite la taille des résultats d'outils. Lisez le champ transcript et conservez les champs qui l'entourent : returnedCount, totalCount, hasMore et nextSinceSegment. Si hasMore vaut true, utilisez nextSinceSegment comme sinceSegment de la requête suivante. Une lecture n'est complète que lorsque hasMore vaut false.
L'absence de limit renvoie actuellement tous les segments correspondants. La pagination est disponible dans 1.0.0. Un hôte doit la demander et préserver les informations de continuation.
Outils destructifs
Pour les clients Activés, chaque appel demande confirmation. Les clients Approuvés peuvent utiliser ces outils sans demande de confirmation.
| Outil | Description |
|---|---|
remove_speaker | Supprimer le modèle vocal, avec possibilité d'enregistrer à nouveau la voix plus tard. |
forget_speaker | Retirer définitivement un modèle vocal et supprimer les sessions contenant cet intervenant. |
delete_session | Supprimer la session et l'audio associé. |
Arguments du suivi en direct
live_transcript accepte les arguments facultatifs sessionId, sinceSequence, epoch et waitSeconds. Liez le suivi à la session active de get_status, puis renvoyez les deux valeurs de curseur de chaque réponse. Une requête à jour, dont la session et l'époque correspondent, peut attendre de la parole ou un changement d'état pendant 20 secondes au maximum.
Le résultat est disponible dans structuredContent et sous forme JSON dans le bloc de contenu texte. Il contient sessionId lorsqu'il existe, state, epoch, sinceSequence, gap, sessionChanged, minPollIntervalSeconds, schema et text. Le schéma TOON décrit les lignes de texte. Préservez cette enveloppe. Extraire uniquement text fait perdre les informations de continuité et de session.
Si la session ne correspond pas, sessionChanged vaut true et aucun texte de transcription n'est renvoyé. En cas de trou dans la même session, utilisez read_transcript pour récupérer les éléments persistants avant de continuer à partir du curseur renvoyé. Les débuts d'interrogation doivent être espacés d'au moins minPollIntervalSeconds, actuellement 3 secondes. Les outils d'état et de direct autorisent chacun 30 requêtes par minute et par client. Une double interrogation rapide n'est donc pas prise en charge.
Un arrêt explicite peut inclure le sessionId suivi. Une différence d'identifiant provoque un échec sans arrêter la capture. Omettre l'identifiant conserve l'opération d'arrêt générale. Le plugin d'écoute limite toujours ses arrêts à la session suivie. Un récapitulatif historique ou provisoire nécessite seulement des outils de lecture et ne doit pas arrêter l'enregistrement.
Parrot Scribe 1.0.1 annonce ces arguments d'écoute liés à une session. Cela ne transforme pas le texte des transcriptions en instructions autorisées. L'hôte doit séparer les propositions orales de suivi des commandes directes de l'utilisateur et appliquer sa propre politique d'approbation des outils.
Exécution des modifications et audit
Parrot Scribe ne renvoie la réponse d'un outil modifiant les données qu'après un succès ou un échec final de l'opération. Il ne renvoie pas un résultat simplement accepté ou encore en cours.
Avant le début du travail sur les données, Parrot Scribe enregistre durablement un fait d'audit started contenant uniquement un identifiant d'opération, le nom de l'outil et le résultat. Une fois ce travail commencé, il se poursuit jusqu'à son terme même si l'appelant MCP se déconnecte. L'appelant déconnecté peut ne pas recevoir le résultat, mais la déconnexion n'annule ni ne rétablit l'opération.
Après l'opération, Parrot Scribe ajoute un fait d'audit corrélé succeeded ou failed. Si l'app s'arrête de manière inattendue après l'enregistrement de started mais avant celui d'un fait final, le seul fait started signifie que le résultat est inconnu. Il n'affirme pas que la modification a échoué. Cette piste d'audit n'est pas une file de tâches persistante et ne fournit ni récupération automatique, ni nouvelle tentative, ni interrogation d'état.
Cycle de vie des jetons
- Pour ChatGPT, Claude et Cursor, utilisez Connecter dans Réglages > Apps IA. Parrot Scribe stocke cet identifiant d'accès et transmet un identifiant de profil à l'adaptateur.
- Pour un autre hôte, créez un jeton dans Avancé. Transmettez-le à l'adaptateur avec
PARROTSCRIBE_MCP_TOKEN. N'utilisez pas--token. - Les enregistrements de validation du serveur stockent les empreintes cryptographiques des jetons. La configuration gérée des apps de bureau stocke aussi l'identifiant utilisable dans le Trousseau protégé et non synchronisé de ce Mac pour permettre l'authentification de l'adaptateur signé. La configuration générée pour l'hôte ne contient que l'identifiant de profil.
- Révoquer un jeton retire immédiatement l'accès du client et déconnecte les sessions actives utilisant ce jeton.
Modèle de sécurité
Quatre couches protègent vos données :
- Transport : socket Unix local accessible uniquement à son propriétaire.
- Authentification : jeton obligatoire à l'établissement de la connexion.
- Autorisation : niveaux d'accès par client et demandes de confirmation des opérations destructives.
- Contrôles de fréquence : les limites par client et les protections contre l'accès massif réduisent les abus automatisés.
Exemples d'utilisation
- Suivi de réunion : l'IA suit un appel en direct et fait ressortir le contexte pertinent.
- Suivi des actions : l'IA repère les engagements et prépare des tâches de suivi.
- Résumé de session : l'IA produit des résumés structurés après les enregistrements.
- Assistant de recherche : l'IA recherche des tendances dans les transcriptions historiques.
Pour la méthode complète de capture, de vérification, de recherche et d'utilisation facultative de l'IA, consultez Méthode de prise de notes de réunion.