Third-party framework names (Vercel AI SDK, LangGraph, Microsoft AutoGen, Semantic Kernel,
Google ADK, and others) are trademarks of their respective owners, used here for
identification and integration guidance only. No endorsement, partnership, or affiliation is
implied.
Guides
Two integration paths
TypeScript (in-process) — import@usenaive-sdk/server, provision users with
naive.forUser(id), adapt client.agentTools() into the framework’s native tool format, and
run the loop. Best when the agent runs in your trusted backend.
MCP session (any language) — mint a per-user session over the REST API
(or with the Node SDK), point the framework’s MCP client at the scoped SSE endpoint, and let
it discover Naive’s tools. Best for Python stacks, edge runtimes, and hosts you do not fully
trust. There is no language-specific Naive SDK for Python or .NET today — use REST for the
control plane and MCP for the data plane.
Approvals: action vs action_type
When a gated tool call returns HTTP 202, the immediate payload (and
isPendingApproval(res) in TypeScript) uses action. Approval records fetched from
approvals.list() or approvals.get() use action_type. See
Approvals for the full lifecycle.
Before you start
- Pick the guide that matches your orchestrator — the pairing pattern is the same (identity + Account Kit + tools), but the adapter code differs.
- Provision an Account Kit and a tenant user once; runtime code only mints sessions or binds
forUser(id). - TypeScript guides install
@usenaive-sdk/server; Python guides userequests/httpxagainsthttps://api.usenaive.ai/v1unless you prefer the Node SDK for provisioning scripts.
Related reading (blog)
- Naïve inside your agent framework — concept map for every guide in this index
- The Governed Agent Profile — runtime-agnostic governance at the tool-call boundary
- Delegated, revocable MCP sessions — the session model every Python guide uses
- Hosted vs bring-your-own runtime — where the agent loop runs
- Build a bring-your-own-agent platform — end-to-end tutorial