DataGrout
oficialCamada de descoberta, governança e orquestração para agentes de IA que trabalham em múltiplos servidores MCP e integrações.
O que você pode fazer com DataGrout MCP?
- Provisione um servidor DataGrout e identidade mTLS automaticamente — chame
bootstrap_onramppara registrar um agente, obter credenciais OAuth e gerar um certificado assinado em uma única etapa. - Autentique com mTLS, OAuth 2.1 ou tokens bearer — configure o cliente com identidade baseada em certificado, JWTs com atualização automática ou um token simples para testes.
- Descubra e invoque ferramentas usando linguagem natural — use a Interface Inteligente (
discover/perform) para permitir que um agente encontre e chame ferramentas descrevendo um objetivo em vez de especificar nomes exatos de ferramentas. - Acompanhe o uso de créditos em cada chamada — inspecione o recibo de custo retornado com cada resposta para monitorar gastos em relação a limites de política ou orçamento.
- Percorra metas de várias etapas interativamente — chame
client.guide(goal=...)para avançar por um fluxo de trabalho guiado com o servidor. - Alterne entre transportes Streamable HTTP, JSON-RPC ou WebSocket — selecione o transporte
mcp,jsonrpcouwebsocketsem alterar a configuração de autenticação.
Documentação
A maioria dos clientes MCP lida com uma tarefa: enviar uma solicitação, obter uma resposta. O Conduit foi construído para um problema um pouco diferente — um agente que precisa provar quem é, continuar trabalhando em sessões longas sem reautenticar manualmente, e permanecer dentro de um orçamento de custo ou política enquanto faz isso. Essa é a lacuna que este SDK preenche.
Biblioteca de cliente MCP com mTLS integrado, OAuth 2.1 e descoberta semântica de ferramentas. Disponível para Python, TypeScript, Rust, Elixir e Ruby.
Troque uma única importação e um agente existente passa a ter identidade baseada em certificado, visibilidade de custos e descoberta de ferramentas em linguagem natural — sem outras alterações de código necessárias.
Você precisa do SDK, ou apenas do endpoint bruto?
Todo servidor DataGrout expõe um endpoint MCP padrão — qualquer cliente compatível com MCP pode se conectar diretamente a ele apenas com uma URL e um token de portador, sem necessidade de SDK. O Conduit é para casos em que você quer mais do que o mínimo:
-
Você quer identidade baseada em certificado (mTLS) em vez de gerenciar um token você mesmo
-
Você quer rastreamento de custos em cada chamada sem construir isso separadamente
-
Você quer descoberta semântica para que um agente encontre a ferramenta certa descrevendo um objetivo, em vez de precisar do nome exato da ferramenta
-
Você está integrando em Rust, Elixir ou Ruby, onde implementar manualmente a lógica de transporte MCP dá mais trabalho do que em Python/TypeScript
Se nada disso se aplica — por exemplo, você está apenas conectando o Claude Desktop a um servidor DataGrout — a configuração JSON simples de mcpServers é mais simples e suficiente. O Conduit é para construir seu próprio agente ou aplicação sobre o DataGrout, não para configuração básica de cliente.
Suporte a linguagens
| Linguagem | Pacote | Instalação |
|---|---|---|
| Python | datagrout-conduit | pip install datagrout-conduit==0.7.0 |
| TypeScript | @datagrout/conduit | npm install @datagrout/conduit@0.7.0 |
| Rust | datagrout-conduit | cargo add datagrout-conduit@0.7.0 |
| Elixir | datagrout_conduit | {:datagrout_conduit, "~> 0.7.0"} |
| Ruby | datagrout-conduit | gem install datagrout-conduit -v 0.7.0 |
Obtendo um servidor sem se cadastrar primeiro
Ainda não tem uma conta ou endpoint DataGrout? O SDK pode provisionar ambos diretamente para você (Python mostrado; a mesma chamada existe no SDK de cada linguagem — veja a documentação por linguagem nos links abaixo para a sintaxe exata):
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()
Por trás dessa única chamada: o SDK registra seu agente, troca um token de curta duração por credenciais OAuth e uma URL de servidor, gera um par de chaves local e o faz assinar pela CA do DataGrout. A chave privada permanece na sua máquina. Cada execução após a primeira reutiliza a identidade salva automaticamente.
Prefere o terminal a escrever código: invariant onboard.
Autenticação
Três métodos, idênticos em todos os cinco SDKs:
-
Token de portador — opção mais simples, boa para testes rápidos.
-
OAuth 2.1 (credenciais de cliente) — o SDK busca, armazena em cache e atualiza JWTs automaticamente.
-
mTLS — após um bootstrap único, o próprio certificado autentica cada solicitação; sem tokens para gerenciar depois.
Para mTLS, a identidade é descoberta automaticamente em uma ordem de busca fixa: um diretório de substituição explícito, variáveis de ambiente CONDUIT_MTLS_CERT/CONDUIT_MTLS_KEY, CONDUIT_IDENTITY_DIR, o padrão ~/.conduit/, e então um .conduit/ local relativo ao diretório de trabalho. Executar vários agentes em uma máquina significa dar a cada um seu próprio diretório de identidade.
Por que uma CA dedicada: identidade de máquina tem requisitos diferentes da identidade de navegador — agentes precisam de certificados emitidos e rotacionados programaticamente, sem um humano no processo a cada vez. A chave de assinatura vive em uma chave AWS KMS com suporte a HSM (FIPS 140-2 Nível 2) e nunca sai dela. O certificado da CA é público em ca.datagrout.ai/ca.pem para verificação independente da cadeia.
Opções de transporte
| Transporte | Protocolo | Use quando |
|---|---|---|
| mcp (padrão) | MCP sobre Streamable HTTP/SSE | Você quer suporte completo ao protocolo, streaming, notificações |
| jsonrpc | JSON-RPC 2.0 sobre HTTP POST | Você quer algo mais simples e sem estado |
| websocket | JSON-RPC 2.0 sobre WebSocket | Você precisa que o servidor envie eventos, não apenas responda |
A autenticação funciona de forma idêntica nos três — mudar o transporte não significa mudar como você autentica.
Principais recursos
-
Interface Inteligente (ativada por padrão) — colapsa toda a superfície de ferramentas em duas chamadas, discover e perform. O agente descreve um objetivo em linguagem simples em vez de raciocinar sobre centenas de esquemas de ferramentas. Desative com use_intelligent_interface=False para ver ferramentas brutas.
-
Descoberta semântica — disponível também de forma independente, para buscar ferramentas por significado em vez de nome exato.
-
Visibilidade de custos — cada chamada retorna um recibo com uso de créditos.
-
Fluxos de trabalho guiados — client.guide(goal=...) percorre um objetivo de múltiplas etapas interativamente.
-
Certificados de Confiança Cognitiva — prova criptográfica de que um fluxo de trabalho é livre de ciclos, seguro quanto a tipos, compatível com políticas e dentro do orçamento, assinado pela mesma CA das identidades de agentes.
Namespaces de primeira parte
| Namespace | Para que serve |
|---|---|
| prism | Transformação de dados, gráficos, renderização, exportação |
| logic | Memória persistente de agente via camada lógica Prolog |
| warden | Verificações de segurança, verificação de intenção, consenso multi-modelo |
| deliverables | Registro e recuperação de produtos de trabalho finalizados |
| ephemerals | Inspeção e gerenciamento de resultados em cache |
| flow | Orquestração de fluxos de trabalho — roteamento, aprovação humana, histórico de execução |
Fluxos podem ser salvos como habilidades nomeadas e reutilizáveis (save_as_skill=True) ou incorporados inline como etapas únicas via $compute. flow.route lida com ramificação condicional; flow.request_approval/flow.request_feedback inserem pontos de verificação humanos. Qualquer coisa não coberta por um namespace é acessível via uma chamada genérica dg().
Onde isso se conecta às integrações do DataGrout
O Conduit é a camada entre seu agente e qualquer servidor DataGrout — incluindo as integrações Salesforce, QuickBooks e Oracle Fusion Cloud. Uma chamada call_tool("salesforce@1/get_lead@1", ...) funciona da mesma forma independentemente de quais integrações aquele servidor tem configuradas; o SDK não precisa conhecer uma integração específica antecipadamente.
Para onde ir a seguir
-
Documentação por linguagem: READMEs de Python, TypeScript, Rust, Elixir, Ruby (GitHub)
-
Detalhes de segurança: app.datagrout.ai/security
-
Ferramentas gratuitas, sem conta: MCP Inspector e JSON-RPC Inspector, baseados em navegador
-
Laboratórios: artigos de pesquisa sobre certificados de confiança, análise semântica de código, aplicação de políticas, o modelo de créditos e mais
Licença
MIT