TypeScript monorepo that makes the Claude Agent SDK production-ready in Next.js. Wraps the SDK's stateless query() iterator with persistent conversation threads (via Prisma), an S3/MinIO workspace (via a custom MCP server), and a streaming route helper.
Wire a persistent, streaming Claude agent into a Next.js route in under 20 lines — zero manual state management.
// app/api/chat/route.ts
import { createAgentRoute } from "@claude-agent-next/nextjs";
import { createClaudeAgent } from "@claude-agent-next/core";
import { prisma } from "@/lib/prisma";
const agent = createClaudeAgent({ prisma });
export const { GET, POST } = createAgentRoute(agent);| Package | Description |
|---|---|
@claude-agent-next/core |
AgentThread, streamResponse(), thread/message/run lifecycle |
@claude-agent-next/prisma |
Prisma schema — AgentThread, AgentMessage, AgentRun |
@claude-agent-next/s3 |
createS3Workspace() — S3/MinIO-backed MCP server for agent file access |
@claude-agent-next/nextjs |
createAgentRoute(agent) — Next.js App Router route handler |
A working demo lives in apps/example — streaming chat, Prisma-backed history, shadcn/ui. See apps/example/README.md for setup.
- TypeScript, Next.js App Router
- Prisma (SQLite for dev, Postgres for prod)
- Vercel AI SDK (
useChat) - AWS S3 / MinIO
- Playwright E2E
- Turborepo + pnpm workspaces
- Node.js 20+
- pnpm 9+
pnpm install
pnpm build