npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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

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/setup

That'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 doctor

Requires 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.1

You 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.1

Then 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.yamlmcpServers 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 config

Every 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 logout

401 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: doctor output, all green.

What you get once connected

Ask your agent things like:

  • "Who owns the payments-api service 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-api and 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 --help

Releases are published from CI via npm trusted publishing.

License

MIT — see LICENSE.