sales-demos-mcplisted
Install: claude install-skill ericcames/sales.demos
# sales-demos-mcp
Makes the clusters, AAP instances, and Grafana Cloud directly queryable from
Claude Code. Before this, every question about an environment cost a `curl`, a
vault read and a JSON parse; after it, `namespaces_list` or
`job_templates_list` is a tool call.
**No playbook, by design.** This touches the laptop — it writes kubeconfigs,
creates tokens, and configures your MCP client. It must never run from AAP,
which is the same reasoning that keeps `sales-demos-collections-sync`,
`sales-demos-first-time` and `sales-demos-ee-build` playbook-free.
## What it sets up
**Up to eight servers — seven per-environment, one global/external:**
| Server | Auth | Access | Source |
|---|---|---|---|
| `openshift-sandbox` | kubeconfig | read-write | `.mcp.json` (committed) |
| `openshift-demo` | kubeconfig | read-only | `.mcp.json` (committed) |
| `openshift-edge` | kubeconfig | read-write | `.mcp.json` (committed) |
| `aap-sandbox` | bearer token | read-write | `claude mcp add --scope local` |
| `aap-demo` | bearer token | read-only | `claude mcp add --scope local` |
| `ao-sandbox` | JWT (auto-refreshed) | read-only | `claude mcp add --scope local` |
| `ao-demo` | JWT (auto-refreshed) | read-only | `claude mcp add --scope local` |
| `grafana` | service account token | read-only | `claude mcp add --scope local` |
**There is no `aap-edge`, and that is not an oversight to fix in passing.**
`edge` runs AAP, so the server is plausible, but `make-aap-mcp.sh` takes only
`sandbox`