Two commands
to see it work.

Unfurl runs on Node.js. During early access you install it from source; the steps below are the same ones in the README.

Seed a messy dataset

The demo plants eight common data problems, then resolves them. doctor shows what was caught.

# build, then seed a messy sample dataset (no credentials)
$ npm install && npm run build
$ node dist/cli.js demo
# see what the resolution engine caught
$ node dist/cli.js doctor

Add it to Claude Code

Any MCP client works the same way: point it at unfurl serve over stdio. Then ask "what is my open pipeline by stage?", "who churned recently?", or "which won deals never started paying us?"

# plug it into Claude Code
$ claude mcp add unfurl -- node /path/to/unfurl/dist/cli.js serve

Sync HubSpot and Stripe

Create a HubSpot private app with read scopes for contacts, companies, deals, and owners. Optionally add a Stripe restricted key, read-only on customers and subscriptions.

$ node dist/cli.js init
# writes .unfurl.json; add hubspotToken (and optionally stripeKey)
# or set HUBSPOT_TOKEN / STRIPE_KEY, which override the file
$ node dist/cli.js sync

Open the local dashboard

The same resolved graph, in your browser, served from localhost only.

$ node dist/cli.js ui
# http://127.0.0.1:4173

Every command

unfurl init unfurl demo unfurl sync unfurl ui
unfurl resolve unfurl doctor unfurl serve

Get the code.

Request early access and we will send you the repository and help you connect your first source.