Welcome to PancakeJS
One SDK. Every AI Host.
PancakeJS gives you a universal abstraction layer that works across AI hosts — so you can focus on building great experiences instead of juggling integrations.
PancakeJS is currently in active development. Join us in building the future of universal AI tooling!
Why PancakeJS?
Building AI-powered tools shouldn't mean rewriting code for every platform. With PancakeJS, you define your tools and widgets once and they work everywhere.
// Define once
const weatherTool = defineTool({
name: 'get_weather',
description: 'Get current weather for a city',
input: z.object({ city: z.string() }),
handler: async ({ city }) => {
const weather = await fetchWeather(city);
return toolResult.text(`${city}: ${weather.temp}°F, ${weather.condition}`);
},
});
// Works everywhere ✨
// → MCP Apps (Claude Desktop, etc.)
// → ChatGPT Apps
// → More hosts coming soonKey Features
🎯 Single API
Define tools and widgets once with a clean, TypeScript-first API. No platform-specific code required.
🔌 Auto Bridge Detection
The SDK automatically detects which host is running and routes to the correct bridge — zero config needed.
⚡ Great DX
Hot module reloading, strong typing with inference, and clear error messages that actually help you debug.
🧩 Extensible
Add new host adapters without changing your app code. Built for a multi-platform future.
Quick Links
Getting Started
Set up your first PancakeJS project in minutes
Tools vs Widgets
Understand the difference and when to use each
Deploy to Cloudflare
Deploy your PancakeJS app to Cloudflare Workers
Examples
Explore working examples and patterns
How It Works
┌─────────────────────────────────────────────────────────────────┐
│ Your App Code │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ Tools │ │ Widgets │ │ Business Logic │ │
│ └─────────────┘ └─────────────┘ └─────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ PancakeJS SDK │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ Core │ │ Server │ │ React Runtime │ │
│ │ Types │ │ Runtime │ │ + Hooks │ │
│ └─────────────┘ └─────────────┘ └─────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ MCP Apps │ │ ChatGPT │ │ Future │
│ Adapter │ │ Adapter │ │ Adapters │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Claude │ │ ChatGPT │ │ ... │
│ Desktop │ │ Web │ │ │
└───────────┘ └───────────┘ └───────────┘Ready to Start?
Get up and running with PancakeJS in under 5 minutes.