DataGrout
공식DataGrout - 여러 MCP 서버와 통합 환경에서 AI 에이전트가 작업할 수 있도록 지원하는 발견, 거버넌스 및 오케스트레이션 계층입니다.
DataGrout MCP(으)로 무엇을 할 수 있나요?
- DataGrout 서버 및 mTLS ID 자동 프로비저닝 —
bootstrap_onramp을 호출하여 에이전트를 등록하고, OAuth 자격 증명을 얻고, 서명된 인증서를 한 단계로 생성합니다. - mTLS, OAuth 2.1 또는 베어러 토큰으로 인증 — 인증서 기반 ID, 자동 갱신 JWT, 또는 테스트용 간단한 토큰으로 클라이언트를 구성합니다.
- 자연어로 도구 검색 및 호출 — Intelligent Interface(
discover/perform)를 사용하여 에이전트가 정확한 도구 이름을 지정하는 대신 목표를 설명하여 도구를 찾고 호출하도록 합니다. - 모든 호출에서 크레딧 사용량 추적 — 각 응답과 함께 반환되는 비용 영수증을 검사하여 정책 또는 예산 한도에 대한 지출을 모니터링합니다.
- 대화형으로 다단계 목표 진행 —
client.guide(goal=...)을 호출하여 서버와 함께 안내 워크플로우를 단계별로 진행합니다. - Streamable HTTP, JSON-RPC 또는 WebSocket 전송 간 전환 — 인증 설정을 변경하지 않고
mcp,jsonrpc또는websocket전송을 선택합니다.
문서
대부분의 MCP 클라이언트는 요청을 보내고 응답을 받는 한 가지 작업을 처리합니다. Conduit은 약간 다른 문제를 위해 만들어졌습니다 — 자신이 누구인지 증명하고, 수동으로 재인증하지 않고도 긴 세션 동안 작업을 계속하며, 그 과정에서 비용이나 정책 예산 범위 내에 머물러야 하는 에이전트를 위한 것입니다. 이것이 바로 이 SDK가 채우는 공백입니다.
내장된 mTLS, OAuth 2.1, 시맨틱 도구 검색 기능을 갖춘 MCP 클라이언트 라이브러리입니다. Python, TypeScript, Rust, Elixir, Ruby에서 사용할 수 있습니다.
단일 import만 교체하면 기존 에이전트가 인증서 기반 ID, 비용 가시성, 자연어 도구 검색 기능을 추가 코드 변경 없이 바로 사용할 수 있습니다.
SDK가 필요합니까, 아니면 원시 엔드포인트만 필요합니까?
모든 DataGrout 서버는 표준 MCP 엔드포인트를 노출합니다 — MCP 호환 클라이언트라면 URL과 베어러 토큰만으로 SDK 없이 직접 연결할 수 있습니다. Conduit은 최소한의 기능 이상을 원하는 경우를 위한 것입니다:
-
토큰을 직접 관리하는 대신 인증서 기반(mTLS) ID를 사용하려는 경우
-
별도로 구축하지 않고 모든 호출에 대한 비용 추적을 원하는 경우
-
에이전트가 정확한 도구 이름 대신 목표를 설명하여 올바른 도구를 찾을 수 있도록 시맨틱 검색을 원하는 경우
-
Python/TypeScript보다 MCP 전송 로직을 직접 구현하는 작업이 더 많은 Rust, Elixir, Ruby에서 통합하는 경우
이 중 어느 것도 해당되지 않는다면 — 예를 들어 Claude Desktop을 DataGrout 서버에 연결하는 경우 — 일반 mcpServers JSON 구성이 더 간단하고 충분합니다. Conduit은 기본 클라이언트 구성이 아니라 DataGrout 위에 자체 에이전트나 애플리케이션을 구축하기 위한 것입니다.
언어 지원
| 언어 | 패키지 | 설치 |
|---|---|---|
| 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 |
가입 없이 서버 이용하기
아직 DataGrout 계정이나 엔드포인트가 없으신가요? SDK가 둘 다 직접 프로비저닝할 수 있습니다 (Python 예시; 각 언어 SDK에 동일한 호출이 존재합니다 — 정확한 구문은 아래 링크된 언어별 문서를 참조하세요):
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()
이 단일 호출 뒤에서 SDK는 에이전트를 등록하고, 수명이 짧은 토큰을 OAuth 자격 증명 및 서버 URL로 교환하며, 로컬 키 쌍을 생성하고 DataGrout의 CA로부터 서명을 받습니다. 개인 키는 사용자의 컴퓨터에 남습니다. 첫 실행 이후 모든 실행은 저장된 ID를 자동으로 재사용합니다.
코드 작성보다 터미널을 선호한다면: invariant onboard.
인증
5개 SDK 모두에서 동일한 세 가지 방법:
-
베어러 토큰 — 가장 간단한 옵션으로 빠른 테스트에 적합합니다.
-
OAuth 2.1 (클라이언트 자격 증명) — SDK가 JWT를 자동으로 가져오고, 캐시하며, 갱신합니다.
-
mTLS — 일회성 부트스트랩 후에는 인증서 자체가 모든 요청을 인증하므로 이후 토큰을 관리할 필요가 없습니다.
mTLS의 경우 ID는 고정된 검색 순서로 자동 발견됩니다: 명시적 재정의 디렉터리, CONDUIT_MTLS_CERT/CONDUIT_MTLS_KEY 환경 변수, CONDUIT_IDENTITY_DIR, 기본 ~/.conduit/, 그런 다음 작업 디렉터리 기준의 로컬 .conduit/. 한 컴퓨터에서 여러 에이전트를 실행하려면 각각 고유한 ID 디렉터리를 지정해야 합니다.
전용 CA를 사용하는 이유: 머신 ID는 브라우저 ID와 다른 요구 사항을 가집니다 — 에이전트는 매번 사람의 개입 없이 프로그래밍 방식으로 인증서를 발급받고 교체해야 합니다. 서명 키는 HSM 기반 AWS KMS 키(FIPS 140-2 레벨 2)에 저장되며 절대 외부로 유출되지 않습니다. CA 인증서는 독립적인 체인 검증을 위해 ca.datagrout.ai/ca.pem에서 공개됩니다.
전송 옵션
| 전송 | 프로토콜 | 사용 시기 |
|---|---|---|
| mcp (기본값) | 스트리밍 가능한 HTTP/SSE를 통한 MCP | 전체 프로토콜 지원, 스트리밍, 알림이 필요한 경우 |
| jsonrpc | HTTP POST를 통한 JSON-RPC 2.0 | 더 간단하고 상태 비저장 방식이 필요한 경우 |
| websocket | WebSocket을 통한 JSON-RPC 2.0 | 서버가 응답뿐 아니라 이벤트를 푸시해야 하는 경우 |
인증은 세 가지 모두에서 동일하게 작동합니다 — 전송 방식을 전환한다고 해서 인증 방식이 바뀌지는 않습니다.
주요 기능
-
지능형 인터페이스 (기본적으로 켜져 있음) — 전체 도구 표면을 discover와 perform 두 가지 호출로 축소합니다. 에이전트가 수백 개의 도구 스키마를 추론하는 대신 평이한 언어로 목표를 설명합니다. use_intelligent_interface=False로 비활성화하면 원시 도구를 볼 수 있습니다.
-
시맨틱 검색 — 정확한 이름 대신 의미로 도구를 검색하기 위해 독립적으로도 사용할 수 있습니다.
-
비용 가시성 — 모든 호출은 크레딧 사용량이 포함된 영수증을 반환합니다.
-
가이드 워크플로 — client.guide(goal=...)는 다단계 목표를 대화형으로 안내합니다.
-
인지 신뢰 인증서 — 워크플로가 순환 없음, 유형 안전, 정책 준수, 예산 범위 내임을 증명하는 암호화 증명으로, 에이전트 ID와 동일한 CA가 서명합니다.
자사 네임스페이스
| 네임스페이스 | 용도 |
|---|---|
| prism | 데이터 변환, 차트 작성, 렌더링, 내보내기 |
| logic | Prolog 논리 계층을 통한 영구 에이전트 메모리 |
| warden | 안전 점검, 의도 검증, 다중 모델 합의 |
| deliverables | 완료된 작업 결과물 등록 및 검색 |
| ephemerals | 캐시된 결과 검사 및 관리 |
| flow | 워크플로 오케스트레이션 — 라우팅, 사람 승인, 실행 기록 |
플로우는 이름이 지정된 재사용 가능한 스킬로 저장하거나(save_as_skill=True) $compute를 통해 일회성 단계로 인라인 포함할 수 있습니다. flow.route는 조건부 분기를 처리하고, flow.request_approval/flow.request_feedback은 사람 확인 지점을 삽입합니다. 네임스페이스로 처리되지 않는 모든 것은 일반 dg() 호출을 통해 접근할 수 있습니다.
DataGrout 통합과의 연결 지점
Conduit은 Salesforce, QuickBooks, Oracle Fusion Cloud 통합을 포함한 모든 DataGrout 서버와 에이전트 사이의 계층입니다. call_tool("salesforce@1/get_lead@1", ...) 호출은 해당 서버가 어떤 통합을 구성했는지와 관계없이 동일한 방식으로 작동하며, SDK는 특정 통합에 대해 미리 알 필요가 없습니다.
다음 단계
-
언어별 문서: Python, TypeScript, Rust, Elixir, Ruby README (GitHub)
-
보안 세부 정보: app.datagrout.ai/security
-
무료, 계정 불필요 도구: MCP Inspector 및 JSON-RPC Inspector, 브라우저 기반
-
Labs: 신뢰 인증서, 시맨틱 코드 분석, 정책 시행, 크레딧 모델 등에 관한 연구 보고서
라이선스
MIT