
Build Once.
Run in any Chat App.
One codebase. Every AI platform.
Define once, deploy everywhere
Write your chat apps with a clean TypeScript API. The SDK handles the rest — automatically routing to the right adapter based on the host.
1import { createUniversalApp, defineTool } from '@pancakeapps/server';2import { mcpAppsAdapter } from '@pancakeapps/adapter-mcp-apps';3import { chatgptAdapter } from '@pancakeapps/adapter-chatgpt-apps';4import { z } from 'zod';56const app = createUniversalApp({7 adapters: [mcpAppsAdapter(), chatgptAdapter()],8});910app.tool(11 defineTool({12 name: 'get_weather',13 description: 'Get weather for a city',14 input: z.object({ city: z.string() }),15 widget: 'WeatherWidget', // renders your React component16 handler: async ({ city }) => {17 const data = await fetchWeather(city);18 return { city, ...data };19 },20 }),21);2223app.start();Check weather for London
Here's the current weather in London:
London, UK
Rainy
Humidity
89%
Wind
12 mph
Precip
80%
What's the weather in Tokyo?
Here's the current weather in Tokyo:
Tokyo, Japan
Partly Cloudy
Humidity
65%
Wind
8 mph
UV Index
Low
Weather in San Francisco?
Here's the weather for San Francisco:
San Francisco, CA
Sunny
Humidity
55%
Wind
10 mph
UV Index
High
Same code. Same widget. Adapts to each platform.
All the toppings you need
A complete SDK for building chat apps without the integration headaches.
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.
Rich Widgets
Build interactive React widgets that render natively in chat UIs. Charts, forms, maps — anything goes.
Type Safe
Full TypeScript support with Zod validation. Catch errors at build time, not runtime.
How it works
A scalable abstraction layer that routes your tools to any AI platform.
Modular by design
Install only what you need. Each package is focused and lightweight.
@pancakeapps/corePlatform-agnostic types, registry, validation, and adapter interfaces
@pancakeapps/serverServer runtime with adapter management and resource store
@pancakeapps/reactReact hooks for building interactive widgets
@pancakeapps/adapter-mcp-appsAdapter for MCP-compatible hosts (Claude Desktop, etc.)
@pancakeapps/adapter-chatgpt-appsAdapter for ChatGPT Apps
@pancakeapps/cliCLI for development, building, and deployment

Ready to Start Building?
Join the community building the future of AI-powered interfaces.