Aller au contenu principal

Assistant IA (MCP)

CongPlan peut être connecté à un assistant IA via l'interface MCP (Model Context Protocol). Tu peux ainsi poser des questions de planification en langage naturel ou dicter des entrées, au lieu de cliquer à travers les menus. L'assistant lit et écrit les mêmes données que l'application : chaque action passe par les mêmes contrôles d'autorisation, contrôles de conflit et est consignée dans le journal d'audit.

Standard ouvert

MCP est un standard ouvert, la connexion fonctionne donc avec n'importe quel assistant compatible MCP. CongPlan met à disposition un point d'accès MCP par assemblée et utilise OAuth 2.1 pour l'autorisation. Si ton client prend en charge OAuth, tu te connectes avec la seule URL du point d'accès et tu t'identifies via CongPlan — aucun jeton n'est nécessaire. Un jeton d'accès personnel n'est nécessaire que pour les clients sans prise en charge d'OAuth, ou lorsque tu as besoin d'un identifiant d'accès statique et durable.

Avant de commencer​

MCP est désactivé par défaut. Deux étapes sont nécessaires avant de pouvoir l'utiliser :

  1. Un administrateur active l'interface MCP pour l'assemblée (dans les paramètres d'administration).
  2. Un administrateur t'accorde l'accès afin que tu puisses connecter un assistant — par connexion OAuth ou en créant un jeton personnel. Si tu n'as pas encore d'accès, tu peux le demander depuis l'écran MCP.

Connecter ton assistant​

Le point d'accès MCP de CongPlan est https://my.congplan.app/api/mcp.

Claude.ai / Claude Desktop​

  1. Ouvre les paramètres de ton compte Claude (appelés Paramètres ou Customize selon ton forfait) et trouve Connecteurs > Ajouter un connecteur personnalisé.
  2. Colle l'URL du point d'accès ci-dessous. Claude ouvre une fenêtre de navigateur pour t'identifier via CongPlan et termine la connexion OAuth automatiquement — aucun jeton n'est nécessaire.
https://my.congplan.app/api/mcp

Claude Code CLI​

# OAuth (recommended): opens a browser to log in to CongPlan
claude mcp add --transport http congplan https://my.congplan.app/api/mcp

# Personal access token (fallback for non-interactive/CI use)
claude mcp add --transport http congplan https://my.congplan.app/api/mcp \
--header "Authorization: Bearer cpm_your_token_here"

ChatGPT (connecteur personnalisé)​

  1. Dans ChatGPT, ouvre les Paramètres et trouve Connecteurs (le libellé exact peut varier selon le forfait ou la version de l'application) ; choisis d'ajouter ou de créer un nouveau connecteur.
  2. Colle l'URL du point d'accès et termine la connexion OAuth. Aucun jeton n'est nécessaire — les connecteurs ChatGPT prennent en charge OAuth directement.

mcp.json générique (Cursor, Windsurf, etc.)​

Les clients qui lisent leur liste de serveurs MCP depuis un fichier mcp.json prennent en charge les deux types de connexion — utilise OAuth si le client le permet, sinon un jeton porteur (bearer token) :

{
"mcpServers": {
"congplan-oauth": {
"url": "https://my.congplan.app/api/mcp"
},
"congplan-token": {
"url": "https://my.congplan.app/api/mcp",
"headers": {
"Authorization": "Bearer cpm_your_token_here"
}
}
}
}

Laisser ton assistant se configurer lui-même​

De nombreux assistants peuvent configurer eux-mêmes la connexion si tu leur donnes une courte instruction à copier-coller :

Add the CongPlan MCP server at https://my.congplan.app/api/mcp using OAuth.
If OAuth isn't supported, ask me for a personal access token and use it as an
Authorization: Bearer header instead.

Jetons d'accès personnels​

Tu n'as besoin d'un jeton que si ton client ne prend pas en charge OAuth ou s'il te faut un identifiant de longue durée.

Création d'un token d'accès MCP

Dès que tu as l'accès, tu crées un jeton personnel dans les paramètres de ton compte :

  1. Ouvre Moi > Intégrations.
  2. Choisis Créer un jeton.
  3. Donne un nom au jeton, sélectionne les portées qu'il peut utiliser et choisis une expiration (90 jours au maximum).
  4. Copie le jeton immédiatement — il n'est affiché qu'une seule fois et ne peut pas être récupéré ultérieurement.

Utilise un jeton dans l'assistant compatible MCP de ton choix pour le connecter à ton assemblée.

Portées​

Les portées déterminent exactement ce qu'un jeton peut faire. Elles sont réparties par domaine en lecture et écriture, par exemple :

  • Lecture — profil de l'assemblée, proclamateurs, groupes de prédication, réunions, affectations (y compris les affectations techniques), réunions pour la prédication, tâches, témoignage public, discours publics à l'extérieur et (sensible) absences.
  • Écriture — tâches, réunions pour la prédication, affectations, réunions, témoignage public ainsi que tes propres demandes de cession ou inscriptions.

N'accorde que les portées dont tu as réellement besoin. Un jeton peut être révoqué à tout moment.

Demandes avec des noms​

Lorsque tu demandes à l'assistant d'agir pour des proclamateurs nommés, par exemple « Saisis une absence pour Linda et Tim », il doit d'abord faire correspondre ces noms aux identifiants internes des proclamateurs dans CongPlan. Accorde la portée Lecture des proclamateurs avec la portée d'écriture correspondante, par exemple Écriture des absences, afin que l'assistant puisse retrouver les personnes à modifier.

Si la portée de lecture des proclamateurs manque, l'assistant ne peut pas trouver la bonne personne de façon fiable. Il doit te demander d'ajouter cette portée ou de fournir les identifiants exacts. Si un nom est introuvable ou correspond à plusieurs proclamateurs, il doit demander une précision au lieu de deviner.

Exemples de demandes​

Ce que tu dis dépend de l'assistant, mais des demandes typiques ressemblent à ceci :

  • « Qui est affecté dans la réunion Vie et Ministère de la semaine prochaine ? »
  • « Quelles parties ne sont pas encore affectées pour la réunion du week-end du 14 juillet ? »
  • « Quelles réunions sont prévues la semaine prochaine ? »
  • « Inscris Frère Müller comme orateur pour le discours public du 14 juillet. »
  • « Crée une tâche : vérifier les micros pour la réunion du week-end le samedi. »
  • « Montre-moi toutes les réunions pour la prédication de cette semaine avec le responsable et le point de rencontre. »
  • « Qui a le micro ou le service audio/vidéo ce week-end ? »
  • « Lesquels de nos orateurs ont un discours public à l'extérieur prévu le mois prochain ? »
  • « Crée la réunion du week-end du 16 août. »

L'assistant propose l'action ; elle est enregistrée par les mêmes voies qu'une saisie manuelle, y compris les contrôles d'éligibilité et de conflit. Lorsque tu lui demandes de créer une nouvelle réunion, CongPlan applique automatiquement le modèle de programme correspondant — le même que celui obtenu en la créant à la main — afin que la réunion ne commence pas vide. Si aucun modèle ne correspond (ou si tu demandes explicitement une réunion vide), elle est créée sans programme.

Anonymisé par défaut​

L'interface MCP transmet à ton assistant des identifiants internes de proclamateurs, pas des noms. La planification, les statistiques et les contrôles d'éligibilité s'appuient tous sur ces identifiants. Quand l'assistant examine qui a été affecté récemment pour équilibrer la charge, il évalue cet historique de façon anonymisée, sans voir qui sont les personnes.

Les noms ne sont résolus qu'à la toute fin, pour la réponse qui t'est montrée, et uniquement pour les quelques personnes que cette réponse mentionne réellement. Cette recherche est une étape distincte qui nécessite la portée Lecture des proclamateurs, et elle ne renvoie rien d'autre que les noms d'affichage des identifiants demandés, sans liste complète ni autre détail. Sans cette portée, l'assistant continue de travailler avec des identifiants, il ne peut simplement pas leur associer de noms.

Autorisations et sécurité​

  • L'assistant ne peut faire que ce que ton rôle et les portées de ta connexion OAuth ou de ton jeton autorisent — la même isolation de l'assemblée et les mêmes droits que dans l'application s'appliquent.
  • Chaque action est consignée dans le journal d'audit.
  • Les jetons sont personnels. Traite un jeton comme un mot de passe et révoque-le lorsque tu n'en as plus besoin.

Voir aussi​