DataGrout

官方

DataGrout - 為跨多個MCP伺服器與整合運作的AI代理提供探索、治理與編排層。

你可以用 DataGrout MCP 做什麼?

  • 自動佈建 DataGrout 伺服器與 mTLS 身分 — 呼叫 bootstrap_onramp 即可在單一步驟中註冊代理程式、取得 OAuth 憑證,並產生簽署憑證。
  • 使用 mTLS、OAuth 2.1 或 bearer token 進行驗證 — 以憑證型身分、自動重新整理的 JWT,或簡單的測試用 token 來設定用戶端。
  • 使用自然語言探索並呼叫工具 — 透過 Intelligent Interface(discover/perform),讓代理程式以描述目標的方式尋找並呼叫工具,而非指定確切的工具名稱。
  • 追蹤每次呼叫的額度使用量 — 檢查每個回應隨附的成本收據,以監控是否符合政策或預算限制的支出。
  • 以互動方式逐步完成多步驟目標 — 呼叫 client.guide(goal=...) 以與伺服器逐步執行引導式工作流程。
  • 在 Streamable HTTP、JSON-RPC 或 WebSocket 傳輸之間切換 — 選擇 mcpjsonrpcwebsocket 傳輸方式,無需變更驗證設定。

文件

大多數 MCP 用戶端只處理一件事:發送請求、取得回應。Conduit 是為了一個稍微不同的問題而建構——一個需要證明自身身分的代理程式,能在長時間的連線中持續運作而無需手動重新驗證,同時保持在成本或政策預算之內。這就是這個 SDK 所要填補的缺口。

內建 mTLS、OAuth 2.1 和語意工具探索的 MCP 用戶端函式庫。支援 Python、TypeScript、Rust、Elixir 和 Ruby。

只要更換一個 import,現有的代理程式即可獲得憑證身分、成本可視性和自然語言工具探索——無需任何其他程式碼變更。

你需要 SDK,還是只需要原始端點?

每個 DataGrout 伺服器都提供標準的 MCP 端點——任何相容 MCP 的用戶端都可以直接用 URL 和 bearer token 連線,不需要 SDK。Conduit 是為那些你想要超越最低需求的場景而設計:

  • 你想要基於憑證的(mTLS)身分,而不是自行管理 token

  • 你想要每次呼叫都進行成本追蹤,而不需要另外建置

  • 你想要語意探索,讓代理程式可以透過描述目標來找到正確的工具,而不是需要確切的工具名稱

  • 你正在 Rust、Elixir 或 Ruby 中整合,在這些語言中手動實作 MCP 傳輸邏輯比在 Python/TypeScript 中更費工

如果以上都不適用——例如,你只是要將 Claude Desktop 連接到 DataGrout 伺服器——那麼單純的 mcpServers JSON 設定就夠簡單且足夠了。Conduit 是為了在 DataGrout 之上建構你自己的代理程式或應用程式,而不是用於基本的用戶端設定。

語言支援

語言套件安裝
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

無需先註冊即可取得伺服器

還沒有 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 會註冊你的代理程式、以短期 token 換取 OAuth 憑證和伺服器 URL、產生本機金鑰對,並由 DataGrout 的 CA 簽署。私鑰會保留在你的機器上。首次之後的每次執行都會自動重複使用已儲存的身分。

比起寫程式碼,更喜歡使用終端機:invariant onboard。

驗證

三種方法,在所有五個 SDK 中完全相同:

  • Bearer token — 最簡單的選項,適合快速測試。

  • OAuth 2.1(用戶端憑證) — SDK 會自動取得、快取並重新整理 JWT。

  • mTLS — 在一次性的啟動之後,憑證本身即可驗證每個請求;之後無需管理任何 token。

對於 mTLS,身分會以固定的搜尋順序自動探索:明確的覆寫目錄、CONDUIT_MTLS_CERT/CONDUIT_MTLS_KEY 環境變數、CONDUIT_IDENTITY_DIR、預設的 ~/.conduit/,然後是相對於工作目錄的本機 .conduit/。在一台機器上執行多個代理程式,意味著要為每個代理程式提供各自的身分目錄。

為什麼需要專屬 CA: 機器身分與瀏覽器身分有不同的需求——代理程式需要以程式化方式簽發和輪換憑證,而不需要每次都有真人介入。簽署金鑰存放在由 HSM 保護的 AWS KMS 金鑰(FIPS 140-2 Level 2)中,且永遠不會離開。CA 憑證公開於 ca.datagrout.ai/ca.pem,可進行獨立的鏈驗證。

傳輸選項

傳輸協定使用時機
mcp(預設)MCP over Streamable HTTP/SSE你想要完整的協定支援、串流、通知
jsonrpcJSON-RPC 2.0 over HTTP POST你想要更簡單且無狀態的方案
websocketJSON-RPC 2.0 over WebSocket你需要伺服器推送事件,而不只是回應

驗證在三種傳輸方式中運作方式完全相同——切換傳輸方式並不代表要改變你的驗證方式。

主要功能

  • 智慧介面(預設開啟)——將整個工具表面收斂為兩個呼叫:discover 和 perform。代理程式以自然語言描述目標,而不是在數百個工具架構中推理。使用 use_intelligent_interface=False 停用以查看原始工具。

  • 語意探索——也可獨立使用,用於按意義而非確切名稱搜尋工具。

  • 成本可視性——每次呼叫都會回傳包含點數使用量的收據。

  • 引導式工作流程——client.guide(goal=...) 會以互動方式逐步完成多步驟目標。

  • 認知信任憑證——以密碼學證明工作流程無循環、型別安全、符合政策且在預算內,由與代理程式身分相同的 CA 簽署。

第一方命名空間

命名空間用途
prism資料轉換、圖表、渲染、匯出
logic透過 Prolog 邏輯層實現的持久代理程式記憶體
warden安全檢查、意圖驗證、多模型共識
deliverables註冊和取得已完成的工作成果
ephemerals檢視和管理快取結果
flow工作流程編排——路由、人工核准、執行歷史

工作流程可以儲存為具名、可重複使用的技能(save_as_skill=True),或透過 $compute 以一次性步驟內嵌。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