Five parts, one serviceThe whole backend for AI builders — five parts, one service
One Cradler project gives you a managed PostgreSQL database, image / video / audio storage on a global CDN, a typed TypeScript SDK, an MCP server, and an Agent Skill. Five pieces, one set of keys, one bill — and your AI tool wires them all up in one prompt. No SQL. No migrations. No database knowledge.
DataManaged PostgreSQL database
Every project gets its own managed PostgreSQL database — a real, isolated database, not a toy. You never write SQL, design a schema, or run a migration. Save a record with a new field and the column appears; save a new kind of record and the table is created for you. The database simply keeps up with your app as it grows.
// No CREATE TABLE, no schema file
await cradler.from("posts").insert({ title: "Hello", views: 0 });
// New field? Just save it — the column appears
await cradler.from("posts").insert({ title: "Next", views: 0, slug: "next" });
// Read with filters and ordering, fully typed
const { rows } = await cradler.from("posts")
.select()
.eq("published", true)
.order("createdAt", { desc: true });
StorageImage, video, and audio storage
Image, video, audio, and any other file lives in the same service as your database — one project, one set of keys, one bill. Uploads go through the SDK and your files are served fast over a global CDN. Bonus: image and video paths render as inline previews in the dashboard's table browser, so you see what you've stored without leaving Cradler.
// Upload anything — images, video, audio, PDFs
await cradler.storage.upload("covers/sunset.jpg", file);
// Get a temporary signed URL to display or download it
const url = await cradler.storage.getUrl("covers/sunset.jpg");
// List and delete by path
const files = await cradler.storage.list("covers/");
await cradler.storage.remove("covers/sunset.jpg");
Developer experienceTyped TypeScript SDK — @cradler/sdk
@cradler/sdk is a typed TypeScript client with a query-builder style that AI coding tools already understand. Because it's fully typed and shaped like the tools your AI was trained on, Cursor, Claude Code, and v0 generate integration code that's correct the first time instead of needing rounds of fixes.
import { createClient } from "@cradler/sdk";
const cradler = createClient({
url: "https://gateway.cradler.ai",
projectId: "your-project-id",
apiKey: process.env.CRADLER_SERVICE_KEY!,
});
View @cradler/sdk on npmAI-nativeMCP server — @cradler/mcp
@cradler/mcp is a Model Context Protocol server that connects your AI agents directly to a project's backend. Claude, Cursor, and Claude Code can read your real data structure and read or write data themselves — so the assistant works against your actual schema instead of guessing at it.
// .mcp.json in your project root
{
"mcpServers": {
"cradler": {
"command": "npx",
"args": ["@cradler/mcp"],
"env": {
"CRADLER_API_KEY": "...",
"CRADLER_PROJECT_ID": "..."
}
}
}
}
View @cradler/mcp on npmAI-nativeAgent Skill
The Cradler Agent Skill teaches AI coding agents how to add a Cradler backend to an app — how to create a project, install the SDK, and wire up reads, writes, and uploads. Drop the skill into your agent and it knows the right steps without you explaining them.
View the Agent Skill on GitHub