# io.github.Dave-London/git (npm · @paretools/git)

Structured git operations (status, log, diff, branch, show) as typed JSON.

- Trust score: 80/100 (high trust)
- Change this week: +34
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@paretools/git`: 80/100 (this document), [markdown](https://verifymcp.io/servers/dave-london-git/paretools-git.md), [page](https://verifymcp.io/servers/dave-london-git/paretools-git)

## Channel facts

- Registry: `npm`
- Package: `@paretools/git`
- Version: `0.8.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**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to Dave-London/Pare).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 4 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1444 tokens (~96/item across 15 items; 15 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add dave-london-git -- npx -y @paretools/git
```

### Codex

```bash
codex mcp add dave-london-git -- npx -y @paretools/git
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dave-london-git": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@paretools/git"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dave-london-git --command npx --arg -y --arg @paretools/git
```

### Hermes

```yaml
mcp_servers:
  dave-london-git:
    command: "npx"
    args: ["-y", "@paretools/git"]
```

### Other

```json
{
  "mcpServers": {
    "dave-london-git": {
      "command": "npx",
      "args": [
        "-y",
        "@paretools/git"
      ]
    }
  }
}
```

## 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 80, +1)

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

### 2026-08-02 (score 79, +74)

- [security improvement] Install scripts: unverified → pass
- [security improvement] Provenance: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [security] The attested source repository moved: Dave-London/Pare
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Tool coverage: unverified → 100
- [functional] Licence: MIT

### 2026-08-01 (score 5, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 6, −20)

- [security regression] Malware scan: pass → unverified
- [functional regression] Dependency health: partial → unverified

### 2026-07-30 (score 26, −20)

- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Dependency health: unverified → partial
- [functional] First check of Schema quality: unverified

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

First indexed and scored.

## MCP tools (15)

### `status` (~52 tokens)

Git Status

Returns the working tree status as structured data (branch, staged, modified, untracked, conflicts). Use instead of running `git status` in the terminal.

Input parameters:

- `path` (string): Repository path (default: cwd)

Output parameters:

- `ahead` (number)
- `behind` (number)
- `branch` (string)
- `clean` (boolean)
- `conflicts` (array)
- `deleted` (array)
- `modified` (array)
- `staged` (array)
- `untracked` (array)
- `upstream` (string)

### `log` (~111 tokens)

Git Log

Returns commit history as structured data. Use instead of running `git log` in the terminal.

Input parameters:

- `author` (string): Filter by author name or email
- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `maxCount` (number): Number of commits to return (default: 10)
- `path` (string): Repository path (default: cwd)
- `ref` (string): Branch, tag, or commit to start from

Output parameters:

- `commits` (array)
- `total` (number)

### `diff` (~129 tokens)

Git Diff

Returns file-level diff statistics as structured data. Use full=true for patch content. Use instead of running `git diff` in the terminal.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `file` (string): Limit diff to a specific file
- `full` (boolean): Include full patch content in chunks
- `path` (string): Repository path (default: cwd)
- `ref` (string): Compare against a specific ref (branch, tag, commit)
- `staged` (boolean): Show staged changes (--cached)

Output parameters:

- `files` (array)
- `totalAdditions` (number)
- `totalDeletions` (number)
- `totalFiles` (number)

### `branch` (~106 tokens)

Git Branch

Lists, creates, or deletes branches. Returns structured branch data. Use instead of running `git branch` in the terminal.

Input parameters:

- `all` (boolean): Include remote branches
- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `create` (string): Create a new branch with this name
- `delete` (string): Delete branch with this name
- `path` (string): Repository path (default: cwd)

Output parameters:

- `branches`
- `current` (string)

### `show` (~86 tokens)

Git Show

Shows commit details and diff statistics for a given ref. Use instead of running `git show` in the terminal.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `path` (string): Repository path (default: cwd)
- `ref` (string): Commit hash, branch, or tag (default: HEAD)

Output parameters:

- `author` (string)
- `date` (string)
- `diff` (object)
- `hash` (string)
- `hashShort` (string)
- `message` (string)

### `add` (~81 tokens)

Git Add

Stages files for commit. Returns structured data with count and list of staged files. Use instead of running `git add` in the terminal.

Input parameters:

- `all` (boolean): Stage all changes (git add -A)
- `files` (array): File paths to stage (required unless all is true)
- `path` (string): Repository path (default: cwd)

Output parameters:

- `files` (array)
- `staged` (number)

### `commit` (~72 tokens)

Git Commit

Creates a commit with the given message. Returns structured data with hash, message, and change statistics. Use instead of running `git commit` in the terminal.

Input parameters:

- `amend` (boolean): Amend the previous commit
- `message` (string, required): Commit message
- `path` (string): Repository path (default: cwd)

Output parameters:

- `deletions` (number)
- `filesChanged` (number)
- `hash` (string)
- `hashShort` (string)
- `insertions` (number)
- `message` (string)

### `push` (~108 tokens)

Git Push

Pushes commits to a remote repository. Returns structured data with success status, remote, branch, and summary. Use instead of running `git push` in the terminal.

Input parameters:

- `branch` (string): Branch to push (default: current branch)
- `force` (boolean): Force push (--force)
- `path` (string): Repository path (default: cwd)
- `remote` (string): Remote name (default: "origin")
- `setUpstream` (boolean): Set upstream tracking (-u)

Output parameters:

- `branch` (string)
- `remote` (string)
- `success` (boolean)
- `summary` (string)

### `pull` (~103 tokens)

Git Pull

Pulls changes from a remote repository. Returns structured data with success status, summary, change statistics, and any conflicts. Use instead of running `git pull` in the terminal.

Input parameters:

- `branch` (string): Branch to pull (default: current tracking branch)
- `path` (string): Repository path (default: cwd)
- `rebase` (boolean): Use rebase instead of merge (--rebase)
- `remote` (string): Remote name (default: "origin")

Output parameters:

- `conflicts` (array)
- `deletions` (number)
- `filesChanged` (number)
- `insertions` (number)
- `success` (boolean)
- `summary` (string)

### `checkout` (~85 tokens)

Git Checkout

Switches branches or restores files. Returns structured data with ref, previous ref, and whether a new branch was created. Use instead of running `git checkout` in the terminal.

Input parameters:

- `create` (boolean): Create a new branch (-b)
- `path` (string): Repository path (default: cwd)
- `ref` (string, required): Branch name, tag, or commit to checkout

Output parameters:

- `created` (boolean)
- `previousRef` (string)
- `ref` (string)

### `tag` (~76 tokens)

Git Tag

Lists tags sorted by creation date. Returns structured tag data with name, date, and message. Use instead of running `git tag` in the terminal.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `path` (string): Repository path (default: cwd)

Output parameters:

- `tags`
- `total` (number)

### `stash-list` (~76 tokens)

Git Stash List

Lists all stash entries with index, message, and date. Returns structured stash data. Use instead of running `git stash list` in the terminal.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `path` (string): Repository path (default: cwd)

Output parameters:

- `stashes`
- `total` (number)

### `stash` (~109 tokens)

Git Stash

Pushes, pops, applies, or drops stash entries. Returns structured result with action, success, and message. Use instead of running `git stash` in the terminal.

Input parameters:

- `action` (string, required): Stash action to perform
- `index` (number): Stash index for pop/apply/drop (e.g., 0 for stash@{0})
- `message` (string): Stash message (only used with push action)
- `path` (string): Repository path (default: cwd)

Output parameters:

- `action` (string)
- `message` (string)
- `success` (boolean)

### `remote` (~73 tokens)

Git Remote

Lists remote repositories with fetch and push URLs. Returns structured remote data. Use instead of running `git remote -v` in the terminal.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `path` (string): Repository path (default: cwd)

Output parameters:

- `remotes`
- `total` (number)

### `blame` (~129 tokens)

Git Blame

Shows commit annotations for a file, grouped by commit. Returns structured blame data with deduplicated commit metadata (hash, author, date) and their attributed lines. Use instead of running `git blame` in the terminal.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `endLine` (number): End line number for blame range
- `file` (string, required): File path to blame
- `path` (string): Repository path (default: cwd)
- `startLine` (number): Start line number for blame range

Output parameters:

- `commits`
- `file` (string)
- `totalLines` (number)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/dave-london-git/paretools-git#diagnostics

## Score history

- 2026-08-03: 80
- 2026-08-02: 79
- 2026-08-01: 5
- 2026-07-31: 6
- 2026-07-30: 26
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/@paretools/git
- Socket report: https://socket.dev/npm/package/@paretools/git
- Repository: https://github.com/Dave-London/Pare
- Changelog RSS feed: https://verifymcp.io/servers/dave-london-git/paretools-git/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/dave-london-git/paretools-git/changelog.json
- HTML version of this page: https://verifymcp.io/servers/dave-london-git/paretools-git
