# io.github.raulbr90/changebook (npm · changebook)

Query your product's living memory: module map + analyzed change history. Read-only MCP tools.

- Trust score: 58/100 (low)
- Change this week: +40
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.changebook.app`: 33/100, [markdown](https://verifymcp.io/servers/raulbr90-changebook/mcp.md), [page](https://verifymcp.io/servers/raulbr90-changebook/mcp)
- npm · `changebook`: 58/100 (this document), [markdown](https://verifymcp.io/servers/raulbr90-changebook/changebook.md), [page](https://verifymcp.io/servers/raulbr90-changebook/changebook)

## Channel facts

- Registry: `npm`
- Package: `changebook`
- 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-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 19/100
  - Repository check failed: no source repository is declared.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 3 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1024 tokens (~256/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability check failed: the tool surface changed between 0.4.10 and 0.6.0: 1 tool removals, 0 breaking changes, 0 additions.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 93% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add raulbr90-changebook -- npx -y changebook
```

### Codex

```bash
codex mcp add raulbr90-changebook -- npx -y changebook
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add raulbr90-changebook --command npx --arg -y --arg changebook
```

### Hermes

```yaml
mcp_servers:
  raulbr90-changebook:
    command: "npx"
    args: ["-y", "changebook"]
```

### Other

```json
{
  "mcpServers": {
    "raulbr90-changebook": {
      "command": "npx",
      "args": [
        "-y",
        "changebook"
      ]
    }
  }
}
```

## 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-08-03 (score 58, +1)

No change was recorded against any check on this day. Stability & Change Management went from 0 to 3.

### 2026-08-02 (score 57, +22)

- [security regression] Stability: fail → unverified
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional improvement] Dependency health: unverified → partial

### 2026-08-01 (score 35, −10)

- [security regression] Known CVEs: partial → unverified
- [functional regression] Dependency health: partial → unverified

### 2026-07-31 (score 45, −7)

- [security regression] Known CVEs: partial → unverified
- [security regression] Provenance: fail → unverified
- [security regression] Install scripts: pass → unverified
- [functional regression] License: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Dependency health: partial → unverified
- [functional regression] Maintenance: pass → unverified
- [functional] Licence: MIT
- [functional] Package version: 0.4.10 → 0.6.0
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 52, +52)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Maintenance: unverified → pass
- [functional] Licence: MIT

### 2026-07-28 (score 0, −18)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Package version: 0.4.9 → 0.4.10

### 2026-07-27 (score 18)

First indexed and scored.

## MCP tools (4)

### `atlas_recent_changes` (~283 tokens)

Recent ChangeBook changes

List the most recent analyzed code changes from the ChangeBook changelog (newest first).

Each entry has a business-level impact summary, an optional technical summary, and the modules it touched. Use this to catch up on what changed in the product without re-reading the codebase.

Args:
  \- limit (1-50, default 10): entries to return.
  \- offset (default 0): pagination offset.
  \- search (optional): case-insensitive text filter over the business and technical summaries.
  \- project (recommended): the repo you are working in (folder name or slug). The atlas is per-project — always scope to your own project.

Returns (structured): { count, offset, has_more, changes: [{ id, date, commit, business_impact, diff_chars, files, files_more, modules: [{ module, risk }] }] }. files is a capped union (files_more = paths cut). Pass include_tech for summary_tech.

Don't use for per-module deep dives — use atlas_module_detail for that.

Input parameters:

- `include_tech` (boolean)
- `limit` (integer): Entries to return (1-50)
- `offset` (integer): Pagination offset
- `project` (string, required): Project to scope to (repo folder name or slug)
- `search` (string): Case-insensitive filter over summaries

### `atlas_modules` (~166 tokens)

ChangeBook module map

List the modules of the product as known by ChangeBook, aggregated from the change history.

For each module: domain, latest risk level, number of analyzed changes and last-change date. Files, notes and diffs live in atlas_module_detail — this is the map, not the terrain.

Args:
  \- domain (optional): filter by domain (e.g. "billing").
  \- project (recommended): the repo you are working in (folder name or slug). The atlas is per-project — always scope to your own project.

Returns (structured): { count, modules: [{ module, domain, risk, changes, last_changed }] }

Input parameters:

- `domain` (string): Only modules in this domain
- `project` (string, required): Project to scope to (repo folder name or slug)

### `atlas_module_detail` (~318 tokens)

ChangeBook module detail

Get the change history of one module: what changed, why it matters, the files touched and (when available) a verbatim excerpt of each diff.

This is the token-saving alternative to re-reading a module's source: it gives an agent the recent evolution and risk picture in one call.

Args:
  \- module (required): exact module name as returned by atlas_modules.
  \- limit (1-20, default 5): number of recent changes to include.
  \- include_excerpts (default true): include diff excerpts (short previews unless full is set).
  \- full (default false): return the diff excerpts verbatim instead of the token-saving previews. Only pass it when you actually need the code lines.
  \- project (recommended): the repo you are working in (folder name or slug). The atlas is per-project — always scope to your own project.

Returns (structured): { module, count, changes: [{ date, commit, risk, note, tech, files, business_impact, excerpt, excerpt_truncated }] }. Notes describe the code AS OF their commit/date — verify current values in the code before asserting them.

Input parameters:

- `full` (boolean): Verbatim excerpts instead of short previews
- `include_excerpts` (boolean): Include diff excerpts (previews unless full)
- `limit` (integer): Recent changes to include (1-20)
- `module` (string, required): Exact module name (see atlas_modules)
- `project` (string, required): Project to scope to (repo folder name or slug)

### `atlas_file_context` (~257 tokens)

Context of the files you are about to edit

Everything the atlas knows about specific FILES: which module each belongs to, its risk, open regression alerts on those modules, how often they changed recently, the recent commits that touched each file (cite these instead of running git log), and the CURRENT value of watched config constants (with the commit it comes from — no need to re-read the file for those).

Call this BEFORE editing a file — one cheap call instead of re-reading the code and its git history.

Args:
  \- files (required): 1-8 repo-relative paths.
  \- project (recommended): the repo you are working in (folder name or slug). The atlas is per-project — always scope to your own project.

Returns (structured): { files: [{ file, modules: [{ module, risk, changes, last_changed, last_note }], open_alerts, recidivism: [{ module, prior_regressions }], recent_commits: [{ commit, commit_aliases, date }], recent_commits_more, watched_values: [{ name, value, commit }] }] }

Input parameters:

- `files` (array, required): Repo-relative paths you are about to edit
- `project` (string, required): Project to scope to (repo folder name or slug)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/raulbr90-changebook/changebook#diagnostics

## Score history

- 2026-08-03: 58
- 2026-08-02: 57
- 2026-08-01: 35
- 2026-07-31: 45
- 2026-07-30: 52
- 2026-07-29: 52
- 2026-07-28: 0
- 2026-07-27: 18

## Links

- npm package: https://www.npmjs.com/package/changebook
- Socket report: https://socket.dev/npm/package/changebook
- Website: https://changebook.dev/
- Changelog RSS feed: https://verifymcp.io/servers/raulbr90-changebook/changebook/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/raulbr90-changebook/changebook/changelog.json
- HTML version of this page: https://verifymcp.io/servers/raulbr90-changebook/changebook
