DataGrout

oficial

DataGrout - Capa de descubrim

¿Qué puedes hacer con DataGrout MCP?

  • Aprovisiona un servidor DataGrout y una identidad mTLS automáticamente — llama a bootstrap_onramp para registrar un agente, obtener credenciales OAuth y generar un certificado firmado en un solo paso.
  • Autentica con mTLS, OAuth 2.1 o tokens bearer — configura el cliente con identidad basada en certificados, JWTs de actualización automática o un token simple para pruebas.
  • Descubre e invoca herramientas usando lenguaje natural — usa la Interfaz Inteligente (discover/perform) para que un agente encuentre y llame herramientas describiendo un objetivo en lugar de especificar nombres exactos de herramientas.
  • Realiza un seguimiento del uso de créditos en cada llamada — inspecciona el recibo de costo devuelto con cada respuesta para monitorear el gasto según los límites de política o presupuesto.
  • Recorre objetivos de varios pasos de forma interactiva — llama a client.guide(goal=...) para avanzar paso a paso por un flujo de trabajo guiado con el servidor.
  • Cambia entre transportes Streamable HTTP, JSON-RPC o WebSocket — selecciona el transporte mcp, jsonrpc o websocket sin cambiar la configuración de autenticación.

Documentación

La mayoría de los clientes MCP manejan una sola tarea: enviar una solicitud, obtener una respuesta. Conduit está diseñado para un problema ligeramente diferente: un agente que necesita demostrar quién es, seguir trabajando en sesiones largas sin reautenticarse manualmente y mantenerse dentro de un presupuesto de costos o políticas mientras lo hace. Esa es la brecha que este SDK cubre.

Librería cliente MCP con mTLS, OAuth 2.1 y descubrimiento semántico de herramientas integrados. Disponible para Python, TypeScript, Rust, Elixir y Ruby.

Cambia una sola importación y un agente existente obtiene identidad basada en certificados, visibilidad de costos y descubrimiento de herramientas en lenguaje natural, sin necesidad de otros cambios en el código.

¿Necesitas el SDK o solo el endpoint básico?

Cada servidor DataGrout expone un endpoint MCP estándar: cualquier cliente compatible con MCP puede conectarse directamente con solo una URL y un token de portador, sin necesidad del SDK. Conduit es para casos en los que quieres más que lo mínimo:

  • Quieres identidad basada en certificados (mTLS) en lugar de gestionar un token tú mismo

  • Quieres seguimiento de costos en cada llamada sin construirlo por separado

  • Quieres descubrimiento semántico para que un agente pueda encontrar la herramienta correcta describiendo un objetivo, en lugar de necesitar el nombre exacto de la herramienta

  • Estás integrando en Rust, Elixir o Ruby, donde implementar la lógica de transporte MCP manualmente es más trabajo que en Python/TypeScript

Si nada de eso aplica —por ejemplo, solo estás conectando Claude Desktop a un servidor DataGrout— la configuración JSON simple de mcpServers es más sencilla y suficiente. Conduit es para construir tu propio agente o aplicación sobre DataGrout, no para la configuración básica del cliente.

Soporte de lenguajes

LenguajePaqueteInstalación
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

Obtener un servidor sin registrarse primero

¿Aún no tienes una cuenta o endpoint de DataGrout? El SDK puede aprovisionar ambos directamente (se muestra Python; la misma llamada existe en el SDK de cada lenguaje —consulta la documentación por lenguaje enlazada abajo para la sintaxis exacta):

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()

Detrás de esa única llamada: el SDK registra tu agente, intercambia un token de corta duración por credenciales OAuth y una URL de servidor, genera un par de claves local y lo hace firmar por la CA de DataGrout. La clave privada permanece en tu máquina. Cada ejecución después de la primera reutiliza la identidad guardada automáticamente.

Si prefieres la terminal a escribir código: invariant onboard.

Autenticación

Tres métodos, idénticos en los cinco SDKs:

  • Token de portador — la opción más simple, buena para pruebas rápidas.

  • OAuth 2.1 (credenciales de cliente) — el SDK obtiene, almacena en caché y refresca los JWT automáticamente.

  • mTLS — después de una configuración inicial única, el propio certificado autentica cada solicitud; sin tokens que gestionar después.

Para mTLS, la identidad se descubre automáticamente en un orden de búsqueda fijo: un directorio de anulación explícito, variables de entorno CONDUIT_MTLS_CERT/CONDUIT_MTLS_KEY, CONDUIT_IDENTITY_DIR, el predeterminado ~/.conduit/, luego un .conduit/ local relativo al directorio de trabajo. Ejecutar múltiples agentes en una máquina significa dar a cada uno su propio directorio de identidad.

Por qué una CA dedicada: la identidad de máquina tiene requisitos diferentes a la identidad de navegador — los agentes necesitan certificados emitidos y rotados programáticamente, sin intervención humana cada vez. La clave de firma reside en una clave AWS KMS respaldada por HSM (FIPS 140-2 Nivel 2) y nunca la abandona. El certificado de la CA es público en ca.datagrout.ai/ca.pem para verificación independiente de la cadena.

Opciones de transporte

TransporteProtocoloUsar cuando
mcp (predeterminado)MCP sobre HTTP/SSE transmitidoQuieres soporte completo del protocolo, transmisión, notificaciones
jsonrpcJSON-RPC 2.0 sobre HTTP POSTQuieres algo más simple y sin estado
websocketJSON-RPC 2.0 sobre WebSocketNecesitas que el servidor envíe eventos, no solo responder

La autenticación funciona de manera idéntica en los tres — cambiar de transporte no significa cambiar cómo te autenticas.

Características clave

  • Interfaz Inteligente (activada por defecto) — colapsa toda la superficie de herramientas en dos llamadas, discover y perform. El agente describe un objetivo en lenguaje natural en lugar de razonar sobre cientos de esquemas de herramientas. Desactívala con use_intelligent_interface=False para ver las herramientas en bruto.

  • Descubrimiento semántico — también disponible de forma independiente, para buscar herramientas por significado en lugar de por nombre exacto.

  • Visibilidad de costos — cada llamada devuelve un recibo con el uso de créditos.

  • Flujos de trabajo guiados — client.guide(goal=...) recorre un objetivo de múltiples pasos de forma interactiva.

  • Certificados de Confianza Cognitiva — prueba criptográfica de que un flujo de trabajo es libre de ciclos, seguro en tipos, compatible con políticas y dentro del presupuesto, firmado por la misma CA que las identidades de los agentes.

Espacios de nombres propios

Espacio de nombresPara qué sirve
prismTransformación de datos, gráficos, renderizado, exportación
logicMemoria persistente del agente mediante una capa lógica Prolog
wardenVerificaciones de seguridad, verificación de intenciones, consenso multi-modelo
deliverablesRegistro y recuperación de productos de trabajo terminados
ephemeralsInspección y gestión de resultados en caché
flowOrquestación de flujos de trabajo — enrutamiento, aprobación humana, historial de ejecución

Los flujos se pueden guardar como habilidades nombradas y reutilizables (save_as_skill=True) o incrustarse en línea como pasos únicos mediante $compute. flow.route maneja la ramificación condicional; flow.request_approval/flow.request_feedback insertan puntos de control humanos. Cualquier cosa no cubierta por un espacio de nombres es accesible mediante una llamada genérica dg().

Dónde se conecta esto con las integraciones de DataGrout

Conduit es la capa entre tu agente y cualquier servidor DataGrout — incluyendo las integraciones de Salesforce, QuickBooks y Oracle Fusion Cloud. Una llamada call_tool("salesforce@1/get_lead@1", ...) funciona de la misma manera independientemente de qué integraciones tenga configuradas ese servidor; el SDK no necesita conocer una integración específica por adelantado.

A dónde ir después

  • Documentación por lenguaje: READMEs de Python, TypeScript, Rust, Elixir, Ruby (GitHub)

  • Detalles de seguridad: app.datagrout.ai/security

  • Herramientas gratuitas, sin cuenta: MCP Inspector y JSON-RPC Inspector, basadas en navegador

  • Labs: informes de investigación sobre certificados de confianza, análisis semántico de código, aplicación de políticas, el modelo de créditos y más

Licencia

MIT