# io.github.zz-plant/ambit (npm · ambit-cli)

Capability graph of your agent stack: what it can do, what to set up next, what breaks.

- Trust score: 83/100 (high trust)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-04

## Components

- npm · `ambit-cli`: 83/100 (this document), [markdown](https://verifymcp.io/servers/zz-plant-ambit/ambit-cli.md), [page](https://verifymcp.io/servers/zz-plant-ambit/ambit-cli)

## Channel facts

- Registry: `npm`
- Package: `ambit-cli`
- Version: `0.6.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-04.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 48/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 29 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 87/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 3114 tokens (~51/item across 61 items; 60 tools + 1 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 72/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 15% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 60 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 62 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the io.github.zz-plant/ambit MCP server?

io.github.zz-plant/ambit runs locally as an npm package, launched with npx -y ambit-cli. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add zz-plant-ambit -- npx -y ambit-cli
```

### Cursor

```json
{
  "mcpServers": {
    "zz-plant-ambit": {
      "command": "npx",
      "args": [
        "-y",
        "ambit-cli"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "zz-plant-ambit": {
      "command": "npx",
      "args": [
        "-y",
        "ambit-cli"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add zz-plant-ambit -- npx -y ambit-cli
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "zz-plant-ambit": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "ambit-cli"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add zz-plant-ambit --command npx --arg -y --arg ambit-cli
```

### Hermes

```yaml
mcp_servers:
  zz-plant-ambit:
    command: "npx"
    args: ["-y", "ambit-cli"]
```

### Netclaw

```json
{
  "McpServers": {
    "zz-plant-ambit": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "ambit-cli"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add zz-plant-ambit -t stdio -c npx -a -y ambit-cli
```

### Other

```json
{
  "mcpServers": {
    "zz-plant-ambit": {
      "command": "npx",
      "args": [
        "-y",
        "ambit-cli"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-31 (score 83, 0)

- [security] Stability: 0.97 → pass

### 2026-10-30 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-27 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 80, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-19 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-17 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (60)

### `ambit_stats` (~25 tokens)

Counts of capabilities: total, reached, verified and failing, and reached per domain.

### `ambit_context` (~29 tokens)

The session briefing as one block of prose, the text ambit_briefing returns with text: true.

### `ambit_cap` (~30 tokens)

Find capabilities by domain or name. Returns the ids the other tools take.

Input parameters:

- `query` (string, required)

### `ambit_decay` (~26 tokens)

Capabilities not touched for long enough to doubt, with days since the last config change.

### `ambit_combos` (~26 tokens)

Combos the graph can already support: every prerequisite in place, with a confidence.

### `ambit_diff` (~28 tokens)

Per domain, what was recently practiced, improved or regretted, from the last 50 outcomes.

### `ambit_health` (~12 tokens)

Domain health scores.

### `ambit_bottlenecks` (~30 tokens)

The capabilities the most others depend on: where an improvement pays most and a loss costs most.

### `ambit_impact` (~35 tokens)

What would stop, and what would only lose a provider, if a capability went away.

Input parameters:

- `capId` (string, required)

### `ambit_near` (~25 tokens)

Near-miss combos: one or two prerequisites away, with high existing maturity.

### `ambit_verify` (~48 tokens)

Run a capability's declared check and record the outcome: proof that it works, not that it is configured. Omit capId to run every declared check.

Input parameters:

- `capId` (string)

### `ambit_evidence` (~34 tokens)

Verification history of one capability: what was tried, when, and whether it passed.

Input parameters:

- `capId` (string, required)

### `ambit_authority` (~44 tokens)

Which reached capabilities may run unattended and which need approval. Being able to act is not permission to. Pass detail: true for every grant.

Input parameters:

- `detail` (boolean)

### `ambit_actions` (~57 tokens)

The actions a capability confers and whether each may be performed: read a repository yes, merge to its default branch no. Omit capId for all. To ask before acting, use ambit_can.

Input parameters:

- `capId` (string)

### `ambit_plan` (~38 tokens)

What is missing for a capability, in the order it must be closed, and which steps need a person.

Input parameters:

- `capId` (string, required)

### `ambit_goal` (~73 tokens)

Route a goal, in words, to the capabilities that cover it: ranked, each with its plan delta.

Input parameters:

- `goal` (string, required): What the user wants to do
- `judge` (boolean): Route an unmatched goal with a local judgment model
- `judgeUrl` (string): Loopback URL of that model

### `ambit_paths` (~49 tokens)

The ways to reach a capability compared by setup time, risk and lock-in: which steps are config changes that can be undone, and which are installers that cannot.

Input parameters:

- `capId` (string, required)

### `ambit_preferences` (~42 tokens)

What each person prefers, and which plans would fight it (local or hosted, one-off or recurring). Pass who for one person.

Input parameters:

- `who` (string)

### `ambit_scope` (~57 tokens)

What a scope covers and what it does not. For a target (repo:owner/name, device:nuc, svc:ollama): every grant, whether it covers the target, and the effective mode.

Input parameters:

- `target` (string, required)

### `ambit_affordances` (~42 tokens)

The domain of each capability, from the graph: institutional (needs an authority holder), economic (a budget), cognitive (a person), physical (a device).

### `ambit_digest` (~51 tokens)

How much work still runs through the human, and which interventions are reducible: recurring approvals and permission blocks are infrastructure shaped like a person. days: window (default 7).

Input parameters:

- `days` (number)

### `ambit_work` (~36 tokens)

Recent work runs and what each cost: elapsed time, events, capabilities exercised, human interventions, resources.

Input parameters:

- `limit` (number)

### `ambit_usage` (~55 tokens)

Where effort went over a window in days (default 30): times exercised, duration and interventions per capability. unmapped: tools used that no node covers.

Input parameters:

- `days` (number)
- `unmapped` (boolean)

### `ambit_run_begin` (~70 tokens)

Start a work run. Returns the run id every later telemetry call attaches to. The run stays open until run_end.

Input parameters:

- `goal` (string)
- `goalId` (string)
- `id` (string)
- `runType` (string)
- `source` (string)

### `ambit_run_end` (~53 tokens)

Close a work run with its outcome, and the value of that outcome in cents when known.

Input parameters:

- `outcome` (string, required)
- `outcomeValueCents` (number)
- `runId` (string, required)

### `ambit_work_event` (~208 tokens)

Record one observation into a run. kind: event, use, intervention, resource or outcome. interventionKind: judgment, authority, knowledge, physical, clerical or exception.

Input parameters:

- `achieved` (string)
- `action` (string)
- `activeSeconds` (number)
- `actor` (string)
- `capabilityId` (string)
- `costCents` (number)
- `detail` (string)
- `durationSeconds` (number)
- `eventKind` (string)
- `interventionKind` (string)
- `kind` (string, required): event | use | intervention | resource | outcome
- `objectiveMetric` (number)
- `objectiveName` (string)
- `quantity` (number)
- `resourceId` (string)
- `resourceKind` (string)
- `runId` (string, required)
- `unit` (string)
- `valueCents` (number)
- `waitingSeconds` (number)

### `ambit_economics` (~33 tokens)

Declared costs and goal values: attention value per hour, recurring and purchase costs, what each goal is worth.

### `ambit_goal_value` (~37 tokens)

One goal's economics (occurrence rate, success value, failure cost), matched by id or name.

Input parameters:

- `goal` (string, required)

### `ambit_opportunities` (~64 tokens)

Ranked changes worth making, from recurring human burden in the ledger priced by attention. by: attention (default), cash, roi, reliability, frontier. budget (dollars): the best combination within it.

Input parameters:

- `budget` (number)
- `by` (string)

### `ambit_opportunity` (~37 tokens)

One ranked opportunity in full: burden, proposed capability, acquisition, expected effect, payback, confidence.

Input parameters:

- `id` (string, required)

### `ambit_can` (~140 tokens)

Ask before running a tool you have not used this session. yes: act. ask: put it to the person. no: do not retry it under another name. Also returns the reason, what is missing and the budget left. Probes nothing. A no files the deficit.

Input parameters:

- `action` (string)
- `actor` (string)
- `capability` (string, required)
- `record` (boolean): File the deficit on a no (default true)
- `spendCents` (number)
- `target` (string)
- `tool` (string): The command you were about to run, kept with the deficit on a no

### `ambit_roi` (~45 tokens)

Realized ROI of an applied proposal: interventions, hours, attention dollars and reliability before and after, against its prediction. Writes the observation back.

Input parameters:

- `proposalId` (string, required)

### `ambit_roi_summary` (~29 tokens)

Every applied proposal's observed hours and dollars saved per year, and forecast accuracy: the cumulative headline.

### `ambit_catalog` (~48 tokens)

The ways to acquire a capability (build, buy, subscribe, delegate, hire) compared by setup, one-time and recurring cost, privacy, verification and rollback.

Input parameters:

- `capability` (string, required)

### `ambit_audit` (~68 tokens)

The audit trail: a run end to end, a proposal's steps, approval and result, or one person's approvals and interventions. target: run id, proposal id, human name, or days.

Input parameters:

- `target` (string): run-... | prop-... | human:name | days

### `ambit_incidents` (~42 tokens)

Probe the hosts the infrastructure manifest names and open an incident run per offline service, with the authority decision for recovery (restart ALLOW, CONFIRM or DENY).

### `ambit_incident_resolve` (~49 tokens)

Close the open incident run for a service with its outcome. MTTR is the ledger's own elapsed time.

Input parameters:

- `outcome` (string, required)
- `service` (string, required): svc:key

### `ambit_portfolio` (~49 tokens)

Across imported federation receipts: burden that recurs in several environments, person-specific single points of failure, and (with budget) where spend gains most. Never merges.

Input parameters:

- `budget` (number)

### `ambit_since` (~47 tokens)

What entered the reachable frontier between two ISO timestamps (default: earliest observation to now), split into acquired and emerged through composition.

Input parameters:

- `until` (string)
- `when` (string)

### `ambit_blocked` (~70 tokens)

Record that a task was blocked by a missing capability. The same deficit hit repeatedly is infrastructure that should exist.

Input parameters:

- `capId` (string, required)
- `classification` (string): reasoning | knowledge | tool | permission | infrastructure | reliability
- `note` (string): What you were trying to do

### `ambit_simulate` (~41 tokens)

The frontier as it would be if a capability were acquired, including what it unblocks. A preview: changes nothing.

Input parameters:

- `capId` (string, required)

### `ambit_propose` (~86 tokens)

Draft a reviewable acquisition: ordered steps, the alternative chosen and its trade-offs, the simulated result. Nothing executes until a person approves it, and only reversible config patches can then be applied.

Input parameters:

- `capId` (string, required)
- `option` (number): Which alternative, 0-based
- `purpose` (string): The work this is for, for the person deciding

### `ambit_proposals` (~18 tokens)

Every proposal drafted so far, newest first.

### `ambit_proposal` (~28 tokens)

One proposal in full, with its steps and simulated frontier.

Input parameters:

- `id` (string, required)

### `ambit_spof` (~32 tokens)

Capabilities with exactly one provider, where redundancy is absent. Bottlenecks rank leverage; this ranks fragility.

### `ambit_credentials` (~25 tokens)

What revoking each credential would end. Providers that present the same credential fail together.

### `ambit_deficits` (~25 tokens)

Recurring capability deficits, worst first: which missing capabilities keep stopping different work.

### `ambit_ledger` (~26 tokens)

Every recorded frontier observation: how the system's capacity for action has changed over time.

### `ambit_briefing` (~70 tokens)

What this environment is, before you touch it: reached and proven, failing, waiting on a person, recently blocked, worth reaching next, and what changed since the last briefing. Read once at session start. Also ambit://briefing.

Input parameters:

- `text` (boolean): Return prose instead of fields

### `ambit_next` (~51 tokens)

The capabilities worth reaching next: why, cost, and the command that proposes each. Ranked by what has blocked work once the ledger has data, by leverage per setup hour before.

Input parameters:

- `limit` (number)

### `ambit_record_failure` (~89 tokens)

Report a tool failure you just hit as the runtime reported it: exit code, error text or kind. Ambit classifies it, attributes it to a capability where it can, and keeps it either way.

Input parameters:

- `capabilityId` (string)
- `errorKind` (string)
- `exitCode` (number)
- `message` (string)
- `tool` (string)

### `ambit_signals` (~47 tokens)

Failures seen in the window that no one recorded, by class and tool, including those no capability could be attributed to: a gap in the model.

Input parameters:

- `days` (number)

### `ambit_register_skill` (~87 tokens)

Put a skill you wrote on the map: an id, the capability it supplies, and a read-only command that proves it works. The check runs at once, so the skill arrives proven or honest about failing.

Input parameters:

- `description` (string)
- `id` (string, required)
- `name` (string)
- `provides` (string)
- `verify` (string, required)

### `ambit_skills` (~21 tokens)

Skills registered this way, and what each check last said.

### `ambit_objects` (~42 tokens)

What may be done to a particular thing, and what is proved about doing it there. Evidence about one repository says nothing about another.

Input parameters:

- `target` (string)

### `ambit_budgets` (~46 tokens)

Standing budgets: what may be spent, on what, and what is left this period. A spend past a ceiling is refused until the period turns over. A person sets one.

### `ambit_reversible` (~43 tokens)

Which unreached capabilities could be acquired without a person and which need hands. apply refuses a step with no inverse, so this is also what an agent cannot do alone.

### `ambit_preferences_observed` (~44 tokens)

What this person has approved and refused, by trait: local or hosted, one-off or recurring. Three decisions make a trait; one that went both ways is contested.

### `ambit_pending` (~39 tokens)

Drafts waiting on a person, each with its cost, what it bills and what it unlocks. Surface them together: a batch is one interruption.

### `ambit_promotions` (~43 tokens)

Authority thresholds: which grants may widen on evidence, how much each still needs, what was promoted or put back. A person sets one; an agent only reads this.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/zz-plant-ambit/ambit-cli#diagnostics

## Score history

- 2026-11-04: 83
- 2026-11-03: 83
- 2026-11-02: 83
- 2026-11-01: 83
- 2026-10-31: 83
- 2026-10-30: 83
- 2026-10-29: 82
- 2026-10-28: 82
- 2026-10-27: 82
- 2026-10-26: 81
- 2026-10-25: 81
- 2026-10-24: 80
- 2026-10-23: 80
- 2026-10-22: 79
- 2026-10-21: 79
- 2026-10-20: 78
- 2026-10-19: 78
- 2026-10-18: 77
- 2026-10-17: 77
- 2026-10-16: 76
- 2026-10-15: 76
- 2026-10-14: 75
- 2026-10-13: 40
- 2026-10-12: 40
- 2026-10-08: 40
- 2026-10-04: 69
- 2026-10-03: 69
- 2026-10-02: 69
- 2026-10-01: 54

## Common questions

### What is the io.github.zz-plant/ambit MCP server?

io.github.zz-plant/ambit is an MCP server listed in the public MCP registry as io.github.zz-plant/ambit. Capability graph of your agent stack: what it can do, what to set up next, what breaks. This page covers its npm package (ambit-cli).

### Is the io.github.zz-plant/ambit MCP server safe to use?

io.github.zz-plant/ambit scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.zz-plant/ambit MCP server expose?

io.github.zz-plant/ambit exposes 60 tools: ambit_stats, ambit_context, ambit_cap, ambit_decay, ambit_combos, and 55 more. Their descriptions and schemas cost roughly 2,884 tokens of context every time the server is loaded.

### Is the io.github.zz-plant/ambit MCP server still maintained?

io.github.zz-plant/ambit is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.zz-plant/ambit MCP server under?

io.github.zz-plant/ambit declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/ambit-cli
- Socket report: https://socket.dev/npm/package/ambit-cli
- Repository: https://github.com/zz-plant/ambit
- Website: https://zz-plant.github.io/ambit/
- Changelog RSS feed: https://verifymcp.io/servers/zz-plant-ambit/ambit-cli.xml
- Changelog JSON feed: https://verifymcp.io/servers/zz-plant-ambit/ambit-cli.json
- HTML version of this page: https://verifymcp.io/servers/zz-plant-ambit/ambit-cli
