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
·
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,...