Pancake

Build Once.
Run in any AI Host.

The universal SDK for building apps and tools across MCP Apps, ChatGPT Apps SDK, and every AI host.

$pnpm add @pancakeapps/core @pancakeapps/server

One codebase. Every AI host.

ClaudeClaude
ChatGPTChatGPT
GeminiGemini
CopilotCopilot
+
Your App

Define once, deploy everywhere

Build React apps with familiar hooks. PancakeJS handles the bridge to each app SDK. Your component renders natively in every host.

WeatherWidget.tsx
1// widgets/WeatherWidget.tsx
2import { useToolInvocation, useWidgetState } from '@pancakeapps/react';
3import { useEffect } from 'react';
4
5export function WeatherWidget() {
6 const { input } = useToolInvocation<{ city: string }>();
7 const [data, setData] = useWidgetState<WeatherData | null>(null);
8
9 useEffect(() => {
10 fetchWeather(input.city).then(setData);
11 }, [input.city]);
12
13 if (!data) return <Loading />;
14
15 return (
16 <div className="weather-widget">
17 <City name={data.city} />
18 <Temperature value={data.temp} unit={data.unit} />
19 <Conditions type={data.condition} />
20 <Stats humidity={data.humidity} wind={data.wind} />
21 </div>
22 );
23}
ChatGPTChatGPT

Check weather for London

Here's the current weather in London:

London, UK

54°F

Rainy

Humidity

89%

Wind

12 mph

Precip

80%

ClaudeClaude

What's the weather in Tokyo?

Here's the current weather in Tokyo:

Tokyo, Japan

72°F

Partly Cloudy

Humidity

65%

Wind

8 mph

UV Index

Low

Same app. Same code. Adapts to each platform.

Test and debug live

Run pnpm dev to start a local server, paste the URL into ChatGPT, and watch your app update as you edit. No deploys, no waiting.

ChatGPTChatGPTLive Preview

What's the weather in San Francisco?

Here's the current weather:

San Francisco

68°F

Sunny

Humidity

55%

WeatherWidget.tsx
Saved
1// widgets/WeatherWidget.tsx
2import { useToolInvocation } from '@pancakeapps/react';
3
4export function WeatherWidget() {
5 const { output } = useToolInvocation<WeatherData>();
6
7 return (
8 <div className="weather-card">
9 <City name={output.city} />
10 <Temperature value={output.temp} />
11
12 </div>
13 );
14}
$pnpm devwatching for changes...

All the toppings you need

A complete SDK for building applications for AI hosts—without the integration headaches.

🍓

Single API

Define apps and tools 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.

🍫

Rich Apps

Build interactive React apps that render natively in chat UIs. Charts, forms, maps, and more.

🍯

Type Safe

Full TypeScript support with Zod validation. Catch errors at build time, not runtime.

How it works

Every AI host has its own protocol (MCP Apps, ChatGPT Apps SDK, A2UI) and its own UI requirements. PancakeJS is both protocol-agnostic and host-agnostic: one codebase handles the communication layer and adapts your apps to each host's styling conventions.

YOUR APP
ToolsComponentsBusiness Logic
PANCAKE SDK
@pancakeapps/core@pancakeapps/server@pancakeapps/react
Claude
Claude
ChatGPT
ChatGPT
Gemini
Gemini
+
Your App

Modular by design

Install only what you need. Each package is focused and lightweight.

@pancakeapps/core

Platform-agnostic types, registry, validation, and adapter interfaces

@pancakeapps/server

Server runtime with adapter management and resource store

@pancakeapps/react

React hooks for building interactive widgets

@pancakeapps/adapter-mcp-apps

Adapter for MCP-compatible hosts (Claude Desktop, etc.)

@pancakeapps/adapter-chatgpt-apps

Adapter for ChatGPT Apps

@pancakeapps/cli

CLI for development, building, and deployment

Pancake

Build your first app for AI hosts

Get up and running in under 5 minutes. One codebase runs in ChatGPT, Claude, and every AI host.

$pnpm add @pancakeapps/core @pancakeapps/server