# Zerowidth Ledger MCP server

Source: https://glimind.com/server/mcp-registry%2Fai.zerowidth%2Fledger
Registry id: `mcp-registry/ai.zerowidth/ledger`
Status: live (checked 2026-10-26T19:46:00.958Z)

## Measurements (30 days)

- Uptime: 99.94%
- Checks: 3592
- Outages (90 days): 2

## Install

```json
{
  "mcpServers": {
    "zerowidth-ledger-mcp-server": {
      "type": "http",
      "url": "https://api.zerowidth.ai/mcp/x/ledger"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http zerowidth-ledger-mcp-server https://api.zerowidth.ai/mcp/x/ledger
```

## Tools (40)

- `comments_create`: Posts a comment on a workspace entity — a new thread, or a reply when rootId is given. Use it to leave findings where the discussion already lives (an eval resu
- `comments_list`: Lists the comment threads on one workspace entity (open first, then resolved) with authors and timestamps. Read this before weighing in on contested work — the 
- `comments_resolve`: Sets a comment thread's resolved state (rootId = the thread's root comment id). Resolve ONLY when the human asked or the thread's question is demonstrably settl
- `entity_tags_browse`: Without a tag: every tag in use across the workspace with how many entities carry it, most-used first — the vocabulary the team already organizes by. With a tag
- `entity_tags_get`: Returns the tags on a batch of entities of one kind — the labels galleries organize by. Ids come from the kind's list/get tool or from search_workspace. Use it 
- `entity_tags_set`: Replaces the FULL tag set on one entity (an empty list clears it). Read the current tags with entity_tags_get first and pass the merged list — this is not addit
- `get_doc`: Fetch the full Markdown body of a specific docs page by its slug. Use this after `search_docs` when the user needs the complete content of a page. No authentica
- `ledger_entries_add_evidence`: Records what happened against an open decision — a manual observation the user reports ('the pilot team says triage feels faster'), an implementation note, or a
- `ledger_entries_create`: Records a memory entry. Every entry is a TITLE (`summary`: one short plain sentence) over a BODY (`rationale`: the detail, markdown welcome) — never put the det
- `ledger_entries_draft`: Writes up to 50 entries as DRAFTS: proposals that stay out of the record until a person confirms each one in Ledger's Drafts view. Use it for entries you found 
- `ledger_entries_get`: One entry's full anatomy — the six fields, attached evidence (Caliper runs, measurements, observations), and the supersede chain (what replaced it, or what it r
- `ledger_entries_list`: The workspace's memory: decisions (changes with pre-registered expectations), lessons (distilled beliefs), and observations (captured facts). CONSULT BEFORE ACT
- `ledger_entries_retract`: Takes an entry out of the curated ledger — THE remedy when you recorded something wrong (a decision that wasn't made, a duplicate, a fact the user corrects). Re
- `ledger_entries_settle`: The ritual moment: evidence has landed, the expectation closes, the lesson is written. Only propose settlement when attached evidence actually answers the predi
- `ledger_entries_update`: Corrects an entry in place — its title (summary), body (rationale), the pre-registered prediction of an OPEN decision (null clears it), or its facet (filing cat
- `ledger_feed_sources_list`: The connected servers this workspace exposes to you, with the id a feed needs. Their tools appear to you namespaced as `ext__<name>__<tool>` — call one directly
- `ledger_feeds_backfill`: Run the same frozen instruction over a past range, so a metric has history instead of starting the day it was set up. Offer this whenever you create a feed — a 
- `ledger_feeds_create`: Freeze a tool call as a metric's standing source: it runs on the cadence you give and records what it finds, with no model involved. `metric` takes an id or a s
- `ledger_feeds_delete`: Remove a feed. The readings it already wrote stay — the series is the record and outlives the instruction. Prefer pausing with ledger_feeds_update when the user
- `ledger_feeds_list`: The standing instructions for how metrics' numbers arrive — which tool each one calls, how often, and how the last run went. Check before proposing a feed so yo
- `ledger_feeds_preview`: Call a connected server's tool once and see what a mapping would pull out of the response — nothing is written and no feed is created. Send no `mapping` for a f
- `ledger_feeds_run`: Run a feed immediately over its own window and record what it finds. Use it right after creating one to prove the mapping works — a run that comes back `empty` 
- `ledger_feeds_update`: Change a feed's arguments, mapping, cadence, or pause it. Reach for this when a feed's last run reports `empty` (the response shape moved, so the mapping needs 
- `ledger_metric_presets_adopt`: Creates the named presets as real metrics the workspace owns, tagged from the catalog. Safe to repeat: a preset the workspace already has comes back `already_pr
- `ledger_metric_presets_list`: Ready-made metrics a business can start tracking, each with a unit, a cadence, which direction is good, a business surface (facet), and cross-cutting tags. Reac
- `ledger_metric_starters_adopt`: Creates a starter's metrics at their levels and links them. Pass `slugs` to keep only some of its metrics; links are made only where both ends exist. Safe to re
- `ledger_metric_starters_list`: Starter trees by shape of business or team (subscription software, services firm, online store, sales team, service operation). Each lists its metrics with a le
- `ledger_metrics_archive`: Takes a metric out of the gallery (`archived: true`) or puts it back (`false`). Readings stay, and entries that settled against it still read correctly — this i
- `ledger_metrics_create`: Create a metric — a number the workspace watches (triage time, weekly signups, cost per run). Check ledger_metrics_list first; names are unique per workspace. W
- `ledger_metrics_get`: One metric's definition (unit, kind, direction, target, cadence) plus its readings newest first and the open decisions bound to it. Use before answering 'how is
- `ledger_metrics_list`: The numbers the workspace watches — each with unit, latest reading, and how many open decisions are bound to it. Consult when a user mentions a number that soun
- `ledger_metrics_record_reading`: Record one observation of a tracked metric. `metricId` accepts a metric id OR its snake_case slug from ledger_metrics_list; an unknown one is a not_found error 
- `ledger_metrics_update`: Corrects a metric's name, unit, description, kind (measure / event), direction (which way is good), target, cadence, icon, level, or the metrics it drives (its 
- `ledger_plan_add`: Adds a plan item to an OPEN decision (the work that carries it out: a post, a launch step, an email). Omit entryId for a standalone date (a holiday, an event yo
- `ledger_plan_delete`: Removes one plan item while its decision is open, for an item added by mistake or work that's no longer planned. If the work was planned and then dropped, prefe
- `ledger_plan_list`: Pass `entryId` for one decision's plan items, or `from` + `to` (YYYY-MM-DD, at most about a year apart) for the calendar: decision spans (recorded day → expecta
- `ledger_plan_update`: Edits one plan item while its decision is open: move it (dueOn), rename it, change the owner (null clears), attach the link, or set status (planned | done | ski
- `list_docs`: Enumerate all available docs pages, optionally filtered by product (e.g. 'compass', 'legal', 'overview'). Use this to discover what slugs exist before calling `
- `search_docs`: Search ZeroWidth product documentation. Returns matching pages with title, slug, public URL, and a query-relevant snippet. Use this when the user asks about a Z
- `search_workspace`: Finds anything in the workspace in one call — uploaded files (searching the text inside them), folders, Workbench flows, shims, knowledge bases and tasks, Compa

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
