# JUJU 0.7.2 — Hybrid 49-tool surface

```bash
npm install -g juju-mcp@0.7.2
```

Restart `juju`, then make the client rescan its tools.

## What is hybrid

An opt-in third tool surface for clients that cap the tool count near ~50
(the owner observed a 49-tool ceiling in ChatGPT):

| Surface | Tools | tools/list payload | Default for |
|---|---|---|---|
| compact | 19 | ≈ 46.8 KB | HTTP |
| hybrid | 49 | ≈ 113.3 KB | (opt-in) |
| full | 74 | ≈ 237.8 KB | STDIO |

Hybrid order is deliberate: positions 1–19 are EXACTLY the compact coverage
core (project_overview, juju_discover, all 17 gateways) so a client that
truncates the tail only loses direct-tool duplicates, never a capability.
Positions 20–49 are the 30 most-used direct coding tools (list/read/search/
glob, write/edit/patch/replace/delete/move/mkdir, symbols/references,
preview/apply/rollback, git ×4, run/exec/jobs ×9) with their original names
and schemas.

Enable per run:

```bash
juju start --tools hybrid
```

or persistently (applies to STDIO too): `"toolSurface": "hybrid"` in the
global config.

## Security

Unchanged from 0.7.1 (ADR-029): both direct and gateway paths run the same
invocation pipeline — the target operation's OAuth scope, workspace ACL,
workspaceId/epoch, strict schema, trust policy, local approvals, path/secret
guards, hash conflicts, idempotency and audit. The surface setting changes
tool exposure only.

## Gate

`npm run build && npm run test:all` exit 0 — 414/414 tests in 50 files
(402 core + 12 packaging) on macOS arm64 / Node 22.23.2; npm audit
(--omit=dev) clean. Evidence: `release-evidence/0.7.2/`.
