All posts

sunpeak is MCP-App-First

Abe Wheeler
MCP Apps MCP App Framework ChatGPT Apps ChatGPT App Framework Claude Apps
sunpeak is MCP-App-First

MCP Apps now run in ChatGPT, Claude, Goose, and VS Code. That happened fast. Claude announced MCP App support on January 26, and ChatGPT followed on February 4. Two weeks, two major hosts, one standard.

TL;DR: sunpeak’s APIs are built around the MCP App standard. ChatGPT and Claude-specific features are layered on top as optional imports. Write your app once, run it everywhere—even localhost.

Why MCP-App-First

When ChatGPT Apps launched in October 2025, they had their own proprietary SDK. Building for ChatGPT meant building only for ChatGPT.

That changed when OpenAI contributed to and aligned on MCP Apps as the open standard. The rendering model, the iframe sandbox, the UI functionality — all of it became portable. And as of February 2026, the major hosts actually implemented it.

sunpeak followed the same trajectory. We started as a ChatGPT App framework because ChatGPT was the only major host supporting embedded UIs. Now we’re an MCP App framework, because the standard is real and the host list is growing.

What that means in practice: sunpeak’s core APIs target the MCP App interface, not any single host. At the same time, sunpeak layers in the major host-specific functionality developers need to seamlessly support differentiated platforms (think React Native).

How It Works

sunpeak separates standard MCP App APIs from host-specific ones at the import level.

Core APIs come from the top-level sunpeak import. These work everywhere:

import { useToolData, useHostContext, useDisplayMode, AppProvider } from 'sunpeak';
import type { ResourceConfig } from 'sunpeak';

export const resource: ResourceConfig = {
  name: 'dashboard',
  description: 'Show analytics dashboard',
};

export function DashboardResource() {
  const { output } = useToolData();
  const context = useHostContext();
  const displayMode = useDisplayMode();

  return <div>{/* Your UI — runs in ChatGPT, Claude, Goose, VS Code */}</div>;
}

Host-specific APIs come from subpath imports. Right now that’s sunpeak/chatgpt for ChatGPT-specific tooling:

import { ChatGPTSimulator, buildDevSimulations } from 'sunpeak/chatgpt';

The ChatGPT simulator, dev simulation builder, and any ChatGPT-only runtime features live here. They’re first-class — not afterthoughts or community plugins — but they don’t pollute your app code. Your resource components stay portable.

What Changed, What Didn’t

If you’re already using sunpeak, you’ll notice v0.13 changes many APIs to be based on MCP App abstractions and nomenclature. Fortunately, a lot of Apps SDK knowledge is easily portable to the MCP App interface. Refer to the release notes for more specific migration instructions, and refer to the sunpeak docs for a complete overview of sunpeak and MCP Apps.

With these changes, your app renders in Claude (and others) today. The sunpeak dev simulator at localhost:6767 replicates the MCP App runtime that all hosts implement, so what works locally works in production across hosts.

The Host Landscape

Here’s where MCP Apps run today:

  • ChatGPT — OpenAI contributed elements of the original ChatGPT Apps protocol to MCP and now supports the open standard alongside their existing SDK.
  • Claude — Anthropic’s web and desktop clients render MCP Apps natively.
  • Goose — Block’s open-source AI agent supports MCP Apps.
  • VS Code Insiders — Microsoft’s editor renders MCP Apps in the chat sidebar.

More hosts will follow. The MCP App standard is under the Linux Foundation now, and the spec is actively developed at modelcontextprotocol/ext-apps.

Platform-Specific Features Are First-Class

MCP-App-first doesn’t mean lowest-common-denominator. ChatGPT has features that Claude doesn’t, and vice versa. sunpeak treats these as first-class extensions, not hacks.

For ChatGPT, that means full access to OpenAI’s apps-sdk-ui component library, the ChatGPT simulator for local development, and any ChatGPT-specific runtime APIs. These are maintained alongside the core framework, tested in CI, and documented.

As Claude and other hosts ship their own platform-specific features, sunpeak will add corresponding subpath imports. The pattern scales: core stays portable, extensions stay organized.

Get Started

sunpeak is open source and free.

pnpm add -g sunpeak && sunpeak new

Your app works across ChatGPT, Claude, and every other MCP App host from the first line of code.

Frequently Asked Questions

What does MCP-App-first mean for sunpeak?

MCP-App-first means sunpeak's core APIs (useToolData, useHostContext, useDisplayMode, AppProvider, ResourceConfig) are built around the MCP App standard, not any single host. Platform-specific features for ChatGPT and Claude are layered on top as optional imports, so your app code is portable by default.

What hosts support MCP Apps?

As of February 2026, MCP Apps run in ChatGPT (announced Feb 4), Claude (announced Jan 26), Goose, and VS Code Insiders. sunpeak's MCP App framework lets you build once and run across all of these hosts.

How do I use ChatGPT-specific features in sunpeak?

Import ChatGPT-specific exports from the sunpeak/chatgpt subpath. Core hooks like useToolData and useHostContext come from the top-level "sunpeak" import. This separation keeps your app code portable.

What is the difference between MCP Apps and ChatGPT Apps?

MCP Apps are interactive UI applications built on the Model Context Protocol Apps extension that run across multiple AI hosts. ChatGPT Apps are MCP Apps running inside ChatGPT, with optional ChatGPT-specific features like OpenAI's apps-sdk-ui components and the window.openai bridge. sunpeak supports both through its MCP-App-first architecture.

Can I test MCP Apps for ChatGPT and Claude locally?

Yes. Run "sunpeak dev" to start a local simulator at localhost:6767 that replicates the MCP App runtime. You can test all display modes, themes, and tool invocations without a paid ChatGPT or Claude account. sunpeak also supports automated MCP App testing with Vitest and Playwright.

Do I need to rewrite my ChatGPT App to support Claude?

No. If your app uses sunpeak's core APIs (useToolData, useHostContext, etc.), it already works across all MCP App hosts. The MCP App standard defines the rendering model, communication protocol, and iframe sandbox that all hosts implement. Host-specific code is isolated to optional imports.

What is the MCP App standard?

The MCP App standard (defined in @modelcontextprotocol/ext-apps) is the first official extension to the Model Context Protocol. It lets MCP tools return interactive UI components that render in sandboxed iframes inside AI conversations. Communication between host and app uses JSON-RPC 2.0 over postMessage.

How do I get started building MCP Apps with sunpeak?

Install sunpeak globally and create a project with "pnpm add -g sunpeak && sunpeak new", then run "sunpeak dev" to start the local simulator. Your app works across ChatGPT, Claude, and other MCP App hosts out of the box.

sunpeak mountain
© 2026 sunpeak
Made in Austin, TX