You need a Fused workspace. Choose Fused Cloud for a hosted Engine with a managed database, or self-host Fused in your own infrastructure. PostgreSQL setup is only required for self-hosting.
Install
ASSUME_YES=1 to skip the confirmation prompt.
Sign in
Save your workspace’s HTTP URL. For Fused Cloud, use the URL from Open Fused Engine after signup. For self-hosting, use your Engine’s reachable HTTP address (http://localhost:8081 for a local deployment). Replace the example below with that address:
On a headless machine,
fused-cli login --no-browser prints the URL instead of trying to open one.Choose your service’s authentication
For a supported OAuth integration, use a Managed service to connect users without registering your own provider app. Alternatively, store your own credentials. Managed auth is an explicit app configuration choice; init does not automatically choose it when local credentials are missing. Use--no-apply while preparing the managed reference, then plan and apply the completed config.
Create an App
fused-cli init creates one App with SDK, MCP, and REST delivery. It searches your workspace and then the Registry, pins a concrete service version, and automatically selects all operations for a bare service such as linear.
Use semicolons to select several services in one quoted value: --service 'linear;slack'. To select only specific operations, add = after each service and separate its operations with commas:
kind: sdk config with nested mcp delivery, plus a workspace config if service activation was needed.
If no suitable Registry service exists, import the API yourself from a spec, a GraphQL endpoint, or the provider’s documentation.
Automating this? Run
fused-cli init support-app --service linear --no-input for all Linear operations, or use --service 'linear=issueUpdate' for only that operation. No method flag is needed for the combined App. Missing credentials are reported as readiness metadata without blocking publication. You may pre-provision them with connect with explicit values and --no-input, or let the first affected call return the exact safe setup command. For structured plan and apply output, use the advanced controlled workflow.Call it
The SDK, MCP server, and REST endpoint use the same selected operations and execution token.{ ok, status, data, error } rather than the payload itself, and services sit on the client in PascalCase with operations following the provider’s own grouping — so issueUpdate may be sdk.Linear.issues.update. Using it in your app covers the whole shape; your package’s generated README.md lists the exact paths for the operations you selected.
Whichever one you used, the receipt is the same:
What you just did
Where to go next
Choose SDK-only delivery
Create a package without hosted MCP when you need one method.
Deploy an MCP server
Choose MCP-only delivery when you need a server without a package.
Connect user accounts
OAuth per end user, with refresh handled by Fused.
Share access
Give a team what it needs without giving it everything.