Packages
PancakeJS is modular — install only what you need. Here's an overview of all available packages.
Core Packages
@pancakeapps/core
Platform-agnostic types, registry, validation, and adapter interfaces. The foundation everything else builds on.
@pancakeapps/server
Server runtime with adapter management, resource store, and tool/widget registration.
@pancakeapps/react
React hooks and components for building widget UIs.
@pancakeapps/cli
CLI for development, building, and running your app.
Adapters
@pancakeapps/adapter-mcp-apps
Adapter for MCP-compatible hosts like Claude Desktop.
@pancakeapps/adapter-chatgpt-apps
Adapter for ChatGPT Apps.
Package Details
@pancakeapps/core
The foundation package containing:
- Type definitions for tools, widgets, and adapters
- Registry for managing tool/widget definitions
- Validation utilities using Zod
- Adapter interfaces for building new host adapters
import {
ToolDefinition,
WidgetDefinition,
AdapterInterface,
Registry
} from '@pancakeapps/core';@pancakeapps/server
Server-side runtime including:
- createUniversalServerApp — Main app factory
- Tool/Widget registration — Define your capabilities
- Adapter management — Register multiple adapters
- Resource store — Serve widget assets
import {
createUniversalServerApp,
textResult,
htmlResult,
withData,
renderWidget
} from '@pancakeapps/server';
const app = createUniversalServerApp({
name: 'my-app',
version: '1.0.0',
});@pancakeapps/react
React utilities for widgets:
| Hook | Purpose |
|---|---|
useToolInvocation | Access initial data passed to widget |
useWidgetState | Persist state across renders |
useCallTool | Call other tools from widget |
useHost | Access host info and capabilities |
useFollowUp | Send follow-up prompts |
useTheme | Get current theme (light/dark) |
useLocale | Get user's locale |
useCapability | Check if capability is available |
import {
UniversalAppProvider,
useToolInvocation,
useWidgetState,
useCallTool,
useHost
} from '@pancakeapps/react';@pancakeapps/cli
Development tools:
# Start development server with hot reload
universal-apps dev
# Build for production
universal-apps build
# Run production server
universal-apps start@pancakeapps/adapter-mcp-apps
MCP (Model Context Protocol) adapter for Claude Desktop and other MCP-compatible hosts:
import { createMcpAppsServerAdapter } from '@pancakeapps/adapter-mcp-apps';
app.adapter(createMcpAppsServerAdapter());Features:
- JSON-RPC 2.0 communication
- Resource serving for widgets
- Handshake authentication
- Origin validation
@pancakeapps/adapter-chatgpt-apps
ChatGPT Apps adapter:
import { createChatGptServerAdapter } from '@pancakeapps/adapter-chatgpt-apps';
app.adapter(createChatGptServerAdapter());Features:
- window.openai API integration
- Output template support
- ChatGPT sandbox compatibility
Installation Matrix
| Use Case | Packages Needed |
|---|---|
| Tools only (no UI) | core, server, cli, adapters |
| Tools + Widgets | All packages |
| MCP only | core, server, react, cli, adapter-mcp-apps |
| ChatGPT only | core, server, react, cli, adapter-chatgpt-apps |
| Both platforms | All packages |
Version Compatibility
All @pancakeapps/* packages are versioned together. Always use matching versions:
{
"dependencies": {
"@pancakeapps/core": "^1.0.0",
"@pancakeapps/server": "^1.0.0",
"@pancakeapps/react": "^1.0.0",
"@pancakeapps/adapter-mcp-apps": "^1.0.0",
"@pancakeapps/adapter-chatgpt-apps": "^1.0.0",
"@pancakeapps/cli": "^1.0.0"
}
}Peer Dependencies
All packages require:
| Package | Version |
|---|---|
zod | ^3.0.0 |
react | ^18.0.0 or ^19.0.0 |
react-dom | ^18.0.0 or ^19.0.0 |
Next Steps
- Getting Started — Set up your first project
- API Reference — Detailed API documentation