initialize
Scaffold a new MCP distribution project from the Waniwani template. The agent interactively gathers your brand, use case, and data source, then generates a production-ready flow with widgets.- Gathers context — asks for your website URL, use case (quote flow, booking, lead qualification, etc.), data source (real API or mock), and customer profile.
- Extracts branding — visits your website in the background to pull colors, logo, fonts, and tone.
- Presents a plan — shows the proposed flow structure, widgets, and data approach for your approval.
- Scaffolds the project — updates
package.json, sets up.env, installs dependencies. - Removes demo content — clears the reference implementation (Alpine ski lessons) so you start clean.
- Generates flow + widgets — creates the flow file with state, nodes, edges, and widget components styled to your brand.
- Wires everything up — registers tools, widgets, and tracking in the server entry point.
- Tests — builds and starts the dev server so you can walk through the flow immediately.
create-flow
Build a multi-step conversational flow from scratch in an existing project. The agent designs the state schema, node graph, and edges based on your description.- Checks prerequisites — verifies
@waniwani/sdkis installed,WANIWANI_API_KEYis set, and a client singleton exists. Fixes anything missing. - Understands your goal — asks you to describe the flow in one sentence (lead qualification, onboarding, quote/pricing, support triage, survey, etc.).
- Designs the state — creates a Zod schema with
.describe()on every field so the AI knows what each piece of data is for. - Designs the nodes — maps each step to an interrupt node (asks questions), action node (silent computation), or widget node (shows UI).
- Designs the edges — connects nodes sequentially and adds conditional edges for branching logic.
- Generates the flow file — writes the complete flow with
createFlow,START/ENDedges, and.compile(). - Registers the flow — wires it into your MCP server route with
registerTools. - Tests — starts the dev server and walks you through triggering and completing the flow.
tunnel
Start your local MCP dev server and expose it via a public tunnel so remote clients (ChatGPT, Claude, etc.) can reach it.- Finds the dev command — reads your
package.jsonfor the dev script. - Starts the server — runs the dev command in the background and detects the port.
- Picks a tunnel provider — checks for
cloudflared(preferred, no account needed) orngrok. If neither is installed, provides installation instructions. - Opens the tunnel — starts the tunnel and prints both the local and public URLs.