Skip to main content
These guides show how to pair popular agent frameworks with Naive. Each guide keeps the framework’s orchestration loop and adds per-user identity, virtual cards, third-party connections, and Account Kit policy — enforced server-side with human approval on sensitive actions.
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

GuideStackIntegration styleWhen to use
Vercel AI SDKTypeScript / NodeIn-process agentTools() or scoped MCPAI SDK generateText / streamText apps
OpenAI Agents SDKTypeScriptIn-process agentTools() or scoped MCPOpenAI’s agent loop, handoffs, interruptions
LangGraphTypeScriptIn-process agentTools() or scoped MCPLangChain v1 createAgent / graph workflows
MastraTypeScriptScoped MCP (MCPClient)Mastra agents, workflows, and tool approval
Cloudflare AgentsTypeScript / WorkersScoped MCP on Durable ObjectsEdge-deployed, stateful per-user agents
AutoGenPythonScoped MCP (McpWorkbench)Multi-agent teams with MCP tool discovery
Google ADKPythonScoped MCP (McpToolset)Gemini agents with ADK’s Runner
Semantic KernelPython / .NET / JavaScoped MCP (MCPSsePlugin) + REST control planeKernel plugins and ChatCompletionAgent
Pydantic AIPythonScoped MCP (MCPServerSSE) + REST control planeTyped agents with validated outputs
LlamaIndexPythonScoped MCP (BasicMCPClient) + REST control planeFunctionAgent / AgentWorkflow loops
Claude Agent SDKTypeScript / PythonScoped MCP + in-process toolsAnthropic’s agent loop with subagents and hooks
AgnoPythonScoped MCP (SSEClientParams) + REST control planeHigh-performance Python agent teams
DSPyPythonScoped MCP (sse_client) + REST control planeReAct/signatures with compiled programs
smolagentsPythonScoped MCP (from_mcp) + REST control planeCode-writing and tool-calling agents
LettaPythonScoped MCP (mcp_servers) + REST control planeStateful, memory-native long-running agents
CrewAIPythonScoped MCP (MCPServerSSE) + REST control planeRole-based multi-agent crews

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 use requests / httpx against https://api.usenaive.ai/v1 unless you prefer the Node SDK for provisioning scripts.