DataGrout

officiel

Couche de découverte, gouvernance et orchestration pour les agents IA travaillant sur plusieurs serveurs MCP et intégrations.

Que pouvez-vous faire avec DataGrout MCP ?

  • Provisionnez un serveur DataGrout et une identité mTLS automatiquement — appelez bootstrap_onramp pour enregistrer un agent, obtenir des identifiants OAuth et générer un certificat signé en une seule étape.
  • Authentifiez-vous avec mTLS, OAuth 2.1 ou des jetons bearer — configurez le client avec une identité basée sur certificat, des JWT à actualisation automatique, ou un jeton simple pour les tests.
  • Découvrez et invoquez des outils en langage naturel — utilisez l’Interface Intelligente (discover/perform) pour permettre à un agent de trouver et d’appeler des outils en décrivant un objectif plutôt qu’en spécifiant des noms d’outils exacts.
  • Suivez l’utilisation du crédit à chaque appel — inspectez le reçu de coût renvoyé avec chaque réponse pour surveiller les dépenses par rapport aux limites de politique ou de budget.
  • Parcourez des objectifs multi-étapes de manière interactive — appelez client.guide(goal=...) pour avancer pas à pas dans un flux de travail guidé avec le serveur.
  • Basculez entre les transports Streamable HTTP, JSON-RPC ou WebSocket — sélectionnez le transport mcp, jsonrpc ou websocket sans modifier la configuration d’authentification.

Documentation

La plupart des clients MCP gèrent une seule tâche : envoyer une requête, obtenir une réponse. Conduit est conçu pour un problème légèrement différent — un agent qui doit prouver son identité, continuer à travailler sur de longues sessions sans se ré-authentifier manuellement, et rester dans un budget de coût ou de politique pendant qu'il le fait. C'est l'écart que ce SDK comble.

Bibliothèque cliente MCP avec mTLS intégré, OAuth 2.1 et découverte sémantique d'outils. Disponible pour Python, TypeScript, Rust, Elixir et Ruby.

Remplacez un seul import et un agent existant récupère l'identité basée sur certificat, la visibilité des coûts et la découverte d'outils en langage naturel — aucune autre modification de code n'est requise.

Avez-vous besoin du SDK, ou simplement du point de terminaison brut ?

Chaque serveur DataGrout expose un point de terminaison MCP standard — tout client compatible MCP peut s'y connecter directement avec simplement une URL et un jeton porteur, sans SDK requis. Conduit est destiné aux cas où vous voulez plus que le strict minimum :

  • Vous voulez une identité basée sur certificat (mTLS) au lieu de gérer un jeton vous-même

  • Vous voulez le suivi des coûts sur chaque appel sans le construire séparément

  • Vous voulez une découverte sémantique pour qu'un agent puisse trouver le bon outil en décrivant un objectif, plutôt que d'avoir besoin du nom exact de l'outil

  • Vous intégrez en Rust, Elixir ou Ruby, où la logique de transport MCP faite à la main demande plus de travail qu'en Python/TypeScript

Si rien de tout cela ne s'applique — par exemple, vous configurez simplement Claude Desktop sur un serveur DataGrout — la configuration JSON mcpServers simple est plus facile et suffisante. Conduit est destiné à construire votre propre agent ou application sur DataGrout, pas à une configuration client de base.

Prise en charge des langages

LangagePaquetInstallation
Pythondatagrout-conduitpip install datagrout-conduit==0.7.0
TypeScript@datagrout/conduitnpm install @datagrout/conduit@0.7.0
Rustdatagrout-conduitcargo add datagrout-conduit@0.7.0
Elixirdatagrout_conduit{:datagrout_conduit, "~> 0.7.0"}
Rubydatagrout-conduitgem install datagrout-conduit -v 0.7.0

Obtenir un serveur sans s'inscrire d'abord

Vous n'avez pas encore de compte ou de point de terminaison DataGrout ? Le SDK peut provisionner les deux directement pour vous (exemple en Python ; le même appel existe dans le SDK de chaque langage — voir la documentation par langage liée ci-dessous pour la syntaxe exacte) :

from datagrout.conduit import ClientBuilder
from datagrout.conduit.onramp import OnrampOptions

client = await ClientBuilder().bootstrap_onramp(OnrampOptions(
    gateway="https://app.datagrout.ai",
    agent_name="my-agent",
    agent_type="claude-sonnet-4-6",
    intended_use="Summarise documents and extract entities.",
))
await client.connect()

Derrière cet appel unique : le SDK enregistre votre agent, échange un jeton à courte durée de vie contre des identifiants OAuth et une URL de serveur, génère une paire de clés locale et la fait signer par l'autorité de certification (CA) de DataGrout. La clé privée reste sur votre machine. Chaque exécution après la première réutilise automatiquement l'identité enregistrée.

Vous préférez le terminal à l'écriture de code : invariant onboard.

Authentification

Trois méthodes, identiques dans les cinq SDK :

  • Bearer token — l'option la plus simple, idéale pour des tests rapides.

  • OAuth 2.1 (client credentials) — le SDK récupère, met en cache et actualise automatiquement les JWT.

  • mTLS — après un amorçage unique, le certificat lui-même authentifie chaque requête ; aucun jeton à gérer par la suite.

Pour mTLS, l'identité est auto-découverte dans un ordre de recherche fixe : un répertoire de remplacement explicite, les variables d'environnement CONDUIT_MTLS_CERT/CONDUIT_MTLS_KEY, CONDUIT_IDENTITY_DIR, le répertoire par défaut ~/.conduit/, puis un .conduit/ local relatif au répertoire de travail. Exécuter plusieurs agents sur une même machine signifie donner à chacun son propre répertoire d'identité.

Pourquoi une autorité de certification dédiée : l'identité machine a des exigences différentes de l'identité navigateur — les agents ont besoin de certificats émis et renouvelés par programmation, sans intervention humaine à chaque fois. La clé de signature réside dans une clé AWS KMS adossée à un HSM (FIPS 140-2 Niveau 2) et ne la quitte jamais. Le certificat CA est public à l'adresse ca.datagrout.ai/ca.pem pour une vérification indépendante de la chaîne.

Options de transport

TransportProtocoleCas d'utilisation
mcp (par défaut)MCP sur Streamable HTTP/SSEVous voulez un support complet du protocole, du streaming, des notifications
jsonrpcJSON-RPC 2.0 sur HTTP POSTVous voulez quelque chose de plus simple et sans état
websocketJSON-RPC 2.0 sur WebSocketVous avez besoin que le serveur pousse des événements, pas seulement réponde

L'authentification fonctionne de manière identique sur les trois — changer de transport ne signifie pas changer la façon dont vous vous authentifiez.

Fonctionnalités clés

  • Interface intelligente (activée par défaut) — réduit toute la surface d'outils à deux appels, discover et perform. L'agent décrit un objectif en langage naturel au lieu de raisonner sur des centaines de schémas d'outils. Désactivez avec use_intelligent_interface=False pour voir les outils bruts.

  • Découverte sémantique — également disponible de manière autonome, pour rechercher des outils par leur signification plutôt que par leur nom exact.

  • Visibilité des coûts — chaque appel renvoie un reçu avec l'utilisation de crédits.

  • Flux de travail guidés — client.guide(goal=...) parcourt un objectif en plusieurs étapes de manière interactive.

  • Certificats de confiance cognitifs — preuve cryptographique qu'un flux de travail est sans cycle, sûr au niveau des types, conforme aux politiques et dans le budget, signés par la même CA que les identités d'agents.

Espaces de noms propriétaires

Espace de nomsÀ quoi il sert
prismTransformation de données, création de graphiques, rendu, export
logicMémoire d'agent persistante via une couche logique Prolog
wardenContrôles de sécurité, vérification d'intention, consensus multi-modèles
deliverablesEnregistrement et récupération du produit de travail terminé
ephemeralsInspection et gestion des résultats en cache
flowOrchestration de flux de travail — routage, approbation humaine, historique d'exécution

Les flux peuvent être enregistrés sous forme de compétences nommées et réutilisables (save_as_skill=True) ou intégrés en ligne comme étapes ponctuelles via $compute. flow.route gère les branchements conditionnels ; flow.request_approval/flow.request_feedback insèrent des points de contrôle humains. Tout ce qui n'est pas couvert par un espace de noms est accessible via un appel générique dg().

Où cela se connecte aux intégrations de DataGrout

Conduit est la couche entre votre agent et n'importe quel serveur DataGrout — y compris les intégrations Salesforce, QuickBooks et Oracle Fusion Cloud. Un appel call_tool("salesforce@1/get_lead@1", ...) fonctionne de la même manière quelles que soient les intégrations configurées sur ce serveur ; le SDK n'a pas besoin de connaître une intégration spécifique à l'avance.

Où aller ensuite

  • Documentation par langage : README Python, TypeScript, Rust, Elixir, Ruby (GitHub)

  • Détails de sécurité : app.datagrout.ai/security

  • Outils gratuits sans compte : MCP Inspector et JSON-RPC Inspector, basés sur navigateur

  • Labs : comptes rendus de recherche sur les certificats de confiance, l'analyse sémantique de code, l'application des politiques, le modèle de crédit, et plus encore

Licence

MIT