Use this file to discover all available pages before exploring further.
Definitions: An MCP App is an interactive UI embedded in an agent conversation.A ChatGPT App is an MCP App with optional ChatGPT-specific features.The UI of an MCP App is an MCP Resource.The API of an MCP App is an MCP Tool.More on MCP and the MCP Apps protocol.
A convention-over-configuration framework for building MCP Apps with the inspector and testing built in. Like Next.js for AI chat apps.
npx sunpeak new
Tools, resources, and simulations are auto-discovered from the file system. Multi-platform React hooks let you write your app logic once and deploy across ChatGPT, Claude, and future hosts.
sunpeak-app/├── src/│ ├── resources/│ │ └── review/│ │ └── review.tsx # Review UI component + resource metadata.│ ├── tools/│ │ ├── review-diff.ts # Tool with handler, schema, and optional resource link.│ │ ├── review-post.ts # Multiple tools can share one resource.│ │ └── review.ts # Backend-only tool (no resource, no UI).│ └── server.ts # Optional: auth, server config.├── tests/│ ├── unit/│ │ └── review.test.ts # Unit tests for component and hook logic.│ ├── simulations/│ │ ├── review-diff.json # Mock state for testing (includes serverTools).│ │ ├── review-post.json # Mock state for testing (includes serverTools).│ │ └── review-purchase.json # Mock state for testing (includes serverTools).│ ├── e2e/│ │ └── review.spec.ts # Playwright tests against the inspector.│ ├── live/│ │ └── review.spec.ts # Live tests against real ChatGPT (one per resource).│ └── evals/│ └── review.eval.ts # Multi-model tool calling evals.└── package.json
Runtime APIs: useToolData, useAppState, useTheme, useDisplayMode, and more
Project Scaffold: Complete dev setup with pre-configured tooling
Convention over configuration: resources, tools, and simulations are auto-discovered from src/ and tests/
App framework documentation
Project structure, runtime APIs, deployment, and CLI reference.
Automated tests for any MCP server, no sunpeak project required. Run against replicated ChatGPT and Claude runtimes. Works with Python, Go, TypeScript, Rust, or any language.
npx sunpeak test init --server http://localhost:8000/mcpnpx sunpeak test
Playwright fixtures handle inspector startup, MCP connection, iframe traversal, and host switching. Four levels of testing: E2E, visual regression, live host tests, and multi-model evals.
import { test, expect } from 'sunpeak/test';test('search tool returns results', async ({ mcp }) => { const result = await mcp.callTool('search', { query: 'headphones' }); expect(result.isError).toBeFalsy();});test('album cards render in dark mode', async ({ inspector }) => { const result = await inspector.renderTool('show-albums', {}, { theme: 'dark' }); await expect(result.app().locator('button:has-text("Summer Slice")')).toBeVisible();});
Testing documentation
Getting started, E2E, visual regression, live tests, and evals.
The inspector replicates the ChatGPT and Claude app runtimes locally. Toggle between hosts, themes, display modes, and device types from the sidebar. Call real tool handlers or load simulation fixtures for deterministic mock data. Changes reflect instantly via HMR.No tunnel, no host account, no deployment. Just instant local feedback.
Inspector documentation
Full inspector guide, simulations, and sidebar controls.