DataGrout
公式DataGrout - 複数のMCPサーバーや統合環境で動作するAIエージェントのための、発見、ガバナンス、オーケストレーション層。
DataGrout MCPで何ができますか?
- Provision a DataGrout server and mTLS identity automatically — call
bootstrap_onrampto register an agent, get OAuth credentials, and generate a signed certificate in one step. - Authenticate with mTLS, OAuth 2.1, or bearer tokens — configure the client with certificate-based identity, auto-refreshing JWTs, or a simple token for testing.
- Discover and invoke tools using natural language — use the Intelligent Interface (
discover/perform) to let an agent find and call tools by describing a goal instead of specifying exact tool names. - Track credit usage on every call — inspect the cost receipt returned with each response to monitor spending against policy or budget limits.
- Walk through multi-step goals interactively — call
client.guide(goal=...)to step through a guided workflow with the server. - Switch between Streamable HTTP, JSON-RPC, or WebSocket transports — select
mcp,jsonrpc, orwebsockettransport without changing authentication setup.
ドキュメント
ほとんどの MCP クライアントは、リクエストを送信し、レスポンスを受け取るという 1 つのジョブを処理します。Conduit は、それとは少し異なる問題のために構築されています。つまり、エージェントが自身の身元を証明し、手動で再認証することなく長時間のセッションにわたって作業を継続し、その間コストやポリシーの予算内に収まる必要がある、という問題です。それが、この SDK が埋めるギャップです。
mTLS、OAuth 2.1、セマンティックツール検出を組み込んだ MCP クライアントライブラリ。Python、TypeScript、Rust、Elixir、Ruby で利用可能です。
単一のインポートを交換するだけで、既存のエージェントは証明書ベースの 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 すべてで同一の 3 つの方法:
-
ベアラートークン — 最もシンプルなオプションで、迅速なテストに適しています。
-
OAuth 2.1 (クライアント認証情報) — SDK が JWT を自動的に取得、キャッシュ、更新します。
-
mTLS — 1 回限りのブートストラップ後、証明書自体がすべてのリクエストを認証します。その後トークンを管理する必要はありません。
mTLS の場合、ID は固定の検索順序で自動検出されます: 明示的な上書きディレクトリ、CONDUIT_MTLS_CERT/CONDUIT_MTLS_KEY 環境変数、CONDUIT_IDENTITY_DIR、デフォルトの ~/.conduit/、次に作業ディレクトリからの相対パスであるローカルの .conduit/。1 台のマシンで複数のエージェントを実行する場合は、それぞれに独自の ID ディレクトリを指定する必要があります。
専用 CA の理由: マシン ID にはブラウザ ID とは異なる要件があります。エージェントは、毎回人間が介在することなく、プログラムで証明書を発行およびローテーションする必要があります。署名鍵は HSM ベースの AWS KMS キー (FIPS 140-2 レベル 2) に存在し、そこから出ることはありません。CA 証明書は ca.datagrout.ai/ca.pem で公開されており、独立したチェーン検証が可能です。
トランスポートオプション
| トランスポート | プロトコル | 使用するタイミング |
|---|---|---|
| mcp (デフォルト) | MCP over Streamable HTTP/SSE | 完全なプロトコルサポート、ストリーミング、通知が必要な場合 |
| jsonrpc | JSON-RPC 2.0 over HTTP POST | よりシンプルでステートレスなものが必要な場合 |
| websocket | JSON-RPC 2.0 over WebSocket | サーバーが応答するだけでなくイベントをプッシュする必要がある場合 |
認証は 3 つすべてで同じように機能します。トランスポートを切り替えても、認証方法を切り替える必要はありません。
主な機能
-
インテリジェントインターフェース (デフォルトでオン) — ツールサーフェス全体を discover と perform の 2 つの呼び出しに集約します。エージェントは、何百ものツールスキーマを推論する代わりに、目標を平易な言語で記述します。use_intelligent_interface=False で無効にすると、生のツールが表示されます。
-
セマンティック検出 — スタンドアロンでも利用可能で、正確な名前ではなく意味でツールを検索します。
-
コストの可視性 — すべての呼び出しは、クレジット使用量を含むレシートを返します。
-
ガイド付きワークフロー — client.guide(goal=...) は、複数ステップの目標を対話的に進めます。
-
認知的信頼証明書 — ワークフローが循環なし、型安全、ポリシー準拠、予算内であることの暗号化証明。エージェント ID と同じ CA によって署名されます。
ファーストパーティ名前空間
| 名前空間 | 目的 |
|---|---|
| prism | データ変換、チャート作成、レンダリング、エクスポート |
| logic | Prolog ロジックレイヤーを介した永続的なエージェントメモリ |
| warden | 安全性チェック、意図検証、マルチモデルコンセンサス |
| deliverables | 完成した作業成果物の登録と取得 |
| ephemerals | キャッシュされた結果の検査と管理 |
| flow | ワークフローオーケストレーション — ルーティング、人間の承認、実行履歴 |
フローは、名前付きの再利用可能なスキル (save_as_skill=True) として保存するか、$compute を介して 1 回限りのステップとしてインラインで埋め込むことができます。flow.route は条件分岐を処理します。flow.request_approval/flow.request_feedback は人間のチェックポイントを挿入します。名前空間でカバーされていないものは、汎用の dg() 呼び出しを介して到達可能です。
これが DataGrout の統合に接続する場所
Conduit は、エージェントと任意の DataGrout サーバー間のレイヤーです。これには、Salesforce、QuickBooks、Oracle Fusion Cloud の統合が含まれます。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