Skybridge – the MCP Apps framework released v1.0

Eldodi1 pts0 comments

Release v1.0.0 🎉 · alpic-ai/skybridge · GitHub

//releases/show" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

//releases/show;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

alpic-ai

skybridge

Public

Notifications<br>You must be signed in to change notification settings

Fork<br>66

Star<br>1.1k

v1.0.0 🎉

Latest

Latest

Compare

Choose a tag to compare

Sorry, something went wrong.

Filter

Loading

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

No results found

View all tags

harijoe

released this

18 May 08:25

&middot;

8 commits

to main<br>since this release

v1.0.0

43767be

This commit was created on GitHub.com and signed with GitHub’s verified signature .

GPG key ID: B5690EEEBB952194

Verified

Learn about vigilant mode.

👨‍🍳 We cooked! Skybridge v1 is finally on the table:

API simplification : We ditched registerWidget for a unified registerTool entry point. In your tool config, simply set the type-safe view.component field, and Skybridge takes care of the rest. We also exposed the underlying Express instance so you can add non-MCP endpoints to your server.

Devtools revamp : Our beloved MCP inspector gets a radical makeover plus a bunch of new features:

Plug your local env to ChatGPT and Claude with one-click HTTP tunneling

Chat with your app on the LLM playground

Run automated Audit to make sure your server is compliant with OpenAI and Anthropic store guidelines

Production readiness : We now support Cloudflare Workers, and we added a Dockerfile to make container deployment easy as can be.

How to migrate?

Install the latest version of the skill

Run the prompt inside your favorite coding agent: Migrate my app based on https://github.com/alpic-ai/skybridge/releases/tag/v1.0.0

Having issues? Join our Discord to get help from the maintainers.

Changelog

registerWidget removed — merged into registerTool (PR #701)

The separate registerWidget call is gone. Widget/view config moves into registerTool as an optional view field:

// before<br>server.registerTool("my-tool", schema, handler)<br>server.registerWidget({ component: "my-view", ... })

// after<br>server.registerTool(<br>{ name: "my-tool", ...schema, view: { component: "my-view" } },<br>handler<br>);

mountWidget removed from public API (PR #701)

The Vite plugin now auto-mounts views found in the views directory. Any manual mountWidget call should be removed.

)">// before<br>import { mountWidget } from "skybridge/web";

export default function SearchFlights() { ... }<br>mountWidget(SearchFlights />)

// after<br>export default function SearchFlights() { ... }

skybridge/web import path renamed to skybridge/vite (PR #720)

The Vite plugin subpath export changed:

// before<br>import { skybridge } from "skybridge/web";

// after<br>import { skybridge } from "skybridge/vite";

server/ + web/ project layout dropped (PR #701)

The old two-directory layout (src/server/, src/web/) is no longer supported. Skybridge now uses a flat src/ tree with src/views/ for view files. The views directory is configurable in the provided skybridge plugin.

// before<br>├── server/<br>│ └── src/<br>│ └── index.ts<br>└── web/<br>└── src/<br>└── widgets/<br>└── my-widget.tsx

// after<br>└── src/<br>├── server.ts<br>└── views/<br>└── my-view.tsx

All widget terminology renamed to view (PR #720)

useWidgetState renamed to useViewState

// before<br>import { useWidgetState } from "skybridge/web";

// after<br>import { useViewState } from "skybridge/vite";

widgetsDevServer renamed to viewsDevServer

// before<br>import { devtoolsStaticServer, widgetsDevServer } from "skybridge/server";<br>app.use(await widgetsDevServer());

// after<br>import { devtoolsStaticServer, viewsDevServer } from "skybridge/server";<br>app.use(await viewsDevServer());

Removed result from CallToolResponse (PR #749)

As it does not exist in either mcp apps or apps sdk.

Contributors

Thanks to everyone who contributed to Skybridge:

@harijoe, @paulleseute, @fredericbarthelet, @qchuchu, @valentinbeggi, @thleonard, @rodincave, @Rodriguespn, @csonigo, @khandrew1, @neil-ac, @brunobuddy, @jlgrimes, @mikeborozdin, @Sambego, @yannj-fr, @TheCodingAyush, @appledr1nker, @utkarshrana35, @udaykakade25, @asim48-ctrl, @thisisharsh7, @Jean-crack,...

skybridge server view from import before

Related Articles