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.
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
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-adaptersimport 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:readFaites 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 ?”
- Le nœud appelle Roster :
resolve( query: "Qui doit approuver le déploiement en production d'Atlas ?" ) - 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.
- Le graphe conserve le participant identifié et crée la tâche d'approbation.
- 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.