# pare-python

Wraps ruff, mypy, pip, uv, black and pytest so an agent gets schema-checked JSON instead of raw terminal text and never relies on brittle regexes.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 139
- Author: Dave-London
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Dave-London/Pare
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/pare-python

## What it does

pare-python belongs to the Pare family of MCP servers. Each call runs one of your Python tools — ruff, mypy, pip, uv, black or pytest — and answers with two fields: readable `content` plus `structuredContent` that conforms to an `outputSchema`. Field names stay the same, so the agent reads data instead of guessing at strings.

Output also gets smaller. Package installs and test runs collapse to a handful of fields, and the shape survives tool upgrades and locale switches. The server itself ships as the npm package `@paretools/python` and needs Node.js 20 or later; it does not bring ruff or mypy with it, those must already be on the machine.

Pare publishes 28 packages and 240 tools, and its README suggests adding only what your stack uses. On a polyglot repo that is easy to ignore — worth a look at which servers end up in your config before the tool list gets unwieldy.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add pare-python -- npx -y @paretools/python
```

### Codex

**Platform CLI**
```bash
codex mcp add pare-python -- npx -y @paretools/python
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "pare-python": {
            "command": "npx",
            "args": [
                "-y",
                "@paretools/python"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "pare-python": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@paretools/python"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add pare-python npx -y @paretools/python
```

## When to use it
- collect failing pytest cases as JSON rather than console output
- read ruff and mypy diagnostics without writing parsers
- track pip or uv installs without progress bars and ANSI codes
- check black formatting and use the result directly
- get consistent output on macOS and Windows

## Example prompts
- Run pytest and list the failing tests from structuredContent
- Check the project with mypy and group errors by file
- Install dependencies with `uv` and show me what changed

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
