DEV Community

Cover image for Comment connecter un chat Claude à vos projets osFoundry avec un connecteur personnalisé
BBT for BBT Français

Posted on

Comment connecter un chat Claude à vos projets osFoundry avec un connecteur personnalisé

À la fin de ce guide, une conversation Claude ordinaire sur claude.ai peut ouvrir les Notes, les bases de connaissances et les Records d'un de vos projets osFoundry, répondre à partir de ces contenus et publier dans le canal de discussion de ce projet. Avec votre approbation, elle peut aussi les modifier. Vous restez connecté à Claude comme d'habitude. À chaque appel d'outil, osFoundry décide ce que ce chat a le droit de toucher, et chaque appel est listé dans osFoundry sous le Recent activity de la connexion. ChatGPT se connecte de la même façon, avec la même adresse de serveur.

Qui fait quoi

Côté Claude Côté osFoundry
Connexion Votre compte Claude, inchangé Votre compte osFoundry approuve la connexion une fois, pour un workspace
Ce qui exécute le modèle Claude, dans le chat que vous utilisez déjà Rien. Ni modèle ni clé de fournisseur sur ce chemin
Où s'exécutent les outils Claude envoie l'appel d'outil api.osfoundry.io l'exécute après avoir vérifié l'accès
Ce qui est accessible Ce que le serveur renvoie Les projets auxquels vous avez ajouté la connexion, plus les canaux où vous l'avez invitée
Approbations La demande d'autorisation d'outil de Claude Les modifications GitNest et Room attendent sous "Needs your approval"
Où restent les données La réponse reste dans votre chat Claude Les Notes, records et articles restent dans osFoundry. Les éléments purement locaux ne quittent jamais l'appareil

Configuration

1. Créer la connexion dans osFoundry

Dans osFoundry, cliquez sur l'icône de clé dans l'en-tête et ouvrez l'onglet Connected. Le panneau s'intitule "Connected agents" et indique dans quel workspace vous êtes. Sous "Connect in three steps" :

  • Assistant : choisissez Claude
  • Display name : un nom que vous reconnaîtrez plus tard, par ex. Claude research
  • Cliquez sur Add assistant (ajouter un assistant)

La nouvelle connexion affiche "Setup pending. This assistant cannot read or change anything yet." Copiez la Server address avec le bouton Copy à côté :

https://api.osfoundry.io/api/v1/external-mcp
Enter fullscreen mode Exit fullscreen mode

L'onglet Connected après Add assistant, avec l'adresse du serveur et une connexion en attente

Exemple : L'onglet Connected après Add assistant, avec l'adresse du serveur et une connexion en attente

2. L'ajouter à Claude comme connecteur personnalisé

Dans Claude, ouvrez Customize → Connectors et ajoutez un connecteur personnalisé avec cette URL. Avec un forfait Team ou Enterprise, un propriétaire de l'organisation l'ajoute d'abord sous Organization settings → Connectors, puis chaque membre se connecte. Les étapes d'Anthropic pour les connecteurs MCP distants se trouvent dans le guide des connecteurs personnalisés de Claude.

Quand vous cliquez sur Connect, Claude trouve tout seul la page de connexion d'osFoundry. Vous ne collez ni client ID ni clé.

3. Approuver un workspace

Votre navigateur arrive sur https://osfoundry.io/external-assistant-authorize, une page intitulée "Connect an agent". Elle affiche le client de l'assistant et l'hôte vers lequel il revient, puis demande :

  • Workspace to connect : un seul workspace. Un deuxième workspace nécessite sa propre connexion.
  • Requested capabilities, en termes simples : "Read supported resources in projects you add", "Change supported resources where you have edit access", "Run sessions where you grant a runner role".
  • Connection : choisissez "Use pending: Claude research" pour la rattacher à la connexion de l'étape 1, ou laissez "Create a new connection".
  • Cochez "I approve connecting this assistant to ", puis Connect.

Vous êtes renvoyé vers Claude. La connexion est active mais ne voit encore rien. Une nouvelle connexion démarre avec zéro projet.

4. L'ajouter à un projet

De retour dans icône de clé → Connected, sélectionnez la connexion. Elle indique maintenant "Connected." Sous Projects, choisissez un projet et cliquez sur Add to project.

La connexion ajoutée à un projet, avec son chat lié en dessous

Exemple : La connexion ajoutée à un projet, avec son chat lié en dessous

Cela donne accès au contenu synchronisé pris en charge dans ce projet : Notes, bases de connaissances, canaux Record, Rooms cloud, dépôts GitNest qui lui sont assignés et canal de discussion du projet. Le contenu que vous ajoutez au projet plus tard est inclus aussi. Les canaux Message ordinaires sont à part. Utilisez Message channels → Choose a Message channel → Invite pour chaque canal où le chat doit lire et répondre.

La section Tools indique "All supported tools are on by default." Décochez ceux que vous ne voulez pas donner à cette connexion et cliquez sur Save tools.

La liste Tools d'une connexion Claude, tous activés par défaut

Exemple : La liste Tools d'une connexion Claude, tous activés par défaut

5. L'activer dans le chat

Dans une conversation Claude, ouvrez le menu + → Connectors et activez le connecteur osFoundry. Ensuite, demandez simplement en langage courant.

Un vrai déroulé

Le prompt et la réponse ci-dessous sont un contenu d'exemple tiré d'un projet de démonstration. Les noms d'outils et d'arguments sont ceux que le serveur en production annonce dans tools/list. Dans claude.ai, les appels apparaissent sous le nom du connecteur. Si vous ajoutez la même URL à Claude Code sous le nom osfoundry, les mêmes outils apparaissent comme mcp__osfoundry__list_project_resources, etc.

Exemple

Vous : Avec osFoundry, qu'est-ce qui reste ouvert dans la checklist du lancement Q3 ?
       Vérifie si la KB du support contredit quelque chose, puis passe
       le record "pricing page" en Ready.

Claude → list_granted_resources {}
       ← 1 projet connecté : "Launch Q3" (workspace)
Claude → list_project_resources {"project_id": "…", "resource_type": "note", "search": "checklist"}
       ← Note "Q3 launch checklist"
Claude → list_note_tabs {"note_id": "…"}
       ← onglets : Note (texte), Sheet "Owners"
Claude → read_note_tab {"note_id": "…", "tab_id": "…"}
       ← 9 éléments, 3 non cochés
Claude → search_knowledge_base {"knowledge_base_id": "…", "query": "refund window"}
       ← article "Refund policy" (mis à jour il y a 2 jours)
Claude → read_record_item {"record_channel_id": "…", "item_id": "…"}
       ← "pricing page", status Draft, version …
Claude → edit_record_item {"record_channel_id": "…", "item_id": "…",
                           "values": {"status": "Ready"},
                           "expected_version": "…", "idempotency_key": "…"}
       [Claude vous demande d'autoriser cet appel d'outil → Allow]
       ← enregistré, nouvelle version …

Claude : Trois éléments restent ouverts : la date d'embargo presse,
         la traduction de la FAQ et la ligne sur le remboursement de
         la pricing page. La checklist indique 14 jours ; l'article de
         la KB "Refund policy" indique 30. J'ai passé le record de la
         pricing page en Ready.
Enter fullscreen mode Exit fullscreen mode

Deux détails de cette transcription sont voulus. edit_record_item exige la version renvoyée par read_record_item : un record modifié entre-temps est donc rejeté au lieu d'être écrasé. Un idempotency_key répété renvoie le premier résultat : un appel relancé n'écrit donc pas deux fois.

Où passe la limite

osFoundry ne peut pas ouvrir vos chats Claude. La connexion MCP permet à Claude d'appeler les outils d'osFoundry quand il le décide. osFoundry n'a aucune API dans l'autre sens pour lister, lire ou démarrer une conversation personnelle. L'outil qui lie un chat à un projet (link_current_chat) prend une étiquette que le chat déclare lui-même, et osFoundry la traite comme une indication de routage, pas comme une identité vérifiée. Pour la même raison, Claude ne reçoit aucune notification en arrière-plan d'osFoundry. Il agit quand vous ouvrez la conversation et posez votre demande.

Les données purement locales restent locales. Le serveur le dit lui-même dans sa réponse à initialize : "Local-only data is unavailable to cloud clients." Les Rooms locales, les sessions Graph locales et le contenu jamais synchronisé ne sont pas visibles par la connexion. Le partage des sessions Graph du bureau est un interrupteur séparé dans le même onglet, et l'application de bureau doit être ouverte et connectée.

L'accès est vérifié à chaque appel, pas à chaque connexion. Chaque appel est confronté au statut de la connexion, à son workspace, aux membres actuels du projet, au projet dans lequel se trouve l'élément à cet instant et à votre propre rôle sur cet élément. Déplacez une Note vers un autre projet, retirez le projet ou cliquez sur Revoke connection, et l'appel suivant est refusé. Les modifications exigent aussi que vous, la personne qui a approuvé la connexion, ayez toujours les droits d'édition.

Certaines écritures deviennent des propositions. Les tâches GitNest, les change sets, les imports de fichiers, les pull requests et les installations d'apps dans les Rooms passent par des outils propose_…. Elles attendent dans l'onglet Connected sous "Needs your approval", où vous voyez le dépôt ou la Room cible et les fichiers avant de choisir Approve ou Decline. Claude ne reçoit jamais votre token du fournisseur Git ni aucune valeur secrète.

Les canaux Message nécessitent une invitation. Faire partie d'un projet n'ouvre que le canal de discussion de ce projet. Tout autre canal nécessite un Invite explicite, et un canal privé doit être ouvert par son propriétaire.

Ensuite

Ajoutez une base de connaissances au même projet et posez à Claude une question à laquelle vous répondriez normalement avec elle, par ex. « Que dit notre KB sur les remboursements, avec le nom de l'article ? ». search_knowledge_base renvoie l'ID de l'article et la date de sa dernière mise à jour, ce qui permet de vérifier la source. L'organisation des bases de connaissances d'osFoundry est présentée sur la page des bases de connaissances.

Top comments (0)