Roster pour LangGraph

Ajoutez un contexte organisationnel en direct à vos agents avec état.

Connectez LangGraph à Roster pour que vos agents puissent déterminer qui est responsable, qui doit approuver ou effectuer la revue, et qui doit prendre en charge une escalade, sans intégrer de personnes dans la logique du graphe.

LangGraph contrôle l'exécution de l'agent. Roster détermine qui doit agir.

Connecter Roster à LangGraphLire la documentation MCP de Roster

Dernière vérification : 14 juillet 2026

Les décisions organisationnelles n'ont pas leur place dans le code du graphe

LangGraph donne aux développeurs un contrôle précis sur l'état, les embranchements, l'exécution durable et les étapes avec intervention humaine.

Mais le graphe doit encore obtenir une réponse à jour lorsqu'un nœud atteint une décision dépendant d'une personne :

Qui est responsable de ce service ?
Qui peut approuver cette demande au Canada ?
Qui doit réviser un changement dépassant ce seuil ?
Qui doit recevoir cette escalade ?
Qui remplace l'approbateur habituel ?

Intégrer des noms, adresses courriel ou règles d'organigramme statiques dans les nœuds fragilise le graphe. La réponse peut dépendre du projet, d'un rôle métier, de la région, de l'annuaire, des libellés ou d'une délégation active. Roster conserve ce contexte organisationnel hors du graphe et expose la résolution des participants comme capacité réutilisable à l'exécution.

Comment Roster s'intègre à un agent LangGraph

Les applications LangGraph peuvent consommer des outils MCP via le paquet d'adaptateurs MCP LangChain. Roster est configuré comme serveur MCP Streamable HTTP distant.

Agent ou workflow LangGraph
        ↓
Adaptateur MCP LangChain
        ↓
Serveur MCP Streamable HTTP de Roster
        ↓
Projet + modèle de participants
        ↓
Utilisateurs, groupes, rôles, appartenances et délégations
        ↓
Responsable, approbateur, réviseur ou contact d'escalade identifié

Ce que les agents LangGraph peuvent identifier

Étapes d'approbation humaine
Sélectionnez le participant courant avant que le graphe ne se mette en pause ou ne crée une tâche d'approbation.
Qui doit approuver ce changement en production ?
Attribution dynamique
Attribuez une tâche selon la responsabilité actuelle du projet plutôt qu'un nom stocké dans l'état ou le code.
Qui est responsable de l'intégration client en Amérique du Nord ?
Routage des revues
Identifiez le bon réviseur technique, sécurité, juridique ou métier à partir du contexte accumulé par le graphe.
Qui doit réviser cette modification de la logique d'authentification ?
Embranchements d'escalade
Sélectionnez le bon contact lorsqu'un délai, une exception ou une règle métier déclenche une escalade.
Qui reçoit une escalade de sévérité 1 pour Atlas ?
Passage de relais à un humain
Déterminez la personne ou le groupe responsable lorsqu'un agent doit transmettre le travail hors du système d'agents.
Quel participant doit intervenir après la détection d'un problème de conformité ?
Remplacement par délégation
Retournez le délégué actif lorsque le participant habituel n'est pas disponible.
Qui remplace l'approbateur de mise en production aujourd'hui ?

Connecter Roster à LangGraph

Les applications LangGraph peuvent charger les outils MCP de Roster via le paquet langchain-mcp-adapters. Configurez Roster comme serveur HTTP distant et transmettez une clé API Roster limitée via l'en-tête Bearer.

pip install langchain-mcp-adapters
import os
from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient(
    {
        "roster": {
            "transport": "http",
            "url": "https://roster.example.com/mcp",
            "headers": {
                "Authorization": f"Bearer {os.environ['ROSTER_API_KEY']}"
            },
        }
    }
)

roster_tools = await client.get_tools()

La clé requiert la portée mcp:resolve pour appeler resolve. Ajoutez mcp:resolve-requests:read, mcp:projects:read ou mcp:participants:read uniquement si l'agent doit aussi accéder à ces surfaces de lecture. L'accès effectif reste limité par les autorisations Roster de l'identité active et les règles de ressources cibles.

Portées pour une automatisation limitée à resolve

Pour les workflows limités à resolve, utilisez des portées restreintes. La clé appartient à une identité Roster et reste contrainte par ses autorisations Roster et les règles de ressources cibles.

mcp:resolve
mcp:resolve-requests:read
mcp:projects:read
mcp:participants:read

Faites de la résolution une étape explicite du graphe

Pour un comportement prévisible, ajoutez un nœud dédié qui appelle Roster lorsque le workflow atteint une décision de responsabilité, d'approbation, de revue ou d'escalade. Conservez le résultat structuré dans l'état du graphe, puis routez selon l'issue.

États recommandés :

- participant identifié ;
- aucun participant admissible ;
- résultat out_of_scope ;
- échec d'autorisation ;
- indisponibilité de Roster.

Ne remplacez jamais silencieusement un échec par un nom
déduit du prompt, du dépôt ou de la mémoire du modèle.

Exemple : router une approbation de mise en production

Un graphe de livraison atteint son nœud d'approbation avec le projet, l'environnement et le niveau de risque dans son état.

Qui doit approuver le déploiement en production d'Atlas ?
  1. Le nœud appelle Roster :
    resolve(
      query: "Qui doit approuver le déploiement en production d'Atlas ?"
    )
  2. Roster évalue le projet applicable, le participant concerné, les libellés et métadonnées, l'appartenance d'annuaire, le statut actif et les délégations.
  3. Le graphe conserve le participant identifié et crée la tâche d'approbation.
  4. Si aucun participant admissible n'est retourné, le graphe suit une branche d'exception explicite plutôt que de deviner.

Le graphe poursuit sur sa branche résolue ou sur une branche d'exception définie lorsque Roster ne retourne aucun participant admissible.

Roster complète LangGraph

LangGraph reste responsable de l'état des agents, du contrôle de flux, de la persistance, des checkpoints, de l'exécution des outils et de l'orchestration des interventions humaines.

Roster fournit la couche de décision organisationnelle utilisée lorsque le graphe a besoin d'une personne, d'un groupe, d'un rôle ou d'un délégué. Il ne remplace ni l'état LangGraph, ni la logique de routage, ni l'infrastructure d'exécution.

Sécurité et gouvernance

Attribution de l'identité
Utilisez une identité Roster distincte par agent ou compte de service lorsque l'attribution l'exige.
Moindre privilège
Accordez mcp:resolve pour la résolution des participants. Ajoutez uniquement les portées de lecture mcp:* nécessaires.
Limites de projet
L'accès MCP ne contourne pas les règles d'autorisation Roster au niveau projet et ressource.
Gestion des secrets
Chargez les clés API depuis des variables d'environnement ou un gestionnaire de secrets. Ne les intégrez pas au code ou à la configuration du graphe.
Gestion explicite des échecs
Modélisez l'absence de résultat, out_of_scope, l'échec d'autorisation et l'indisponibilité comme états du graphe.
Requêtes consultables
Utilisez Requêtes Resolve pour consulter le statut, l'acteur, le projet, la requête et le nombre de résultats visibles par l'identité active.

Questions fréquentes

Non. Roster est un serveur MCP distant. Une application LangGraph charge ses outils via les adaptateurs MCP LangChain et les appelle depuis un agent ou un nœud dédié.

Ajoutez un contexte organisationnel courant à vos agents LangGraph

Conservez la logique d'exécution dans LangGraph et laissez Roster identifier les personnes, groupes, rôles et délégués responsables de la suite.

Connecter Roster à LangGraphLire la documentation MCP de RosterExplorer toutes les intégrations