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

Pare Python ג€” Structured Python tool output (ruff, mypy, pip, uv, black, pytest) 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/python`: 80/100 (this document), [markdown](https://verifymcp.io/servers/dave-london-pare-python/paretools-python.md), [page](https://verifymcp.io/servers/dave-london-pare-python/paretools-python)

## Channel facts

- Registry: `npm`
- Package: `@paretools/python`
- Version: `0.8.1`
- 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).
  - Context-footprint check failed: tool/resource definitions use about 1225 tokens (~111/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params.
  - 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-pare-python -- npx -y @paretools/python
```

### Codex

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

### opencode

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

### OpenClaw

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

### Hermes

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

### Other

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

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

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 76, +55)

- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Provenance: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [security] The attested source repository moved: Dave-London/Pare
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: MIT

### 2026-08-01 (score 21, −7)

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

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

- [security regression] Malware scan: pass → unverified

### 2026-07-29 (score 46, +20)

- [functional regression] Dependency health: partial → unverified
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (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 (11)

### `pip-install` (~143 tokens)

pip Install

Runs pip install and returns a structured summary of installed packages. Use instead of running `pip install` in the terminal. WARNING: Installing packages may execute arbitrary setup.py code. Only install trusted packages. Use dryRun to preview what would be installed before committing.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `dryRun` (boolean): Preview what would be installed without actually installing (--dry-run)
- `packages` (array): Packages to install (empty for requirements.txt)
- `path` (string): Working directory (default: cwd)
- `requirements` (string): Path to requirements file

Output parameters:

- `alreadySatisfied` (boolean)
- `installed` (array)
- `success` (boolean)
- `total` (number)

### `pip-list` (~70 tokens)

pip List

Runs pip list and returns a structured list of installed packages. Use instead of running `pip 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): Working directory (default: cwd)

Output parameters:

- `packages` (array)
- `total` (number)

### `pip-show` (~86 tokens)

pip Show

Runs pip show and returns structured package metadata (name, version, summary, dependencies). Use instead of running `pip show` in the terminal.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `package` (string, required): Package name to show
- `path` (string): Working directory (default: cwd)

Output parameters:

- `author` (string)
- `homepage` (string)
- `license` (string)
- `location` (string)
- `name` (string)
- `requires` (array)
- `summary` (string)
- `version` (string)

### `mypy` (~96 tokens)

mypy Type Check

Runs mypy and returns structured type-check diagnostics (file, line, severity, message, code). Use instead of running `mypy` 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): Project root path (default: cwd)
- `targets` (array): Files or directories to check (default: ['.'])

Output parameters:

- `diagnostics` (array)
- `errors` (number)
- `success` (boolean)
- `total` (number)
- `warnings` (number)

### `ruff-check` (~106 tokens)

ruff Lint

Runs ruff check and returns structured lint diagnostics (file, line, code, message). Use instead of running `ruff check` in the terminal.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `fix` (boolean): Auto-fix problems
- `path` (string): Project root path (default: cwd)
- `targets` (array): Files or directories to check (default: ['.'])

Output parameters:

- `diagnostics` (array)
- `fixable` (number)
- `total` (number)

### `ruff-format` (~106 tokens)

ruff Format

Runs ruff format and returns structured results (files changed, file list). Use instead of running `ruff format` in the terminal.

Input parameters:

- `check` (boolean): Check mode (report without modifying files)
- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `path` (string): Project root path (default: cwd)
- `patterns` (array): Files or directories to format (default: ["."])

Output parameters:

- `files` (array)
- `filesChanged` (number)
- `success` (boolean)

### `pip-audit` (~83 tokens)

pip Audit

Runs pip-audit and returns a structured vulnerability report. Use instead of running `pip-audit` 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): Project root path (default: cwd)
- `requirements` (string): Path to requirements file

Output parameters:

- `total` (number)
- `vulnerabilities` (array)

### `pytest` (~136 tokens)

Runs pytest and returns structured test results (passed, failed, errors, skipped, failures). Use instead of running `pytest` in the terminal.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `exitFirst` (boolean): Stop on first failure (-x)
- `markers` (string): Pytest marker expression (e.g. "not slow")
- `path` (string): Project root path (default: cwd)
- `targets` (array): Test files or directories to run (default: auto-discover)
- `verbose` (boolean): Enable verbose output

Output parameters:

- `duration` (number)
- `errors` (number)
- `failed` (number)
- `failures` (array)
- `passed` (number)
- `skipped` (number)
- `success` (boolean)
- `total` (number)

### `uv-install` (~142 tokens)

uv Install

Runs uv pip install and returns a structured summary of installed packages. Use instead of running `uv pip install` in the terminal. WARNING: Installing packages may execute arbitrary setup.py code during build. Only install trusted packages. Use dryRun to preview what would be installed before committing.

Input parameters:

- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `dryRun` (boolean): Preview what would be installed without actually installing (--dry-run)
- `packages` (array): Packages to install
- `path` (string): Working directory (default: cwd)
- `requirements` (string): Path to requirements file

Output parameters:

- `duration` (number)
- `installed` (array)
- `success` (boolean)
- `total` (number)

### `uv-run` (~93 tokens)

uv Run

Runs a command in a uv-managed environment and returns structured output. Use instead of running `uv run` in the terminal.

Input parameters:

- `command` (array, required): Command and arguments to run (e.g. ['python', 'script.py'])
- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `path` (string): Working directory (default: cwd)

Output parameters:

- `duration` (number)
- `exitCode` (number)
- `stderr` (string)
- `stdout` (string)
- `success` (boolean)

### `black` (~106 tokens)

Black Formatter

Runs Black code formatter and returns structured results (files changed, unchanged, would reformat). Use instead of running `black` in the terminal.

Input parameters:

- `check` (boolean): Check mode (report without modifying files)
- `compact` (boolean): Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema.
- `path` (string): Project root path (default: cwd)
- `targets` (array): Files or directories to format (default: ["."])

Output parameters:

- `filesChanged` (number)
- `filesChecked` (number)
- `filesUnchanged` (number)
- `success` (boolean)
- `wouldReformat` (array)

## Diagnostics

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

## Score history

- 2026-08-03: 80
- 2026-08-02: 76
- 2026-08-01: 21
- 2026-07-31: 28
- 2026-07-29: 46
- 2026-07-28: 26
- 2026-07-27: 46

## Links

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