@ao-mcp/setup
v0.4.0
Published
One-command setup: connect Claude, Cursor, VS Code, and other MCP clients to the Automated Operations MCP server
Downloads
193
Maintainers
Readme
@ao-mcp/setup
One command to connect your AI agent to Automated Operations — live infrastructure context (service ownership, deploys, alerts, dependencies, on-demand diagnostics) inside Claude, Cursor, VS Code, and every other MCP-capable client.
npx @ao-mcp/setupThat's it. The CLI detects which AI clients you have installed and writes the right config for each one (merging carefully — your existing servers are untouched, and a backup is made before any edit). Every client is wired the same way: it spawns the on-machine ao-mcp-local bridge over stdio, and the bridge handles the connection to Automated Operations. After wiring your clients the CLI runs the bridge's browser sign-in once — no API keys to copy around.
Screenshot placeholder: interactive run — client multi-select with detected clients pre-checked.
Quick start
# Interactive (recommended): detect clients, pick, done
npx @ao-mcp/setup
# Non-interactive: configure specific clients
npx @ao-mcp/setup --client cursor --client claude-desktop --yes
# Enterprise / CI: bearer token instead of browser sign-in
npx @ao-mcp/setup --client vscode --token "$AO_TOKEN" --yes
# See what would change without touching anything
npx @ao-mcp/setup --client cursor --dry-run
# Check connectivity and auth against the server
npx @ao-mcp/setup doctorRequires Node.js 20+ (node --version). No global install, no sudo.
Your first prompt
Setup ends with a prompt to paste into your agent — it exercises the connection end to end and doubles as the tour:
Using the AutomatedOperations MCP server: list the AO tools you have available, run one read-only tool (for example, list my services), and summarize what you can see about my infrastructure. If anything needs sign-in, walk me through it.
Then try: "Who owns checkout-api and what changed in the last 24 hours?" · "I'm on call — correlate the latest alerts with recent deploys." · "Map the dependency chain from checkout-api and flag anything unhealthy."
The prompts are fetched from the server's /welcome endpoint (with this copy baked in as the fallback), so they stay current without a package update. And remember: every integration you connect and every host running the AO Toolkit makes your agent smarter — manage both at app.automatedoperations.com.
Supported clients
Every client is configured the same way — a stdio entry that spawns the ao-mcp-local bridge — so the only difference between them is the config file format and where it lives.
| Client | --client id |
| --- | --- |
| Claude Desktop | claude-desktop |
| Claude Code | claude-code |
| Cursor | cursor |
| VS Code (Copilot agent mode) | vscode |
| Windsurf | windsurf |
| Zed | zed |
| Continue.dev | continue |
| Codex CLI (OpenAI) | codex |
| Grok Build (xAI) | grok |
| Gemini CLI | gemini-cli |
| Cline | cline |
| JetBrains Junie | junie |
npx @ao-mcp/setup list prints this table live, with detection status and the exact config path on your machine.
Manual configuration
Prefer to edit configs yourself? Every snippet below is also available from the CLI via npx @ao-mcp/setup print <client>. The shape is identical everywhere — a stdio entry that spawns the ao-mcp-local bridge via npx:
npx -y @ao-mcp/local@^0.1You only need Node.js 20+ on your PATH so npx can run.
Claude Desktop
Claude Desktop's config file takes stdio servers, which is exactly what the bridge is. Edit claude_desktop_config.json:
| OS | Path |
| --- | --- |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": {
"AutomatedOperations": {
"command": "npx",
"args": ["-y", "@ao-mcp/local@^0.1"]
}
}
}On Windows, Claude Desktop spawns commands without a shell and npx is a .cmd shim there — wrap it in cmd /c:
{
"mcpServers": {
"AutomatedOperations": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@ao-mcp/local@^0.1"]
}
}
}(The CLI emits the right variant for your OS automatically.)
Fully restart Claude Desktop (quit from the menu bar / tray). On first use a browser window opens to sign in.
Claude Code
claude mcp add --scope user AutomatedOperations -- npx -y @ao-mcp/local@^0.1Then run /mcp inside Claude Code to confirm the server is connected.
Cursor
~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):
{
"mcpServers": {
"AutomatedOperations": { "command": "npx", "args": ["-y", "@ao-mcp/local@^0.1"] }
}
}VS Code (Copilot agent mode, 1.102+)
User-level mcp.json (Command Palette → "MCP: Open User Configuration") or .vscode/mcp.json (servers are stored under the servers key):
{
"servers": {
"AutomatedOperations": { "command": "npx", "args": ["-y", "@ao-mcp/local@^0.1"] }
}
}Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"AutomatedOperations": { "command": "npx", "args": ["-y", "@ao-mcp/local@^0.1"] }
}
}Zed
settings.json (Zed uses ~/.config/zed/settings.json on macOS and Linux, %APPDATA%\Zed\settings.json on Windows) — Zed stores MCP servers under context_servers:
{
"context_servers": {
"AutomatedOperations": { "command": "npx", "args": ["-y", "@ao-mcp/local@^0.1"] }
}
}Continue.dev
~/.continue/config.yaml — mcpServers is a list:
mcpServers:
- name: AutomatedOperations
command: npx
args: ["-y", "@ao-mcp/local@^0.1"]Codex CLI
~/.codex/config.toml:
[mcp_servers.AutomatedOperations]
command = "npx"
args = ["-y", "@ao-mcp/local@^0.1"]Start a new Codex session — servers are discovered at startup, and sign-in opens in your browser on first use.
Grok Build (xAI)
~/.grok/config.toml (or $GROK_HOME/config.toml):
[mcp_servers.AutomatedOperations]
command = "npx"
args = ["-y", "@ao-mcp/local@^0.1"]Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": {
"AutomatedOperations": { "command": "npx", "args": ["-y", "@ao-mcp/local@^0.1"] }
}
}JetBrains (IntelliJ IDEA, PyCharm, GoLand, …)
Two surfaces. Junie (the JetBrains coding agent) reads ~/.junie/mcp/mcp.json — --client junie writes it (a stdio command works in both the IDE plugin and the Junie CLI):
{
"mcpServers": {
"AutomatedOperations": {
"command": "npx",
"args": ["-y", "@ao-mcp/local@^0.1"]
}
}
}AI Assistant has no config file — in the IDE: Settings → Tools → AI Assistant → Model Context Protocol (MCP) → Add → As JSON, and paste the same entry (npx @ao-mcp/setup print junie prints it).
Cline
Config lives in the VS Code extension's storage; easiest is the in-app MCP Servers settings UI, or npx @ao-mcp/setup --client cline. The entry is the same stdio command as everywhere else.
Authentication
Browser sign-in is the default and right for almost everyone. After wiring your clients, setup runs the bridge's login step once; you approve in your browser and the bridge caches the session for every client. If you skip it, the first tool call opens the browser flow instead.
Bearer tokens are for the enterprise tier and CI. Pass --token (or set AO_TOKEN) and the CLI threads it into the bridge entry's env, so the bridge reads it from $AO_TOKEN and skips the browser sign-in:
{
"mcpServers": {
"AutomatedOperations": {
"command": "npx",
"args": ["-y", "@ao-mcp/local@^0.1"],
"env": { "AO_TOKEN": "<your token>" }
}
}
}Tokens must be MCP-bound tokens issued from your Automated Operations workspace — a plain login session token will be rejected.
Command reference
npx @ao-mcp/setup [options] configure clients (default command)
-c, --client <id> client to configure (repeatable); omit to auto-detect
-u, --url <url> MCP server URL the local bridge connects to
-t, --token <token> bearer token (or env AO_TOKEN)
-n, --dry-run print what would be written, write nothing
-y, --yes never prompt (CI / scripts)
--local-bin <path> run a locally built ao-mcp-local binary instead of npx
npx @ao-mcp/setup list supported clients, detection status, config paths
npx @ao-mcp/setup print <client> print the manual config snippet for a client
npx @ao-mcp/setup doctor connectivity + auth checks against the server
npx @ao-mcp/setup remove -c <id> remove the ao entry from a client configEvery file edit is preceded by a timestamped backup next to the original (<file>.bak-<stamp>), merges preserve comments and unrelated entries, and re-running is always safe (idempotent).
Troubleshooting
The client shows no AutomatedOperations tools. Restart the client fully — most read MCP config only at startup. Claude Desktop in particular must be quit from the menu bar / tray icon, not just the window.
Browser sign-in loops or a stale session. Clear the bridge's cached session and try again:
npx @ao-mcp/local logout401 with a bearer token. Run npx @ao-mcp/setup doctor --token "$AO_TOKEN". If the token is rejected, it's almost certainly a login token rather than an MCP-bound token — issue one from your workspace settings, or use browser sign-in.
Corporate proxy / VPN. doctor failing with timeouts usually means the proxy strips the connection. The bridge honors the standard HTTPS_PROXY / NO_PROXY environment variables.
npx: command not found inside Claude Desktop. Claude Desktop inherits a minimal PATH on macOS. Install Node from nodejs.org (the installer updates the GUI PATH) rather than only via a shell-scoped version manager, or launch the app from a terminal once to test.
Windows paths. The CLI resolves %APPDATA% itself — run it in any shell. If editing manually, expand %APPDATA% (usually C:\Users\<you>\AppData\Roaming).
Something else? npx @ao-mcp/setup doctor first, then [email protected] with its output.
Screenshot placeholder:
doctoroutput, all green.
What you get once connected
Ask your agent things like:
- "Who owns the
payments-apiservice and what changed in the last 24h?" - "I'm on call — what deploys went out before this alert at 02:47?"
- "Map the dependency chain from
checkout-apiand flag unhealthy downstreams."
Read-only by default; writes are gated by an approval flow. See automatedoperations.com for the product, plans, and docs.
Development
npm install
npm run check # biome lint/format + tsc
npm test # vitest
npm run build # tsdown → dist/cli.js
node dist/cli.js --helpReleases are published from CI via npm trusted publishing.
License
MIT — see LICENSE.
