stack_init
Scaffold .stack.toml in the current directory; a selected template may also run provider setup.
cwdforcetemplate
io.github.ashlrai由 GitHub 账号 ashlrai 发布v0.3.1更新于 Nov 1, 2026
Provision and connect third-party dev services (Supabase, Vercel, and more) from your coding agent.
本地 MCP 服务器,让编码助手通过 Stack CLI 在项目中开通并检查 Supabase、Vercel 等第三方开发服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
MCP server for Ashlr Stack. Exposes 19 tools and up to 3 resources for inspecting and configuring supported services from MCP clients.
stack is a CLI. ashlr-stack-mcp is the same capabilities as MCP tools so your coding agent can drive Stack directly. An agent can request stack_add for a supported provider; authentication, resource setup and configuration changes depend on the adapter and authorization. Inspect the result and any changes.
One-liner. It installs stack, plus ashlr-stack-mcp when it installs from npm or from source; when it installs the prebuilt stack binary from GitHub Releases, it prints how to add the MCP server (npm i -g ashlr-stack-mcp, or npx -y ashlr-stack-mcp):
Or manually from the registry:
Every tool runs the stack CLI. The server resolves it in this order: the executable specified by STACK_BIN, the installed @ashlr/stack dependency's bin, then stack on PATH. If none is available, the server can still start and list tools, but calls fail with a CLI error. The npm CLI and MCP packages in this release declare Node.js >= 20 and use Node entrypoints. Check your installed package manifests; source development uses Bun.
Install Bun and Node.js 20 or later, then install the workspace dependencies and build the CLI from the repository root:
The source server runs with Bun; the CLI build provides the workspace dependency's dist/index.js. Start the server from the project you want it to inspect, replacing the paths with absolute paths on your machine:
The server speaks MCP over stdin and stdout, so connect it to an MCP client rather than expecting an interactive prompt. Keep stdout reserved for the protocol. Provider operations may need Phantom and provider credentials configured separately.
Drop this into your project's .mcp.json (Claude Code, Cursor and Windsurf read this shape; Codex uses codex mcp add ashlr-stack -- ashlr-stack-mcp, which writes ~/.codex/config.toml):
For a local clone, after the installation and CLI build above, point the client at the source entry directly (with bun available on its PATH):
The client chooses the server's working directory; the absolute entry path does not set it. Configure the client to start the server in your project if supported, or pass cwd to project-scoped tool calls as described below.
cwd)Every tool runs stack in the server's working directory by default. When your client starts the server outside the project (Claude Desktop, a global Cursor or Windsurf config), pass the project's absolute path to a project-scoped tool:
cwd is accepted by the project-scoped tools, the ones that read or write .stack.toml or other project files: stack_init, stack_import, stack_scan, stack_add, stack_remove, stack_list, stack_info, stack_status, stack_env_show, stack_env_diff, stack_doctor, stack_sync, stack_deps, stack_recommend and stack_apply. It must be an absolute path to an existing directory; it is resolved with realpath, and a relative path, a missing path or a file returns an isError result without running anything. It grants nothing beyond what the server's own working directory already does. The global tools (stack_providers, stack_projects_list, stack_templates_list, stack_upgrade) refuse cwd instead of ignoring it. There is no environment-variable default; start the server in the project or pass cwd.
Provisioning: stack_init, stack_add, stack_remove, stack_import, stack_scan.
Inspection: stack_list, stack_info, stack_status, stack_providers, stack_templates_list, stack_deps, stack_doctor. stack_list, stack_providers, stack_deps, stack_templates_list and stack_projects_list take json: true to return the CLI's --json object instead of human text.
Env: stack_env_show, stack_env_diff, stack_sync.
stack_info and stack_env_show take json: true to return stack info --json (ashlr.stack.info/v1) and stack env show --json (ashlr.stack.env/v1) instead of human text.
Planning: stack_recommend, stack_apply.
Project registry: stack_projects_list (json: true returns stack projects list --json), stack_upgrade.
Every tool rejects an argument name its input schema does not declare, and lists the accepted ones, rather than running without it. A blank string (" ") counts as missing for a required argument and is rejected for an optional one.
Each is listed only when the file exists in the server's working directory (resources do not take cwd).
stack://current/.stack.tomlstack://current/.stack.local.tomlstack://current/.mcp.jsonThe agent can read these directly — no tool call needed — so it always knows the project state before acting.
Full tool + resource reference: stack.ashlr.ai/docs/mcp.
Stack never stores secret values. Every tool call routes through Phantom Secrets on your machine. The agent only sees slot names (like SUPABASE_URL, SUPABASE_ANON_KEY) — never the values.
MIT. See LICENSE.
来源:packages/mcp/README.md,提交 b105bf3
Scaffold .stack.toml in the current directory; a selected template may also run provider setup.
cwdforcetemplateImport nonempty new variables from an .env file into Phantom and record detected services; existing vault names are left unchanged. Returns ashlr.stack.import/v1 JSON naming what was stored, skipped and wired (names only, never values).
cwdfromdryRunDetect providers this repo uses by reading package.json / requirements.txt / config files.
cwdpathconfidenceRun provider-specific service setup or attach an existing resource, then record returned secret slots and optional MCP configuration. Credentials and client/provider acceptance must be checked separately.
cwduseservice必填Remove local service configuration and its MCP entry, and attempt Phantom secret cleanup. Returns JSON (ashlr.stack.remove/v1); `secrets_kept` lists names Phantom left stored, which headless runs always do, for the user to remove with `phantom remove` in a terminal. Upstream resources are kept.
cwdservice必填keepRemoteList services configured in this stack.
cwdjsonInspect configured resource, auth kind, secret-name inventory and MCP metadata; attempt a healthcheck when the provider supports one.
cwdjsonservice必填Show Phantom + services + config at a glance.
cwdjsonShow which declared secrets are present in the Phantom vault (masked).
cwdjsonReport which declared secrets are missing from the Phantom vault.
cwdjsonInspect the configured-service health report. --fix attempts supported remediation; stored vault names can cause repairs to be skipped, and name presence is not credential validity.
allcwdfixjsonForward a deployment-platform sync request to phantom sync; inspect the installed Phantom command support and result separately.
cwdplatform必填List the curated source provider catalog by category; inclusion does not attest complete provisioning or active credentials.
jsoncategoryList projects recorded in the local Stack registry; this is not a filesystem-wide discovery scan.
jsonShow the service dependency graph for the current stack.
cwdjsonList available starter stack templates and the services each one adds.
jsonCheck npm for a newer @ashlr/stack release. Returns ashlr.stack.upgrade/v1 JSON (current, latest, status, install command); installs nothing.
无需输入参数。
Rank curated providers by query, returning JSON as text without LLM inference. save:true writes a Recipe for stack_apply.
kcwdsavequery必填categoryApply a saved Recipe through provider setup, then report which declared secrets are in the Phantom vault and which are missing (names only; it never writes to the vault) and write webhook stubs. Inspect failures and skips. no_wire:true skips the vault check and stubs, not provider credential writes.
cwdno_wirerecipe_id必填已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
# macOS / Linuxcurl -fsSL stack.ashlr.ai/install.sh | bash
# Windows (PowerShell)irm https://stack.ashlr.ai/install.ps1 | iexbun add -g ashlr-stack-mcp @ashlr/stack# ornpm i -g ashlr-stack-mcp @ashlr/stackbun install --frozen-lockfile(cd packages/cli && bun run build)cd /absolute/path/to/my-projectbun run /absolute/path/to/ashlr-stack/packages/mcp/src/server.ts{ "mcpServers": { "ashlr-stack": { "command": "ashlr-stack-mcp" } }}{ "mcpServers": { "ashlr-stack": { "command": "bun", "args": ["run", "/absolute/path/to/ashlr-stack/packages/mcp/src/server.ts"] } }}{ "name": "stack_list", "arguments": { "json": true, "cwd": "/home/me/code/my-app" } }