Allows coding agents to provision, configure, and inspect third-party developer services like Supabase and Vercel.
Also known as ashlrai/ashlr-stack, ashlr-stack, ashlr-stack-mcp
- Stars
- 2
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.3.1
- Last commit
- Nov 11, 2026
- License
- MIT
What is Ashlr Stack MCP?
Ashlr Stack allows coding agents to provision, configure, and inspect third-party developer services like Supabase and Vercel.
Summary generated from the project's README
About Ashlr Stack MCP server
Ashlr Stack provides a bridge for coding agents to manage third-party developer services like Vercel and Supabase. By exposing 19 specialized tools and up to 3 resources, it allows an AI client to provision, configure, and inspect infrastructure directly through the stack CLI. This setup is designed for developers using MCP-compatible clients such as Claude Code, Cursor, or Windsurf.
The server operates locally via stdin and stdout, requiring Node.js 20 or later. Users can install it through npm, bun, or by using a shell script for macOS, Linux, and Windows. While the server can run globally, developers can target specific projects by passing an absolute path to the cwd argument in project-scoped tools like stack_add or stack_list.
Security is handled through Phantom Secrets, ensuring that sensitive credentials remain hidden from the agent. The agent only interacts with secret slot names rather than the actual values. This allows for automated infrastructure management without exposing private keys to the LLM context.
What you can do with it
- 1Provision new developer servicesAn agent can add a new service provider to a project using the stack_add tool.
- 2Inspect project configuration stateA developer can ask an AI to check the current status and information of a project's stack.
- 3Manage environment variables safelyThe agent can view or compare environment configurations without seeing the actual secret values.
- 4Automate infrastructure planningAn AI can suggest and apply configuration changes based on project recommendations.
Written from the project's README. Every use case is checked against a quote from it.
How to install Ashlr Stack MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Ashlr Stack MCP in Claude Code
$ claude mcp add ashlr-stack -- npx -y ashlr-stack-mcpInstall Ashlr Stack MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"ashlr-stack": {
"command": "npx",
"args": [
"-y",
"ashlr-stack-mcp"
]
}
}
}Install Ashlr Stack MCP in VS Code
.vscode/mcp.json
{
"servers": {
"ashlr-stack": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ashlr-stack-mcp"
]
}
}
}Install Ashlr Stack MCP in VS Code CLI
$ code --add-mcp '{"name":"ashlr-stack","type":"stdio","command":"npx","args":["-y","ashlr-stack-mcp"]}'Install Ashlr Stack MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"ashlr-stack": {
"command": "npx",
"args": [
"-y",
"ashlr-stack-mcp"
]
}
}
}Install Ashlr Stack MCP in Codex
$ codex mcp add ashlr-stack -- npx -y ashlr-stack-mcpInstall Ashlr Stack MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.ashlr-stack] command = "npx" args = ["-y", "ashlr-stack-mcp"]
Install Ashlr Stack MCP in Gemini CLI
$ gemini mcp add -s user ashlr-stack npx -- -y ashlr-stack-mcpInstall Ashlr Stack MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"ashlr-stack": {
"command": "npx",
"args": [
"-y",
"ashlr-stack-mcp"
]
}
}
}Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work · What to fix for more points
- Source repository linked and reachableashlrai/ashlr-stack is public and reachablegithub.com/ashlrai/ashlr-stack ↗Pass
- Package names this repository as its sourceashlr-stack-mcp names ashlrai/ashlr-stack as sourcenpmjs.com/package/ashlr-stack-mcp ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for ashlr-stack-mcpnpmjs.com/package/ashlr-stack-mcp/v/0.3.1#provenance ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-11github.com/ashlrai/ashlr-stack ↗Pass
- OpenSSF ScorecardOpenSSF Scorecard 4.8 / 10; weakest: Code-Review 0, Token-Permissions 0, CII-Best-Practices 0scorecard.dev/viewer/?uri=github.com/ashlrai/ashlr-stack ↗Partial 7/15
- Package name not close to a popular packageNo popular package one edit away from ashlr-stack-mcpPass
- No critical advisory in the package or its dependencies108 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubashlr-stack-mcp
MCP server for Ashlr Stack. Exposes 19 tools and up to 3 resources for inspecting and configuring supported services from MCP clients.
What it does
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.
Install
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):
# macOS / Linux
curl -fsSL stack.ashlr.ai/install.sh | bash
# Windows (PowerShell)
irm https://stack.ashlr.ai/install.ps1 | iex
Or manually from the registry:
bun add -g ashlr-stack-mcp @ashlr/stack
# or
npm i -g ashlr-stack-mcp @ashlr/stack
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.
Run from a local clone
Install Bun and Node.js 20 or later, then install the workspace dependencies and build the CLI from the repository root:
bun install --frozen-lockfile
(cd packages/cli && bun run build)
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:
cd /absolute/path/to/my-project
bun run /absolute/path/to/ashlr-stack/packages/mcp/src/server.ts
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.
Wire it into your agent
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):
{
"mcpServers": {
"ashlr-stack": {
"command": "ashlr-stack-mcp"
}
}
}
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):
{
"mcpServers": {
"ashlr-stack": {
"command": "bun",
"args": ["run", "/absolute/path/to/ashlr-stack/packages/mcp/src/server.ts"]
}
}
}
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.
Targeting a project (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:
{ "name": "stack_list", "arguments": { "json": true, "cwd": "/home/me/code/my-app" } }
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.
Tools (19)
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.
Resources (up to 3)
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.json
The 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.
How secrets are handled
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.
Links
- Docs - stack.ashlr.ai/docs
- MCP reference - stack.ashlr.ai/docs/mcp
- Repo - github.com/ashlrai/ashlr-stack
- Issues - github.com/ashlrai/ashlr-stack/issues
License
MIT. See LICENSE.
Ashlr Stack MCP questions
How do I add Ashlr Stack MCP to Claude Code?
Run claude mcp add ashlr-stack -- npx -y ashlr-stack-mcp in your terminal. Add --scope user to make it available in every project.
How do I add Ashlr Stack MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
Can I target a specific project directory?
Yes, you can pass the absolute path of a project to the 'cwd' argument in project-scoped tools.