skybridge
mcp
Skybridge is a framework for building ChatGPT & MCP Apps
README.md
Skybridge
Build ChatGPT & MCP Apps. The Modern TypeScript Way.
The fullstack TypeScript framework for AI-embedded widgets.
Type-safe. React-powered. Platform-agnostic.
Documentation Β· Quick Start Β· Showcase
β¨ Why Skybridge?
ChatGPT Apps and MCP Apps let you embed rich, interactive UIs directly in AI conversations. But the raw SDKs are low-levelβno hooks, no type safety, no dev tools, and no HMR.
Skybridge fixes that.
| π Write once, run everywhere β Skybridge works seamlessly with ChatGPT (Apps SDK) and MCP-compatible clients. | β End-to-End Type Safety β tRPC-style inference from server to widget. Autocomplete everywhere. |
π Widget-to-Model Sync β Keep the model aware of UI state with data-llm. Dual surfaces, one source of truth. |
βοΈ React Query-style Hooks β isPending, isError, callbacks. State management you already know. |
| π¨βπ» Full dev environment β HMR, debug traces, and local devtools. | π¦ Showcase Examples β Production-ready examples to learn from and build upon. |
π Get Started
Create a new app:
npm create skybridge@latest
Or add to an existing project:
npm i skybridge
yarn add skybridge
pnpm add skybridge
bun add skybridge
deno add skybridge
π Read the Docs π
π¦ Architecture
Skybridge is a fullstack framework with unified server and client modules:
skybridge/serverβ Define tools and widgets with full type inference. Extends the MCP SDK.skybridge/webβ React hooks that consume your server types. Works with Apps SDK (ChatGPT) and MCP Apps.- Dev Environment β Vite plugin with HMR, DevTools emulator, and optimized builds.
Server
import { McpServer } from "skybridge/server";
server.registerWidget("flights", {}, {
inputSchema: { destination: z.string() },
}, async ({ destination }) => {
const flights = await searchFlights(destination);
return { structuredContent: { flights } };
});
Widget
import { useToolInfo } from "skybridge/web";
function FlightsWidget() {
const { output } = useToolInfo();
return output.structuredContent.flights.map(flight =>
<FlightCard key={flight.id} flight={flight} />
);
}
π― Features at a Glance
- Live Reload β Vite HMR. See changes instantly without reinstalling.
- Typed Hooks β Full autocomplete for tools, inputs, outputs.
- Widget β Tool Calls β Trigger server actions from UI.
- Dual Surface Sync β Keep model aware of what users see with
data-llm. - React Query-style API β
isPending,isError, callbacks. - Platform Agnostic β Works with ChatGPT (Apps SDK) and MCP Apps clients (Goose, VSCode, etc.).
- MCP Compatible β Extends the official SDK. Works with any MCP client.
π Showcase
Explore production-ready examples:
| Example | Description | Demo | Code |
|---|---|---|---|
| Awaze β Cottage Search | Holiday cottage search and booking experience β browse properties, filter by location, and explore availability | Try Demo | β |
| Capitals Explorer | Interactive world map with geolocation and Wikipedia integration | Try Demo | View Code |
| Ecommerce Carousel | Product carousel with cart, localization, and modals | Try Demo | View Code |
| Everything | Comprehensive playground showcasing all hooks and features | Try Demo | View Code |
| Investigation Game | Interactive murder mystery game with multi-screen gameplay and dynamic story progression | Try Demo | View Code |
| Productivity | Data visualization dashboard demonstrating Skybridge capabilities for MCP Apps | Try Demo | View Code |
| Time's Up | Word-guessing party game where the user gives hints and the AI tries to guess the secret word | Try Demo | View Code |
| Lumo β Interactive AI Tutor | Adaptive educational tutor with Mermaid.js diagrams, mind maps, quizzes, and fill-in-the-blank exercises | Try Demo | View Code |
| Auth β Auth0 | Full OAuth authentication with Auth0 and personalized coffee shop search | β | View Code |
| Auth β Clerk | Full OAuth authentication with Clerk and personalized coffee shop search | β | View Code |
| Auth β Stytch | Full OAuth authentication with Stytch and personalized coffee shop search | β | View Code |
| Auth β WorkOS AuthKit | Full OAuth authentication with WorkOS AuthKit and personalized coffee shop search | β | View Code |
| Flight Booking | Flight booking carousel with dynamic search and booking flow | Try Demo | View Code |
| Generative UI | Dynamic UI generation using json-render and Skybridge | Try Demo | View Code |
| Manifest Starter | Starter app with Manifest UI agentic components out-of-the-box | Try Demo | View Code |
See all examples in the Showcase or browse the examples/ directory.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found