MCPcopy Index your code
hub / github.com/alpic-ai/apps-sdk-template

github.com/alpic-ai/apps-sdk-template @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
10 symbols 42 edges 13 files 0 documented · 0% updated 1d ago★ 110
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Apps SDK Template

A minimal TypeScript template for building ChatGPT and MCP Apps with widget rendering.

This template has been generated and is powered by Skybridge.

Getting Started

Prerequisites

  • Node.js 24+
  • HTTP tunnel such as ngrok

Local Development

1. Install

git clone git@github.com:alpic-ai/apps-sdk-template.git
cd apps-sdk-template
npm install

2. Start your local server

Run the development server from the root directory:

npm run dev

Open DevTools to test your app locally: http://localhost:3000/ MCP server running at: http://localhost:3000/mcp

3. Connect to ChatGPT

  • ChatGPT requires connectors to be publicly accessible. To expose your server on the Internet, run:
ngrok http 3000
  • In ChatGPT, navigate to Settings → Connectors → Create and add the forwarding URL provided by ngrok suffixed with /mcp (e.g. https://3785c5ddc4b6.ngrok-free.app/mcp)

Create your first widget

1. Add a new widget

  • Register a widget in server/server.ts with a unique name (e.g., my-widget)
  • Create a matching React component at web/src/widgets/my-widget.tsx. The file name must match the widget name exactly

2. Edit widgets with Hot Module Replacement (HMR)

Edit and save components in web/src/widgets/ — changes appear instantly in the host

3. Edit server code

Modify files in server/ and reload your ChatGPT connector in Settings → Connectors → [Your connector] → Reload

Deploy to Production

Use Alpic to deploy your OpenAI App to production

Deploy on Alpic

  • In ChatGPT, navigate to Settings → Connectors → Create and add your MCP server URL (e.g., https://your-app-name.alpic.live)

Resources

Core symbols most depended-on inside this repo

useMascot
called by 2
src/views/use-mascot.ts
Onboarding
called by 0
src/views/onboarding.tsx
Doc
called by 0
src/views/components/doc.tsx
Nav
called by 0
src/views/components/nav.tsx
Progress
called by 0
src/views/components/progress.tsx
DocLink
called by 0
src/views/components/doc-link.tsx
ToolOutput
called by 0
src/views/components/steps/tool-output.tsx
State
called by 0
src/views/components/steps/state.tsx

Shape

Function 10

Languages

TypeScript100%

Modules by API surface

src/views/use-mascot.ts1 symbols
src/views/onboarding.tsx1 symbols
src/views/components/steps/tool-output.tsx1 symbols
src/views/components/steps/tool-call.tsx1 symbols
src/views/components/steps/state.tsx1 symbols
src/views/components/steps/outro.tsx1 symbols
src/views/components/progress.tsx1 symbols
src/views/components/nav.tsx1 symbols
src/views/components/doc.tsx1 symbols
src/views/components/doc-link.tsx1 symbols

For agents

$ claude mcp add apps-sdk-template \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page