CLI workflows and an MCP bridge for supported provider setup.
you are here“Stack my backend.”
One prompt to explore 39 providers. Approve setup in your accounts; Stack records successful services, stores returned credentials through Phantom, and adds supported MCP entries.
stack add does for it.Get Stack into Claude. Review setup, then inspect results.
Pick the path that matches where you are. After configuring the plugin and server, you can request /stack:add. Provider setup may need an account, credentials or interactive approval. Install both Stack packages and use the runtime required by your versions; public 0.1.1 needs Bun 1.2+, while reviewed source 0.2.1 is not a publication claim.
Start with a setup review.
Use these discovery references in your Claude Code session: /llms.txt + ai-plugin.json; reading them does not install anything or authorize provider operations.
Install the plugin.
Adds /stack:add,
/stack:doctor,
/stack:list,
/stack:status
— instruction-based slash commands, subject to server and CLI setup.
Wire the MCP server.
With ashlr-stack-mcp
and stack on PATH, adapt this
canonical entry to your client settings. Confirm its project cwd and the tools
it actually advertises; this is not a universal client config.
{
"mcpServers": {
"ashlr-stack": {
"command": "ashlr-stack-mcp"
}
}
} Manual setup. Or a guided workflow.
Illustrative setup steps vs. stack add supabase. Explore the workflow.
1. Create Supabase project (browser)
2. Paste keys into .env.local
3. Install client
4. Wire up MCP server by hand
5. Generate personal access token (browser)
6. Lint your .env out of git history (just in case)
7. Restart Claude Code, pray MCP attaches
8. Realize you forgot to add Sentry, Resend, PostHog…
Explore the simulation.
Scripted browser simulation: after boot-up, try the supported example stack commands (including stack recommend "b2b saas with auth" or stack add supabase) to explore illustrative output. This browser demo does not execute the CLI or set up provider accounts.
Pick your stack. See the recipe — live.
Click any provider to inspect the real stack add invocation, declared empty-key .env.example slots, and optional MCP metadata. Select providers to plan a recipe; actual entries depend on successful setup.
- MCPSupabase· OAuthPostgres + Auth + Storageinspect →
- MCPNeon· PATServerless Postgresinspect →
- Turso· PATEdge SQLite (libSQL)inspect →
- keyConvex· API keyReactive backend-as-a-serviceinspect →
- keyUpstash· API keyServerless Redis + Kafkainspect →
- keyFirebase· Service keyRealtime DB + Authinspect →
- MCPVercel· PATFrontend platforminspect →
- keyRailway· API keyInfra from a repoinspect →
- keyFly.io· API keyVMs at the edgeinspect →
- MCPCloudflare· PATWorkers, R2, D1inspect →
- keyRender· API keyZero-config hostinginspect →
- keyModal· API keyServerless GPU + sandboxinspect →
- keyAWS· API keyS3, Lambda, RDSinspect →
- keyGCP· API keyGoogle Cloud Platforminspect →
- keyDigitalOcean· PATDroplets, Kubernetes, managed DBsinspect →
- keyHetzner· API keyAffordable European cloud serversinspect →
- keyOpenAI· API keyGPT, Realtime, embeddingsinspect →
- keyAnthropic· API keyClaude models + MCPinspect →
- keyxAI· API keyGrok + tool useinspect →
- keyDeepSeek· API keyOpen-weight modelsinspect →
- keyReplicate· PATOSS model inferenceinspect →
- keyBraintrust· API keyLLM evals + observabilityinspect →
- MCPkeyPostHog· API keyProduct analytics + flagsinspect →
- keyMixpanel· API keyProduct analyticsinspect →
- PLkeyPlausible· API keyPrivacy-friendly web analyticsinspect →
- keyDatadog· API keyMetrics, traces, logsinspect →
- keyGrafana· PATDashboards + alertinginspect →
- MCPSentry· PATError + performance trackinginspect →
- MCPkeyStripe· API keyBilling, subscriptions, taxinspect →
- MCPGitHub· DeviceRepos, Actions, OAuthinspect →
- MCPkeyLinear· API keyIssues, projects, cyclesinspect →
- keyResend· API keyTransactional + React emailinspect →
- keySendGrid· API keyHigh-volume transactional mailinspect →
- keyMailgun· API keyAPI-first email + routinginspect →
- POkeyPostmark· API keyDeliverability-focused transactionalinspect →
- keyClerk· API keyDrop-in auth + usersinspect →
- keyAuth0· API keyIdentity platforminspect →
- WOkeyWorkOS· API keyEnterprise SSO + Directory Syncinspect →
- LAkeyLaunchDarkly· API keyFeature flags + experimentationinspect →
Brand marks provided by simple-icons and used for identification. All trademarks are property of their respective owners. Stack stores returned credentials through Phantom after successful setup. Review your app's environment and each consumer separately.
Three surfaces, one project workflow.
Stack coordinates the CLI, the vault, and your project files for the current project. Service declarations can be shared in .stack.toml; local instance data and credential access depend on each developer's setup. Click a step to pause the auto-walkthrough.
Illustrative workflows for a Claude Code session.
Four illustrative moments: a fresh SaaS scaffold, adding analytics to an existing
app, responding to a leaked token, and choosing a provider from the catalog. Each
pairs example chat with a supported stack
command and illustrative terminal output. Actual behavior depends on installed
versions, client setup, provider access and explicit approvals.
Compose a new SaaS project
Start a project with Supabase, PostHog, Sentry, and Resend. What needs my authorization?
If each provider accepts the setup, Stack records service slots in `.stack.toml`, stores credentials in Phantom, and adds available MCP entries to `.mcp.json`. Run `stack env export --example` for empty-key documentation; configure and verify the app separately.
Opinionated starters, ready to explore.
Explore an illustrative starter recipe, supported stack add commands,
optional empty-key .env.example entries,
and MCP possibilities. Actual files and provider results depend on successful setup.
Next.js + Supabase + PostHog
App Router, Supabase Auth + Postgres, PostHog events from server actions. This is a planning preview; no provider or vault operation runs here.
# Vercel — Personal access token VERCEL_TOKEN= # Supabase — OAuth (PKCE) SUPABASE_URL= SUPABASE_ANON_KEY= SUPABASE_SERVICE_ROLE_KEY= # PostHog — API key POSTHOG_PERSONAL_API_KEY=
{
"mcpServers": {
"ashlr-stack": {
"command": "ashlr-stack-mcp"
}
}
}Install @ashlr/stack and ashlr-stack-mcp so both `stack` and `ashlr-stack-mcp` are on PATH. Use the runtime required by the versions you installed. Adapt to your client and set its project cwd. Provider MCP entries require separate supported credential setup.
stack init offers blank or a starter template. Choosing a template attempts setup for its listed services by default; use --noProvision with a template to write config only.
Your agent can run Stack directly.
Stack provides a stdio MCP bridge and a Claude Code plugin. Use /stack:add to request
provider-specific setup, credential persistence and optional configuration in
.mcp.json. Review each result and complete client setup.
- MCP-nativeReviewed source declares 19 CLI-backed MCP tools, a subset of commands.
- Plugin commands/stack:add · /stack:doctor · /stack:list are plugin commands.
- Phantom-gatedCredential setup uses Phantom; inspect returned text and config files.
Connect an MCP-capable agent, with explicit setup.
The ashlr-stack-mcp
stdio server also needs the Stack CLI and the runtime required by your installed versions.
Public 0.1.1 packages require Bun 1.2+; reviewed source 0.2.1 is not a publication claim.
Click a client for a canonical server-entry example, then adapt it to that client's
configuration format and launch it in your project directory.
Four tools. Explore each tool.
Stack coordinates provider setup; its credential workflows use Phantom. ashlr-plugin and ashlrcode are separate tools shown for discovery. Verify their capabilities and compatibility separately. Hover a satellite to highlight the relationship.
.stack.toml → Verify ashlrcode credential handling separately Questions — answered.
The honest objections first. If a question isn't here, open one on GitHub Discussions — I'll add it here.
Stack coordinates provider login, resource creation or attachment, secret storage and MCP wiring. The add workflow writes secrets through Phantom and records Stack/MCP configuration. Run `stack env export --example` separately to create an .env.example skeleton with empty values; this does not export plaintext credentials.
Yes. Stack temporarily handles login credentials and materialized secret values in process memory during setup. Persistent values are stored through Phantom; Stack configuration records secret names, resource references and provider metadata. Provider errors and subprocess output can still contain sensitive information, so this is not a guarantee of global redaction.
Stack coordinates provisioning and configuration around a secret manager. Its adapters can create or attach Supabase and Vercel projects, or read a DSN from an existing Sentry project. Vercel expects a user-supplied token; Supabase and GitHub have OAuth paths when configured, with PAT fallbacks. Authentication and resource operations depend on the adapter.
Stack includes a CLI, a Claude Code plugin and an MCP server. Other clients need compatible MCP configuration; a shared file alone does not establish client support. For local commands, `stack exec -- <command>` forwards execution to Phantom. The .env.example export is an empty-value skeleton, not automatic framework configuration.
Provider resources and the Phantom vault are separate from Stack. Local Stack files describe services and resource references, while .mcp.json contains MCP configuration. Removing Stack does not convert Phantom references into literal credentials. `stack env export --example` writes an empty-value example file, not a plaintext migration or a managed block in .env.local.
The repository contains provider adapters, CLI workflows, a Claude Code plugin, an MCP server and starter templates. Some adapters create resources; others attach to an account or validate an existing key. OAuth requires the relevant client configuration. Check your installed version's help for its available commands; source capabilities do not establish a published release or provider activation.
Stack's code is MIT-licensed. Provider accounts and any separate Phantom service have their own terms and charges. A free CLI does not make the resources you provision free; check the provider's terms before creating them.
Yes. Adapters implement the Provider interface in packages/core/src/providers/_base.ts, including login, provision and materialize. Register the adapter in packages/core/src/providers/index.ts and add focused tests. Health checks, dashboard links and resource teardown are optional capabilities, so document which operations the adapter supports.